РАЗБОР· 2 мин чтения

Автономный GitHub-бот, который знает, когда не вмешиваться

Рецепт GitHub-агента из кукбука встраивает триаж, ревью пул-реквестов и автоматические багфиксы в GitHub Actions на связке OpenCode и Muse Spark. Но самое ценное, что оттуда стоит забрать, — это ограничители.

#github-actions#automation#agents#code-review

Что умеет бот

Рецепт собирает автономного бота на GitHub Actions с четырьмя задачами: триаж issues, ревью пул-реквестов, детект «AI-слопа» и пул-реквесты с багфиксами. Работает всё это на OpenCode с Muse Spark в роли модели — благодаря тому, что Model API без доработок совместим с существующими агентными CLI. И главное: всё крутится в Actions вашего собственного репозитория, а не на чужой инфраструктуре.

Сдержанность как требование к дизайну

От наивного проекта «прикрутим LLM к вебхукам» этот рецепт отличает то, сколько внимания в нём уделено бездействию. У ревью-агента есть явный список «это НЕ слоп» — критерии изменений, которые он не имеет права помечать, чтобы не поднимать ложную тревогу на легитимных паттернах. Триаж никогда не закрывает issues — это остаётся решением человека. Багфикс-агент не откроет PR, пока не воспроизведёт баг. Формулировка Meta предельно жёсткая: срабатывание без повода — это отказ системы, а не мелкая шероховатость.

Есть и дисциплина цитирования: функция вопросов и ответов обязана отвечать только по файлам репозитория, сопровождать каждое утверждение ссылкой на файл и раздел и отказываться отвечать, если ответа в репозитории нет. Для бота, который говорит от имени вашего проекта в публичных тредах, «с пруфами или молча» — единственная оправданная политика.

AGENTS.md: один файл, чтобы править всеми

Каждый агент из рецепта автоматически подгружает общий AGENTS.md, где лежит контекст репозитория — чтобы агенты не гадали о принятых конвенциях — и правила безопасности, которые наследуют все. Meta называет его самым важным файлом для адаптации под собственный проект: поставляемая версия — это разобранный пример для стека Python/pytest/uv, который предполагается переписать под себя, сохранив раздел SECURITY дословно.

Разворачивайте поэтапно: право на запись надо заслужить

Рекомендации по развёртыванию — это лестница доверия из четырёх ступеней. Первая: ревью PR и триаж в режиме «только чтение» — проверяете качество на реальном трафике с нулевым радиусом поражения. Вторая: явные команды /oc, чтобы мейнтейнеры вызывали агента осознанно. Третья: автоматические багфиксы, включаемые меткой. Четвёртая: укрепление — защита веток, CODEOWNERS, обязательные проверки CI. Право на запись зарабатывается послужным списком и никогда не выдаётся в первый день. Это та же философия, что и в собственной истории Muse Code про аудируемость: автономия расширяется ровно с той скоростью, с какой расширяется верификация.

Как Meta это проверяла

Деталь, которую стоит скопировать: рецепт валидировали, прогоняя настоящих агентов в headless-режиме по заскриптованным сценариям issues и PR — промпт из Action воспроизводили с подставным gh в PATH, так что ни один запуск не касался живого репозитория, — а затем читали, что агенты выдали. Тестируйте своего бота так же, как любую недоверенную автоматизацию: в банке, до того как она встретится с продакшеном. Готовый к запуску рецепт лежит в кукбуке в разделе use cases.

Читать дальше