AI Engineering Operations · прямо в Telegram

Автономный AI-инженер
в вашем Telegram

Пишешь задачу в чат — он сам собирает контекст из переписки, Яндекс.Трекера и wiki, правит код на изолированной VPS, гоняет его на стенде и открывает Merge Request. Ревьюит каждый MR команды, проводит релиз по одному «да» и рассылает анонс. Без тикетов и переключения контекста.

задача: почини баг вопрос: как считается MV тз: собери требования пинг: @коллега, тикет релиз: api.bo прогон: api.bo!1373
Режимы

Шесть слов — шесть режимов работы

Одно слово в начале сообщения выбирает режим. Роли — в админке: разработчики ведут задачи, ТЗ, релизы и прогоны; остальные участники задают вопросы и пинги (см. кто и что может).

задача:

Правит код и открывает Merge Request — клонирует репозиторий, разбирается, делает ветку.

вопрос:

Отвечает по коду и домену. Wiki-first — отвечает из wiki без запуска ранера, когда её хватает.

тз:

Агент-интервьюер: уточняет размытую задачу диалогом и заводит готовую задачу в Яндекс.Трекере.

пинг:

Агент-погонщик: дожимает ответственного — напоминает, помогает и сам понимает, когда дело реально сделано.

релиз:

Релиз-менеджер: собирает план (дифф dev→main, MR, версия, риски, черновик анонса) и ждёт твоё «да». Потом сам мержит, запускает выкатку, постит анонс в чаты и шлёт письмо. «Отмена» — ничего не трогает.

прогон:

Полный прогон MR на тестовом стенде: поднимает окружение из веток MR, проверяет затронутые ручки бека и экраны фронта, честно пишет что проверено, что упало и что не удалось. Ничего не меняет и не мержит.

