Как настроить Symphony Agent для самостоятельного решения проблем в GitHub
May 9, 2026
0
Computing/SoftwareComments (0)
Log in to leave a comment
No posts yet
Log in to leave a comment
No posts yet
Чтобы заставить агента напрямую обрабатывать тикеты в трекере задач, первым делом нужно закинуть файл WORKFLOW.md в корень проекта. Symphony отслеживает изменения статусов на доске управления проектом и выделяет изолированные рабочие пространства. Когда внутренняя команда OpenAI внедрила этот метод, количество окончательно принятых пул-реквестов подскочило на 500% всего за три недели. Цифра кажется завышенной, но это означает лишь то, что агент сам берет на себя настройку окружения и распределение задач, а разработчику остается только проверять код.
Сначала пропишите в настройках YAML путь к репозиторию GitHub и триггерные метки вроде ai-fix. Затем запустите демон broomva/symphony, написанный на Rust, или Go-версию itervox/symphony-go, чтобы они проверяли задачи каждые 30 секунд. С такой настройкой время, затрачиваемое на поиск исполнителя в мессенджерах, просто исчезнет.
Если доверить работу агенту, иногда он может выдать совершенно безумный код и с гордостью его отправить. Например, выставить напоказ ключи безопасности или проигнорировать командные конвенции. Функция hooks.after_run в Symphony — это контрольно-пропускной пункт, который срабатывает непосредственно перед тем, как результат работы агента будет записан в репозиторий. Если запущенный здесь скрипт выдает ошибку, Symphony немедленно прекращает работу, предотвращая попадание «мусорного» кода в проект.
Добавьте всего три строки на этапе after_run. Сначала выровняйте форматирование через npx prettier --write, затем исправьте синтаксис с помощью npx eslint --fix и, наконец, завершите проверку типов через npx tsc --noEmit. Этот цикл автоматической проверки вдвое сокращает усилия человека по доработке кода за агентом. Это обязательно, если вы не хотите тратить всё свое время на разгребание того, что наворотил ИИ.
При одновременном запуске нескольких агентов локальная машина неизбежно начнет «задыхаться». Процессор будет полностью загружен, мышь перестанет двигаться, а файловая система может запутаться, что приведет к перезаписи кода. Оркестратор Symphony внутренне использует функцию filepath.EvalSymlinks для анализа путей, что предотвращает попытки выхода за пределы директории, но распределение ресурсов нужно настраивать вручную.
Для стабильной работы 5 и более сессий используйте Docker-контейнеры как слоты. Ограничьте ресурсы опциями --memory="2g" и --cpu-shares=100, а также отключите внешнюю связь с помощью --network=none для безопасности. Такая изоляция — естественная мера предосторожности, если вы не хотите, чтобы агент отправил данные куда-то в сеть или парализовал систему.
Позволять агенту делать коммиты напрямую в ветку main — это самоубийство. Насколько бы ни продвинулся ИИ, ни одна строка не должна попадать в проект без окончательного одобрения человеком. Результаты работы всегда должны выталкиваться во временные ветки с префиксом вроде staging/ai-patch-.
Вставьте команду GitHub CLI (gh) в конец пайплайна. Запустите gh pr create в неинтерактивном режиме, назначьте себя рецензентом и настройте отправку уведомлений в Slack. Останется только пробежаться по коду и, если всё в порядке, объединить его через gh pr merge --squash. Структура, где машина готовит черновик, а человек ставит печать, является самой быстрой и безопасной.