Кейс · 08 мая 2026 · вайбкодинг

Почему хороший деплой скучный. И как мы за день вывели клиентского бота на боевой сервер

За день вывели клиентского Telegram-бота на боевой VPS. 8 шагов pipeline, 70 тестов, изолированные модули. И почему «скучно» это качество.

06 мая мне на счёт упал аванс. Клиент-поставщик электроники из Удмуртии официально стартовал Этап 1. 07 мая бот уже стоял на VPS (это арендованный компьютер в дата-центре, всегда включён, на нём и крутятся боты) и обрабатывал реальные сообщения. Между этими двумя датами не случилось ни одного аврала и ни одной ночной правки в духе «о чёрт, не работает». Инфраструктуру мы собрали до аванса, и это вся причина.

Хронология Что произошло за 5 дней

04 мая мы прогнали smoke-тест на тестовом боте (быстрая проверка, что сборка вообще запускается и проходит насквозь). Whitelist пропустил нужные telegram-id, PII-маскер вычистил телефоны и адреса, LLM-классификация разложила входящие сообщения по категориям, запись в Google Sheets легла куда нужно. За два дня до денег весь pipeline (цепочка обработки сообщения от входа до записи в таблицу) уже отработал на реальных паттернах из переписок клиента.

06 мая на счёт пришёл аванс 75 000 ₽. Работа к этому дню была сделана. Аванс просто дал формальное разрешение поставить готовое решение на боевой сервер.

07 мая клиентский бот развёрнут на VPS Ubuntu 24.04 через Docker Compose. IP, ключи и переменные окружения зафиксированы в .secrets/vps.md. От клиента не потребовалось ничего: ни админ-доступов, ни вечернего созвона «давайте поправим».

Архитектура Pipeline из 8 явных шагов с точками расширения

Чаще всего в малом бизнесе бот вырастает в монолитный message_handler, куда постепенно дописывают всё подряд, и через пару месяцев такой файл боятся открывать: одна правка тянет за собой три неожиданных поломки. У нас pipeline устроен иначе. Каждый шаг — отдельная функция с понятным входом и выходом, а между шагами оставлены явные «точки расширения», куда позже можно встроить новый модуль.

  • Шаг 1. whitelist: пропускаем только знакомые telegram-id
  • Шаг 2. pii_masker: вырезаем телефоны, адреса, ФИО до отправки в LLM
  • Шаг 3. extract: забираем сущности (даты, суммы, артикулы)
  • Шаг 4. classify: раскладываем сообщение по бизнес-категориям
  • Шаг 4.5. ocr: для скриншотов из WeChat (добавили на следующий день, об этом ниже)
  • Шаг 5. route: отправляем в нужный лист Google Sheets
  • Шаг 6. notify: уведомление команде если есть риск или срочная задача
  • Шаг 7. log: запись для аудита и метрик качества

70 тестов покрывают каждый слой по отдельности. У каждого куска свой файл: tests/test_pii_masker.py, tests/test_classify.py, tests/test_route.py. Когда падает шаг, по красному тесту сразу видно какой, и в логи лезть не приходится.

Главная мысль Скучный деплой это когда «доделать чуть-чуть» уже произошло

Проекты малого бизнеса редко ломаются на старте. Они вязнут на фразе «надо доделать ещё чуть-чуть и можно показывать». Эта фаза «уже почти готово» умеет тянуться неделями, выматывает клиента и съедает репутацию подрядчика.

У нас smoke-тест прошёл за два дня до денег, каждый шаг pipeline проверен изолированно, а от git pull до рабочего бота на VPS — одна команда docker-compose up -d. Никакого ручного допиливания на сервере по ночам. Вот эта будничность и есть продакшен-качество: проект запущен в боевую работу и им реально пользуются.

Бонус через 48 часов Когда архитектура превращается в бизнес-возможности

Через два дня после деплоя клиент написал: «Давайте сразу делаем OCR плюс голосовые, их у нас много». OCR (распознавание текста на картинке) понадобился вот зачем: команда работает с китайскими поставщиками, скриншоты прайсов из WeChat и голосовые приходят ежедневно, и ждать 4-6 недель до Этапа 3 им не хотелось.

Технически справились в тот же день. src/ocr/vision.py через Google Cloud Vision встал в шаг 4.5. Распознавание голосовых через Whisper я завёл отдельным модулем, который слушает handle_voice. Ни одной старой функции трогать не пришлось. Команда docker-compose build --no-cache, и всё уже на проде.

Юридически оформили это как досрочный старт Этапа 3 через уведомление сторон по п.5.7 договора, выставили счёт № 003 на остаток Этапа 1 + аванс Этапа 3. Клиент получил фичу быстрее. Я получил подписанный документ и лишнее подтверждение: архитектура из изолированных модулей нужна ради денег, обеим сторонам, и красивая схема тут вторична.

Применить у себя Чек-лист «как сделать деплой скучным»

  • 1. Pipeline разбит на шаги с явными именами (whitelist / mask / classify / route / log), вместо одного разросшегося process_message()
  • 2. Каждый шаг покрыт тестами на реальных сценариях клиента (не на синтетике)
  • 3. Smoke-тест прошёл на тестовом окружении ДО получения аванса
  • 4. Деплой это одна команда, без ручных шагов «зайти на сервер, поправить .env»
  • 5. Между шагами заложены точки расширения, чтобы новый модуль (OCR, Whisper, любой плагин) встал без переписывания
  • 6. Секреты (ключи, IP, пароли) лежат в .secrets/ вне git, не в коде и не в memory

