Telegram-бот на Go с реальными пользователями стал полигоном для проверки идеи: можно ли заменить хаотичный vibe-coding структурированным агентным пайплайном. Автор потратил несколько месяцев на отладку подхода и описал архитектуру, которая воспроизводит процессы живой IT-команды — с планированием, декомпозицией, код-ревью и деплоем через dev в prod.

В центре системы — Claude Code, запущенный на VPS. Это принципиальное решение: длинные задачи выполняются в фоне, не зависят от состояния ноутбука и позволяют управлять процессом хоть с телефона по SSH. Вокруг него — три саб-агента с жёстко разграниченными зонами ответственности. Product-агент превращает размытую формулировку в продуктовые требования: задаёт уточняющие вопросы, режет фичу на подзадачи и создаёт тикеты в GitHub — кода не пишет. Backend-агент работает только в репозитории приложения: Go, Telegram webhook, бизнес-логика, MongoDB. DevOps-агент занимается Kubernetes и конфигами, не касаясь бизнес-логики.

Саб-агентЗона ответственностиЧто не делает
productПродуктовые требования, декомпозиция, создание тикетов в GitHubНе пишет код
backendGo-код, Telegram webhook, бизнес-логика, MongoDBНе трогает инфраструктуру
devopsKubernetes, конфиги, секретыНе касается бизнес-логики

Ключевой приём против деградации на сложных задачах — каскадная передача контекста. В 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 даёт дополнительный бонус: историю выполненных задач, возможность строить отчёты и возобновлять работу после прерывания без потери контекста.