GitHub опубликовал подробный разбор того, почему многоагентные рабочие процессы на базе ИИ часто ведут себя нестабильно и как инженерные практики помогают сделать такие системы предсказуемыми. Материал основан на опыте команды при создании GitHub Copilot, внутренних автоматизаций и новых схем оркестрации нескольких агентов.
Авторы отмечают, что основная причина сбоев многоагентных систем связана не с моделью, а с отсутствием структуры. Когда несколько агентов обрабатывают связанные задачи — например, сортируют задачи, предлагают изменения, запускают проверки и создают pull request, — они начинают полагаться на неявные допущения о состоянии, порядке действий и проверках. В итоге один агент может закрыть задачу, которую другой только что создал, или отправить изменение, не зная о важной финальной проверке.
Команда GitHub подчёркивает, что многоагентные сценарии разработчики выбирают тогда, когда одного агента недостаточно, чтобы устойчиво выполнить задачу от начала до конца. Однако с ростом количества агентов появляются новые точки отказа: общий контекст, предположения о последовательности, неявные передачи данных и недетерминированное поведение.
Один из частых источников ошибок — обмен неструктурированным текстом или нестабильным JSON. Поля меняют названия и типы, формат отличается от шага к шагу, и ничто не заставляет агентов придерживаться единого контракта. GitHub проводит аналогию с типизированными интерфейсами в разработке: как контракты между сервисами позволяют командам работать автономно, так строгие схемы и типы задают структуру на всех границах между агентами.
В статье предлагается начинать с явного описания формы данных, которую должен возвращать каждый агент. При нарушении схемы сообщение сразу считается некорректным: его можно повторить, исправить или передать на эскалацию до того, как ошибочное состояние попадёт дальше по цепочке. Такой подход переводит отладку из режима «читать логи и догадываться» в режим «этот запрос нарушил схему X».
Отдельно GitHub выделяет схемы действий — жёстко заданный перечень допустимых операций и их структуры. Даже при типизированных данных многоагентный процесс может дать неожиданные результаты, если агентам не указать явно, какие действия им разрешено выполнять. Формулировка вроде «проанализируй задачу и помог команде принять меры» может привести к разным, но формально логичным исходам: закрытию, назначению исполнителя, эскалации или бездействию. Схема действий фиксирует набор вариантов и требует от агента вернуть ровно одно валидное действие, иначе срабатывает валидация и повтор или эскалация.
GitHub подчёркивает, что большинство сбоев агентов на практике оказываются сбоями именно на уровне действий, а не генерации текста в целом. Жёстко заданные действия уменьшают двусмысленность, в том числе на уровне инструкций, которыми управляют агенты.
Ключевой технический элемент, который, по описанию GitHub, обеспечивает выполнение этих контрактов, — Model Context Protocol (MCP). MCP выступает слоем проверки: он задаёт явные входные и выходные схемы для каждого инструмента и ресурса и валидирует вызовы до их выполнения. Это не позволяет агентам придумывать новые поля, пропускать обязательные параметры или «уползать» от согласованных интерфейсов. Проверка до исполнения защищает производственные системы от некорректного состояния.
В публикации делается вывод, что типизированные схемы определяют структуру данных, схемы действий фиксируют намерение, а MCP заставляет агентов следовать обоим уровням контракта. При этом многоагентные системы, по наблюдению GitHub, ведут себя ближе к распределённым системам, чем к привычным чат-интерфейсам, поэтому к ним стоит относиться как к коду: задавать структуры, интерфейсы и правила валидации, а не рассчитывать на «понимание» со стороны модели.
Материал подготовила Гвен Дэвис, старший контент-стратег GitHub. В нём также упоминаются сопутствующие инициативы компании: GitHub Agentic Workflows в техническом превью, концепция «Continuous AI» как фоновых агентов в репозитории, а также новый GitHub Security Lab Taskflow Agent — открытый фреймворк для исследований в сфере безопасности с помощью ИИ, в том числе для анализа уязвимостей в GitHub Actions и JavaScript-проектах.
Источник: блог GitHub.





















