Мультиагентные AI-системы проваливаются не из-за технических багов, а из-за неявных предположений о состоянии и порядке выполнения задач. К такому выводу пришли инженеры GitHub, работающие над Copilot и внутренними автоматизациями.
Типичный сценарий краха: один агент открывает issue, другой тут же его закрывает. Или система отправляет изменение, которое не проходит проверку, о существовании которой агент не знал.
Причина — отсутствие явных контрактов между агентами.
Когда нужны мультиагентные системы
Команды переходят на несколько агентов, когда один не справляется с задачей от начала до конца. GitHub выделяет основные сценарии:
- Поддержка кодовой базы и обновление зависимостей
- Автоматические проверки качества кода и рефакторинг
- Реализация функций по спецификации
- Триаж issues и pull request'ов
Но добавление агентов создает новые точки отказа: общее состояние, предположения о порядке, неявная передача данных.
Решение №1: типизированные схемы вместо natural language
Основная проблема — агенты обмениваются "грязным" JSON или естественным языком. Названия полей меняются, типы данных не совпадают, форматирование плывет.
GitHub предлагает определять строгие схемы данных заранее:
type UserProfile = {
id: number;
email: string;
plan: "free" | "pro" | "enterprise";
};
Это меняет отладку с "смотри логи и угадывай" на "payload нарушил схему X". Нарушения схемы нужно обрабатывать как сбои контракта — повторить, исправить или эскалировать.
Решение №2: четкие схемы действий
Даже с типизированными данными системы падают из-за расплывчатых инструкций. "Проанализируй issue и помоги команде принять меры" звучит понятно, но разные агенты могут закрыть, назначить, эскалировать или ничего не делать.
Схемы действий определяют точный набор разрешенных операций:
const ActionSchema = z.discriminatedUnion("type", [
{ type: "request-more-info", missing: string[] },
{ type: "assign", assignee: string },
{ type: "close-as-duplicate", duplicateOf: number },
{ type: "no-action" }
]);
Агент должен вернуть ровно одно валидное действие. Всё остальное проваливает валидацию и отправляется на повтор или эскалацию.
Практические выводы
Мультиагентные системы ведут себя не как чат-интерфейсы, а как распределенные системы. Применяйте соответствующие практики: явные контракты, типизация, обработка ошибок.
GitHub Models уже поддерживает структурированные workflows — возможно, скоро увидим встроенные инструменты для валидации мультиагентных систем прямо в платформе.