Реакцией — тоже можно, и это уже работает: поставь на сообщение 🤖 — агент возьмёт его в задачу, ❓ — ответит на вопрос. Без слов-триггеров. Ответ реплаем на сообщение агента попадает ровно в ту задачу — можно вести несколько параллельно, каждая помечена тегом [#id].

Без команды

Каждый MR команды получает ревью

Это уже не по триггеру: бот сам находит новые и обновлённые MR во всех репозиториях группы и ревьюит их от отдельного GitLab-пользователя review-bot.

Треды прямо в MR

Замечания — inline-тредами к строкам с тегом серьёзности (blocker / major / minor / nit) и одним summary-комментарием. Повторный пуш — повторное ревью без дублей.

Вердикт в Telegram

Итог каждого ревью — в отдельный топик группы: ссылка на MR, вердикт «можно мержить / после правок / нельзя» и суть замечаний. Это мнение бота, решение — за человеком.

Прогон одним реплаем

Ответь на итог ревью командой прогон: — агент поднимет стенд из веток этого MR и проверит ручки бека и экраны фронта. Или явно: прогон: api.bo!1373.

Контекст

Знает, как у вас устроено

Перед задачей, вопросом, ТЗ или релизом агент собирает релевантный контекст из переписки, Трекера и wiki, а в самом run'е читает код, MR и пайплайны GitLab.

Telegram

Переписка рабочих чатов через TCE — что обсуждали и как решали похожее раньше.

Яндекс.Трекер

Тикеты: описание, комментарии, связанные задачи и ссылки на MR.

Wiki

Доменные знания FO-BO через Wiki-MCP — термины, методики, архитектура.

Как работает

От сообщения до Merge Request — автономно

Сообщение → SGR-триаж → сбор досье → выбор репозитория → ранер на изолированной VPS → MR в self-hosted GitLab.

1
Сообщение
Триггер в рабочем чате: задача / вопрос / тз / пинг.
2
SGR-триаж
LLM решает: это задача? какой режим и срочность?
3
Досье
Параллельно тянет контекст из Telegram, Трекера и wiki.
4
Routing
Выбирает репозиторий по алиасу — «бекенд», «фронт».
5
Ранер + стенд
claude-cli в изолированном клоне правит код и гоняет его на тестовом стенде.
6
Merge Request
Открывает MR в self-hosted GitLab. Мерж — за человеком.

Анонс «взял в работу», уточняющие вопросы и ссылку на готовый MR агент шлёт в чат сам. Релиз идёт короче: план → твоё «да» → мерж dev→main → выкатка → анонс в чаты и письмо → отчёт.

Примеры

Просто напиши — вот так

Одним сообщением в рабочий чат — без форм и тикетов.

задача:

  • задача: на беке добавь эндпоинт экспорта сделок в CSV
  • задача: фронт — в форме /future поиск по длинному названию
Как лучше ставить задачу
  • Укажи репозиторий — где правка: «бек» / «фронт» (или конкретный репо). Агент не угадывает сам; авто-определение планируется, но пока его нет.
  • Больше контекста — лучше. Можно дать номер задачи в Яндекс.Трекере (напр. BOSFO-2122).
  • Вложения. К задаче можно приложить фото, голосовые и документы (до 10 МБ) — агент их получит и учтёт.
  • Ограничения. Одновременно работают максимум 2 ранера (остальные задачи ждут в очереди); до 2 уточняющих вопросов, дальше — эскалация.

вопрос:

  • вопрос: как считается MV фьючерса?
  • вопрос: где в коде расчёт начисленных дивидендов?

тз:

  • тз: нужен отчёт по позициям клиента
  • тз: автозагрузка котировок с биржи

пинг:

  • пинг: @коллега BOSFO-2122
  • пинг: @ответственный посмотри MR, висит 3 дня

релиз:

  • релиз: api.bo
  • релиз: фронт и на тех
Как проходит релиз
  • План первым. Агент постит дифф dev→main, список MR, версию и черновик анонса — ничего не мержит, пока не ответишь реплаем да. отмена — закрывает без действий.
  • Тех-домен только по слову. По умолчанию выкатка на ру; «да, и тех» — оба домена.
  • Анонс и письмо. После выкатки — сообщение в чаты поддержки и разработки, письмо о релизе на почту, отчёт в топик.

прогон:

  • прогон: api.bo!1373 только бек
  • реплаем на итог ревью — прогон:
Доступ

Кто и что может

Агент реагирует только на участников из списка и только в подключённых чатах. Роль задаёт набор команд; всё остальное агент молча пропускает.

разработчик — полный цикл: задачи и MR, ТЗ, релизы, прогоныучастник — вопросы и пинги: ответы по коду и домену, дожим ответственных
УчастникРольКомандыGitLab (assignee MR)
Святослав Суровенковразработчик
задача:вопрос:тз:пинг:релиз:прогон:🤖 / ❓
@s.surovenkov
Пётр Черновразработчик
задача:вопрос:тз:пинг:релиз:прогон:🤖 / ❓
@petr.chernov
Глеб Шульдяковразработчик
задача:вопрос:тз:пинг:релиз:прогон:🤖 / ❓
@gleb.shuldyakov
Дарьяразработчик
задача:вопрос:тз:пинг:релиз:прогон:🤖 / ❓
@daria.zueva
Артёмразработчик
задача:вопрос:тз:пинг:релиз:прогон:🤖 / ❓
—
Артуручастник
вопрос:пинг:❓задача:тз:релиз:прогон:
—
Валяучастник
вопрос:пинг:❓задача:тз:релиз:прогон:
—
Игорьучастник
вопрос:пинг:❓задача:тз:релиз:прогон:
—
Ромаучастник
вопрос:пинг:❓задача:тз:релиз:прогон:
—
Русланучастник
вопрос:пинг:❓задача:тз:релиз:прогон:
—
Юляучастник
вопрос:пинг:❓задача:тз:релиз:прогон:
—

Реплай на сообщение агента и подтверждение релиза («да» / «отмена») работают у всех разработчиков. Список ведётся в админке и актуален на 4 сентября 2026 — добавить человека или поменять роль можно без деплоя.

Под капотом

Система, а не один промпт

На чём построен агент.

Ядро
Python 3.12FastAPIHexagonal + DDDSQLAlchemy asyncPydantic v2ARQ
ИИ
OpenRouter SGR · json_schemaclaude-cli · Anthropic MaxCode Review BotLangfuse трейсы
Интеграции · MCP
Telegram (TCE)Яндекс.ТрекерWiki-MCPGitLab · на ранереGitLab REST · read-only дискавери MRскиллы команды · claude-bo-tools
Инфра
DockerPostgresRedisself-hosted GitLab CIизолированная VPSтестовый стенд bo-e2e-harnessGrafana · алерты