Все хотят создать команду ИИ-агентов. Демонстрации выглядят непреодолимо привлекательными. Один агент проводит исследование, другой пишет код, а третий запускает тесты. Но у большинства этих систем есть грязный секрет: они хрупкие. Они прекрасно работают во время пятиминутной презентации, но разваливаются при реальном расследовании. Точка отказа редко заключается в способности языковой модели к рассуждению или в количестве агентов в рое. Она кроется в пространстве между ними. Мультиагентные системы ломаются на уровне взаимодействия (collaboration plane).
Ловушка супервайзера
Стандартная архитектура соблазнительно проста. Агент-супервайзер получает цель, разбивает её на подзадачи и делегирует их агентам-исполнителям. Исполнители выполняют задачи, возвращают результаты, а супервайзер собирает всё воедино в окончательный ответ. Эта схема вполне подходит, если вы суммируете десять статей, транскрибируете аудиофайлы или извлекаете данные со ста однотипных веб-страниц. Задачи независимы. Они не вступают в диалог.
Сложные расследования устроены иначе. Когда агент обнаруживает неожиданную находку, всё направление работы может потребовать изменения. Если в системе нет структурированного способа транслировать этот сдвиг, другие агенты продолжают двигаться в неверном направлении. В итоге вы получаете набор параллельных монологов вместо диалога. Супервайзер становится узким местом, а не координатором.
Что теряется при сбое координации
Когда расследование становится глубоким, вам нужно знать гораздо больше, чем просто окончательный ответ. Вам нужно знать, кто, что и когда узнал. Вам нужно отследить, какая именно находка определила направление работы. Вам нужно понимать, почему агент изменил свой план два часа назад. Без уровня взаимодействия (collaboration plane) ничего из этого не видно. У вас есть логи. Но логи — это хронологический шум. Они фиксируют, что Агент C внезапно начал анализировать транзакции базы данных вместо вызовов API, но они не объясняют, почему. Вы можете наблюдать за этим и гадать.
Представьте реагирование на инцидент безопасности. Агент A изучает серверные логи и делает вывод, что взлом начался не там. Он возвращает свой результат супервайзеру. Агент B, которому поручен анализ сетевого трафика, так и не видит, что этот вывод был оформлен как отвергнутая гипотеза. Поскольку в его исходном описании задачи сервер всё еще считается главным подозреваемым, Агент B тратит еще один цикл на поиск «отпечатков пальцев» в тех же самых логах. Система дважды выполняет одну и ту же работу и ничего не извлекает из первого прогона.
Уровень взаимодействия — это не память
Уровень взаимодействия — это не просто хранилище фактов. Память хранит информацию. Состояние взаимодействия (collaboration state) хранит текущие рабочие процессы. Векторная база данных, полная документов, предоставляет агенту справочные материалы. Она не сообщает агенту, что Агент X в данный момент проверяет гипотезу, которая сделает текущую задачу Агента Y избыточной. Память — это статический контекст. Состояние взаимодействия — это живая карта операции.
Если вы перепутаете эти понятия, вы построите системы, которые могут извлечь любой абзац из корпоративного справочника вашей компании, но не смогут сказать вам, доказал ли другой агент только что бесполезность вашей текущей задачи.
Пять категорий общего состояния
Настоящему уровню взаимодействия необходимы пять специфических категорий.
Утверждения (Claims). Это активные гипотезы, которые проверяет агент. В расследовании мошенничества утверждением может быть: «аномалия коррелирует с пакетными заданиями по выходным». Каждый агент должен иметь возможность видеть, какие утверждения открыты, какие проверяются и кто за них отвечает. Без
