Telegram-бот на Go с реальными пользователями стал полигоном для проверки идеи: можно ли заменить хаотичный vibe-coding структурированным агентным пайплайном. Автор потратил несколько месяцев на отладку подхода и описал архитектуру, которая воспроизводит процессы живой IT-команды — с планированием, декомпозицией, код-ревью и деплоем через dev в prod.
В центре системы — Claude Code, запущенный на VPS. Это принципиальное решение: длинные задачи выполняются в фоне, не зависят от состояния ноутбука и позволяют управлять процессом хоть с телефона по SSH. Вокруг него — три саб-агента с жёстко разграниченными зонами ответственности. Product-агент превращает размытую формулировку в продуктовые требования: задаёт уточняющие вопросы, режет фичу на подзадачи и создаёт тикеты в GitHub — кода не пишет. Backend-агент работает только в репозитории приложения: Go, Telegram webhook, бизнес-логика, MongoDB. DevOps-агент занимается Kubernetes и конфигами, не касаясь бизнес-логики.
| Саб-агент | Зона ответственности | Что не делает |
|---|---|---|
| product | Продуктовые требования, декомпозиция, создание тикетов в GitHub | Не пишет код |
| backend | Go-код, Telegram webhook, бизнес-логика, MongoDB | Не трогает инфраструктуру |
| devops | Kubernetes, конфиги, секреты | Не касается бизнес-логики |
Ключевой приём против деградации на сложных задачах — каскадная передача контекста. В product-агента заходит полный системный промпт, на выходе он создаёт GitHub-issue с самодостаточной постановкой задачи. Именно этот тикет — а не вся история чата — уходит в backend или devops. Контекст не засоряется, агенты не тратят токены на разбор нерелевантной переписки. Каждая issue содержит ссылку на родительский эпик, метку исполнителя и готовый промпт с указанием файлов, маршрута PR и способа тестирования.
Контекст передаётся «водопадом»: каждый агент получает только свою задачу, а не всю историю чата — это предотвращает деградацию на длинных задачах.
Доступ к реальной инфраструктуре обеспечивают семь MCP-серверов. GitHub позволяет агенту открывать и закрывать issue, создавать pull request'ы и управлять доской. Kubernetes-сервер даёт возможность смотреть поды, читать логи и проверять статус деплоя. MongoDB-сервер позволяет заглядывать в базу напрямую запросом. Serena обеспечивает навигацию по коду через синтаксическое дерево — не grep, а точный поиск всех вызовов конкретной функции. Sequential Thinking заставляет агента «подумать вслух» перед действием, прогоняя промпт через несколько итераций рассуждения и расширяя его на edge-кейсы. Context7 подтягивает актуальную документацию по библиотекам — агент не угадывает сигнатуры, а сверяется с реальными доками.
Автор особо подчёркивает: универсальных агентов не существует. Попытка сделать одного «умного агента на всё» заканчивается раздутым контекстом и посредственным результатом. Под каждый проект собирается отдельная связка: команда-точка входа (в данном случае /f) инжектит в системный промпт имя базы, namespace в Kubernetes, структуру репозиториев и список доступных саб-агентов. Агент сразу оказывается в нужном контексте, не тратя токены на ориентацию.
Контроль над процессом сохраняется через обязательное ревью: агент открывает PR в dev-ветку и останавливается. Без одобрения человека мержа не происходит. Это единственный ручной этап в пайплайне — и намеренный. Хранение задач в GitHub Projects даёт дополнительный бонус: историю выполненных задач, возможность строить отчёты и возобновлять работу после прерывания без потери контекста.


