Telegram-бот на 4 300 строк Python-кода, который ведёт несколько редакционных каналов, написан человеком, не знающим синтаксиса языка. Автор материала на Habr описывает, как автоматизировал рутину после того, как в редакции освободилась ставка контент-менеджера: тот тратил 15–20 минут на каждый из 8–10 ежедневных постов.
Вайбкодинг — неформальный термин для подхода, при котором разработку ведёт ИИ-ассистент, а человек формулирует задачи на естественном языке и проверяет результат. Инструмент в данном случае — Claude Code, терминальный агент Anthropic, который умеет подключаться к удалённым серверам по SSH, читать и редактировать файлы, запускать команды и проверять логи. Пользователь описывает желаемое поведение, агент пишет и деплоит код.
Первая рабочая версия бота появилась в день старта: Claude Code самостоятельно установил Python, библиотеку aiogram, создал виртуальное окружение и настроил структуру проекта на VPS Hetzner за 5 евро в месяц. Бот принимал ссылку на статью, генерировал пост и публиковал его в канал. Проблема обнаружилась сразу: стиль был «безликим», хотя тот же Claude в обычном чате справлялся с задачей отлично.
Ключевая проблема: через API модель выдаёт «нейтральный» текст без системного промпта, который есть в обычном чате.
Причина расхождения — системный промпт. В веб-интерфейсе чата у модели есть встроенный набор инструкций, задающий тон ответов. Запрос через API уходит без контекста, и модель отвечает максимально нейтрально. Словесные директивы в промпте («пиши коротко и дерзко») не давали нужного результата: формально требования выполнялись, фактический тон оставался чужим.
Решением стал few-shot подход — техника, при которой модели показывают конкретные примеры желаемого вывода вместо абстрактных правил. Автор собрал десяток эталонных постов и добавил их в контекст. Из десяти генераций стали устраивать пять-шесть. Тогда в бот встроили кнопку «⭐ Сохранить как пример стиля»: удачные посты автоматически пополняли обучающую выборку. Со временем доля приемлемых результатов выросла настолько, что кнопку перестали нажимать.
Системный промпт в итоге превратился в чеклист конкретных запретов: первое слово поста — не имя источника и не «Аналитики»; нет журналистских ярлыков «Контекст:» и «Последствия:»; нет ссылок на источники; длина — максимум два абзаца. Каждый пункт — след конкретной ошибки.
Отдельная история — стабильность. Поначалу бот работал только пока был открыт ноутбук: код запускался локально, а не на сервере. Claude Code перенёс его на VPS и настроил автозапуск: при перезагрузке сервера бот стартует сам, при падении поднимается через 5 секунд.
Но и после этого агент периодически «косячил»: деплоил сломанную версию и рапортовал «готово», предлагал фикс для кода, которого на сервере уже не было, при добавлении новой кнопки переписывал обработчик ошибок под устаревшую версию библиотеки. Каждый инцидент превращался в новое правило в отдельном файле, который Claude Code читает в начале каждой сессии.
Главные правила из этого файла: сначала прочитать все файлы и логи, потом предлагать решение; читать файлы с сервера, а не локальные копии; не трогать работающий код, если об этом не просили; проверять логи после каждого изменения до того, как сообщать об успехе. Подход напоминает онбординг нового сотрудника: правила не очевидны заранее, но каждое из них стоило нескольких часов отладки.
Опыт показывает практический потолок вайбкодинга в его нынешнем виде: ИИ-агент справляется с написанием и деплоем кода, но не моделирует последствия изменений на уровне всей системы. Контроль остаётся за человеком — просто этот человек больше не обязан знать Python.



