Мультиагентные системы искусственного интеллекта уже вовсю работают в производственной среде, но кто за ними следит? Моше Бар, генеральный директор Codenotary, рассказывает на портале The New Stack об операционных пробелах в отслеживании автономных агентов.

За последние несколько месяцев произошли незаметные изменения. Фреймворки, такие как CrewAI, AutoGen и LangGraph, больше не просто появляются в демонстрациях — они работают в производственной среде.

Команды объединяют планировщиков, использующих инструменты агентов, средства поиска и внешние API, а затем передают им реальную работу. Реагирование на инциденты, внутренние «вторые пилоты», конвейеры автоматизации — все это начинает выглядеть не как эксперименты, а как инфраструктура.

И как только эти системы запускаются, проблемы становятся очевидными очень быстро. Не обычная проблема «LLM галлюцинируют». А что-то более операционное.

Сейчас мы очень хорошо умеем создавать агентов, но не очень хорошо умеем ими управлять. Фреймворки упрощают компоновку, но они не дают реального контроля, когда все работает в масштабе.

И этот пробел сразу же проявляется в производственной среде. Неприятная реальность заключается в том, что многие команды, развертывающие сегодня мультиагентные системы, работают с ними с меньшей прозрачностью, чем это было 10 лет назад при использовании микросервисов. Они доверяют результатам, не до конца понимая путь, который их породил.

Это работает для демонстрации. Но это не работает, когда эти системы начинают взаимодействовать с реальными данными, реальными пользователями и реальными деньгами.

На самом деле ломается сама система. Запрос, который должен занимать один или два шага, превращается в десятки вызовов модели. Агенты взаимодействуют друг с другом, повторяя попытки, перефразируя, зацикливаясь ровно настолько, чтобы оставаться работоспособными, но недостаточно эффективными. Задержка увеличивается. За этим следуют затраты. Ничего не падает, поэтому и оповещения не срабатывают. Вы просто замечаете, что что-то идет не так...

Или, что еще хуже, кажется все работает, но ответ немного неверен. Один агент выдает ошибку по таймауту, другой компенсирует ее, третий заполняет пробелы частичным контекстом. К тому времени, как вы увидите результат, ошибка уже где-то глубоко запрятана в цепочке решений, которые трудно восстановить.

А затем есть данные. Нет ни одной очевидной утечки, но происходит их постепенное распространение. Один агент читает конфиденциальную информацию, другой её резюмирует, третий включает её в запрос к внешней модели. Ни в какой момент ничего не выглядит явно опасным, однако система в целом выходит за рамки, за которые не должна выходить.

Общая нить здесь в том, что никто на самом деле не видит, что происходит.

Большинство команд пытаются использовать уже имеющиеся инструменты. Журналы, трассировки, возможно захват запросов. Это помогает в крайних случаях, но не отвечает на основной вопрос: как система на самом деле пришла к такому результату?

Агентные системы — это не просто распределенные системы с большим количеством вызовов API. Они ведут себя скорее как развивающиеся графы выполнения, где решения принимаются динамически, а пути меняются в зависимости от промежуточных результатов. Наблюдение за отдельными вызовами похоже на просмотр одного кадра стека и попытку вывести всю программу целиком.

Чего не хватает, так это видимости на уровне, где эти системы фактически работают.

Необходимо видеть, как запрос разворачивается между агентами, насколько глубока цепочка рассуждений, где она разветвляется и где зацикливается сама на себе. Необходимо понимать не только то, что токены были израсходованы, но и почему их количество продолжало расти на разных этапах. Необходимо отслеживать движение данных — не только их исходное состояние, но и то, как они трансформировались и куда в конечном итоге попали.

Без этого отладка сводится к симптомам. Медленная реакция здесь, завышенный счет там, случайный неправильный ответ. Основное поведение остается неясным.

Особенно интересно то, что эти системы со временем формируют закономерности. Хотя они и не детерминированы, они и не случайны. Определенные потоки становятся распространенными, определенная глубина рассуждений — типичной. Эта базовая линия невероятно полезна, потому что реальный сигнал поступает, когда система отклоняется от нее. Когда агент внезапно выбирает путь, по которому он никогда раньше не ходил, или начинает получать доступ к данным, к которым обычно не обращался, или расширяет цепочку рассуждений далеко за пределы ее обычной формы.

Вот где должен находиться мониторинг — не в статических правилах, а в достаточно глубоком понимании нормального поведения системы, чтобы распознавать отклонения.

Вопрос не в том, нужен ли агентам мониторинг. Вопрос в том, готовы ли мы относиться к ним как к системам, которыми они уже стали.

Сейчас большинство из нас не готовы, и это нужно исправить.