Ранас Мукминов – Оркестрация ИИ-агентов. Claude Opus 4.7 (страница 26)
Коммуникация — это каналы, по которым агенты обмениваются сообщениями, состоянием и артефактами (см.
часть IV). Ошибки этого уровня связывают агентов сильнее, чем предполагалось.
Механизм. Агенты обмениваются результатами в свободной форме на естественном языке: один пишет
ответ прозой, другой читает его и извлекает нужное. Это естественно — агенты говорят на естественном
языке.
Failure mode. Хрупкий парсинг и тихое искажение (см. главы 25 и 30). Принимающий агент извлекает
из прозы не то, что вложил отправитель: пропускает поле, неверно понимает формат, принимает
правдоподобную галлюцинацию за данные. Ошибка не диагностируется как ошибка коммуникации — она
выглядит как неверное решение где-то дальше по конвейеру. С ростом числа стыков вероятность такого
искажения накапливается.
Противоядие. Структурированные сообщения с явной схемой на стыках, где результат одного агента
становится входом другого (см. главу 25). Схема валидируется на приёме; нарушение контракта
сообщения — явная, наблюдаемая ошибка, а не тихая порча данных.
Механизм. Архитектуру называют параллельной, но каждый агент в цепочке ждёт полного ответа
предыдущего, прежде чем начать. Связь блокирующая, оформленная как последовательность вызовов.
Failure mode. Латентность и связанность складываются (см. главу 24). Система ведёт себя как один
длинный последовательный конвейер: общее время — сумма времён агентов, а зависание любого участника
останавливает всю цепочку. Параллелизма, ради которого строился рой, нет; есть только иллюзия
многоагентности поверх последовательного исполнения. Это частая изнанка антипаттерна
«мультиагентность ради мультиагентности».
Противоядие. Явный выбор между синхронной и асинхронной моделью под структуру зависимостей (см.
главы 24 и 32). Там, где подзадачи независимы, коммуникация делается неблокирующей; там, где
зависимости реальны, последовательность признаётся честно и не маскируется под параллелизм.
Механизм. Агенты широко обмениваются сообщениями: каждый уведомляет каждого, состояние
рассылается всем, координация идёт через сплошной обмен репликами. На малом числе агентов это
работает и выглядит «живым».
Failure mode. Квадратичный рост коммуникации. Число каналов между N агентами растёт как N², и
вместе с ним растут стоимость в токенах, латентность и шум, в котором тонет полезный сигнал.
Координационный налог (см. главу 5) начинает доминировать над полезной работой. Это узкое место
координации (см. главу 57), замаскированное под насыщенное взаимодействие.
Противоядие. Минимизация обмена: явная маршрутизация и адресация вместо широковещания (см.
главу 27), подписки на нужные события вместо рассылки всем (см. главу 28), агрегация через
оркестратор или общую доску (см. главы 8 и 11) вместо прямого all-to-all. Коммуникация — статья
расходов, и её сокращают так же, как любую другую.
Декомпозиция — это разбиение задачи на подзадачи для распределения (см. часть V). Ошибки этого
уровня предопределяют, окажется ли параллелизм реальным.
Механизм. Задачу делят, отталкиваясь от имеющихся ролей: «это сделает аналитик, это —
исполнитель», — вместо того чтобы делить по естественным границам самой работы. Декомпозиция
подгоняется под штат агентов.
Failure mode. Искусственные границы режут связные куски работы и сшивают несвязные. Возникают
лишние зависимости и лишние передачи контекста (см. главу 47): то, что естественно делать вместе,
разнесено по агентам, а то, что независимо, объединено. Параллелизм страдает, координационный налог
растёт, а на стыках теряется контекст.
Противоядие. Декомпозиция от структуры задачи: сначала строится граф зависимостей подзадач (см.
главу 32), затем подзадачи раскладываются по агентам так, чтобы минимизировать связи между ними. Роли
обслуживают декомпозицию, а не наоборот (см. главу 31).
Механизм. Считают, что задача распараллеливается полностью: добавление воркеров пропорционально
ускоряет работу. Последовательные участки — общая подготовка, финальная сборка, согласование — в
расчёт не берут.
Failure mode. Закон Амдала (см. главу 56). У роёв агентов последовательная доля обычно велика:
декомпозиция, передача контекста и агрегация по природе последовательны и плохо параллелятся. Поэтому
ускорение быстро упирается в потолок, а каждый следующий воркер даёт убывающую отдачу (см. главу 60)
при растущей стоимости. Команда увеличивает рой и не понимает, почему он не ускоряется.
Противоядие. Трезвая оценка последовательной доли до масштабирования и измерение реального
ускорения, а не ожидаемого. Усилия направляются на сокращение последовательной части (например,
параллельную или иерархическую агрегацию, см. главу 37), а не на бесконтрольное наращивание числа
воркеров.
Механизм. Подзадачи порождаются динамически по ходу работы (см. главу 34), и механизм порождения
не ограничен. Каждый промежуточный результат может породить новые задачи.
Failure mode. Очередь работы растёт быстрее, чем разгребается; рой не сходится (см. главу 66), а
расходится, генерируя работу быстрее её завершения. Бюджет токенов и времени исчерпывается, а
осязаемого результата нет. Это декомпозиционный двойник неконтролируемого порождения агентов.
Противоядие. Управление взрывом работы: ограничение глубины порождения, общий бюджет на задачу,
приоритизация очереди (см. главу 35) и явный критерий завершения. Динамическое порождение допускается
только с предохранителями, гарантирующими сходимость.