Выбор между одним agent и многоагентной системой для сложного рабочего процесса.
→По умолчанию используйте один agent с инструментами. Разделяйте на несколько agent только тогда, когда границы задач четко определены, контекст переполняется или разные уровни моделей подходят для разных подзадач.
Почему: Каждый добавленный agent увеличивает задержку, площадь ошибок и стоимость оркестрации; большинство рабочих нагрузок успешно справляются с одним хорошо оснащенным agent.
Оркестратор должен распределять разнородные подзадачи между специалистами.
→Используйте agent-супервизора, который декомпозирует цель, маршрутизирует задачи agent-работникам с их собственными подсказками и инструментами и агрегирует результаты.
Почему: Централизованное управление сохраняет состояние когерентным и делает границу принятия решений проверяемой по сравнению с анархическим роем.
Поток agent имеет условные ветвления, циклы и параллельное расхождение.
→Моделируйте рабочий процесс как явный граф узлов и ребер, а не как свободный цикл, чтобы поток управления был детерминированным и возобновляемым.
Почему: Граф делает ветви тестируемыми и позволяет создавать контрольные точки и воспроизводить с любого узла после сбоя.
Входящие запросы сильно различаются по типу и стоимости.
→Предварите систему легким agent-маршрутизатором, который классифицирует намерение и отправляет его самому дешевому и способному последующему agent или инструменту.
Почему: Маршрутизация позволяет избежать оплаты дорогостоящих моделей для тривиальных запросов и изолирует проблемы по каждому пути.
Несколько agent должны читать и записывать общее состояние рабочего процесса.
→Вынесите состояние во внешнее общее хранилище (ключ-значение или документ), индексируемое по сессии, вместо того чтобы передавать полную стенограмму между agent.
Почему: Общее хранилище ограничивает рост контекста и предотвращает расхождение копий состояния между agent.
Проектирование agent для горизонтального масштабирования.
→Сохраняйте вычисления agent stateless; сохраняйте разговор и память извне, чтобы любая реплика могла обработать любой запрос.
Почему: Stateless узлы чисто масштабируются автоматически и выдерживают перезапуски pod'ов без потери незавершенной работы.
Sub-agent или инструмент дает сбой в середине рабочего процесса.
→Разработайте идемпотентные шаги с повторными попытками/отсрочкой, компенсирующие действия для побочных эффектов и запасной путь или эскалацию человеку, когда попытки исчерпаны.
Почему: Agent-ные системы частично выходят из строя; восстановление должно быть первоочередной задачей проектирования, а не второстепенной.
Sub-agent разрабатываются отдельными командами.
→Определите входной/выходной контракт каждого agent как типизированную схему и относитесь к agent как к службам за стабильными интерфейсами.
Почему: Явные контракты позволяют agent развиваться независимо и быть модульно протестированными изолированно.
Качество вывода agent непоследовательно для сложных задач.
→Добавьте шаг критики/рефлексии, который просматривает черновик на соответствие критериям и запускает ограниченную повторную попытку перед возвратом.
Почему: Самокритика дешево выявляет ошибки, но ограничьте итерации, чтобы избежать бесконечных циклов и затрат.