Если выполнено хотя бы 4 пункта из 6, деплой будет скучным. И клиент это оценит сильнее, чем любую красивую презентацию.

Хочется, чтобы ваш деплой тоже был скучным?

Разбираю задачу под ваш бизнес: какие модули нужны, как разрезать pipeline, где взять тестовые данные, на чём собирать продакшен. Бесплатный созвон 30 минут, диагностика и план.

Записаться на разбор →

Или напишите напрямую: @kulievvb в Telegram

Связанные ссылки Что ещё почитать

Владимир Кулиев

Об авторе

Меня зовут Владимир Кулиев. Сначала я занялся вайбкодингом сам: собрал себе сайты, ботов и автоматизацию. Теперь делаю такое же для клиентов.

  • 13 лет веду свою кайт-школу, 2000+ клиентов
  • Собрал публикатор для нескольких площадок и Telegram-бота с метками для рекламы
  • Настраиваю Яндекс Директ и Яндекс Бизнес
  • Строю SEO-систему для собственного сайта

Что собрал

Все кейсы

Клиентов показываю без названий.

Какой продукт вам нужен

Выберите свою ситуацию, покажу, что подходит и сколько стоит.

Начните с доступа

Гайд про регистрацию и оплату Claude из России: текст со скриншотами, что делать, если не проходит карта.

Схематично: вопрос про доступ и ответ из гайда

Группа, один на один или установка

Вы собираете своё, я рядом: в Zoom с группой или лично.

Схематично: встреча в Zoom

Сделаю за вас

Разработка и ведение под ваш процесс. Типовые сайты и боты лежат в услугах.

Схематично: выбор задачи

Помочь выбрать продукт

Сделать самому

Гайды, уроки и шаблоны без живой поддержки, в своём темпе.

  • Гайд «Старт с Claude»

    Регистрация в Claude из России: номер, почта, оплата и защита от бана.

    Что внутри

    • 15 глав текстом, около 3,5 часа
    • VPN, оплата картами и USDT
    • Модели, проекты, артефакты
    990 ₽ разово
  • Гайд «Claude Code глубже»

    Sub-агенты, hooks и MCP-серверы. 10 глав, доступ навсегда.

    Что внутри

    • 10 глав, около 6-7 часов
    • MCP-серверы, скиллы, Computer Use
    • Cron и бенчмарк моделей
    990 ₽ разово
  • Семь уроков по вайбкодингу

    Лендинг, Telegram-бот и парсер данных на Claude Code. Без поддержки.

    Что внутри

    • Около 4 часов
    • Установка, промпты, отладка
    • Безопасность и секреты
    1 490 ₽ разово
  • 12 готовых шаблонов

    Заготовки для Claude Code, MCP и n8n, чтобы не собирать с нуля.

    Что внутри

    • CLAUDE.md и промпт-паки
    • Конфиги MCP и сценарии n8n
    • Обновления без подписки
    4 990 ₽ разово

Работать со мной

Практикум и менторство я веду сам. Группа идёт неделю, менторство один месяц.

  • Практикум на неделю

    Группа 8-10 человек в Zoom, 7 встреч по 2 часа. За неделю собираете бота, сайт и таблицу-CRM на своём сервере.

    Что внутри

    • Лендинг, Telegram-бот, Google Sheets
    • Деплой на сервер и безопасность
    • Записи встреч остаются у вас
    15 000 ₽
  • Менторство один на один

    Четыре встречи по 2 часа за месяц на вашем проекте, всего 8 часов. Беру двух человек одновременно.

    Что внутри

    • Бриф и разбор вашего стека
    • Личный чат в Telegram
    • Запись каждой встречи
    72 000 ₽ за месяц

Разработка под заказ

Если делать самому некогда, я собираю и веду систему за вас.

  • Кастомная разработка

    CRM, платежи и связка систем под ваш процесс. Стандартные боты и ИИ-агентов беру как услугу.

    Что внутри

    • Бриф и разбор задачи до договора
    • Договор, оплата этапами 50% и 50%
    • 4 недели сопровождения после сдачи
    Цена по согласованию
  • Абонемент на ведение

    Помесячное ведение собранной системы: правки, новые сценарии, отчёт.

    Что внутри

    • Три тарифа: 20 000, 35 000 и 60 000 ₽ в месяц
    • Реакция в течение рабочего дня
    • Договор помесячный
    от 20 000 ₽ в месяц

Остались вопросы по новости?

Напишите мне в Telegram: подскажу, с чего начать. Или оставьте заявку, я отвечу сам.

Claude CodeChatGPTAntigravityVS CodeGeminiCodexGigaChatYandexGPT
Хватайте и бросайте

Или оставьте контакты, я свяжусь

Напишите, что хотите разобрать или настроить.

Данные нужны только для ответа вам

Форма работает с включённым JavaScript. Напишите мне в Telegram или позвоните +7 909 457‑10‑62.