Перейти к содержанию

Оркестрация многоагентной системы Panacea

Этот рецепт объясняет архитектуру оркестрации агентов Panacea: как оркестратор назначает задачи, выбирает агентов и поддерживает последовательные и иерархические рабочие процессы.

Что вы узнаете

  • Роль оркестратора как "мозга" системы
  • Как Panacea направляет задачи специализированным агентам
  • Разница между последовательными и иерархическими рабочими процессами
  • Как группы агентов сотрудничают для достижения общей цели
  • Как работает регистрация инструментов, чтобы агенты могли использовать новые возможности

Почему это важно

В Panacea оркестратор не случайный. Он выбирает лучшего агента на основе описаний возможностей, контекста задачи и состояния рабочего процесса. Это делает систему предсказуемой и расширяемой.

Ключевые концепции

  • Оркестратор — центральный координатор, который решает, какой агент будет работать следующим
  • Агент — автономная единица с определенной целью, такая как DocumentRetrievalAgent, GeneralKnowledgeAgent или ChatHistoryAgent
  • Группа — группа агентов, работающих вместе для достижения общей цели
  • Рабочие процессы — стиль сотрудничества; могут быть:
  • Последовательные: один шаг следует за другим в порядке
  • Иерархические: цепочка команд, где оркестратор делегирует подзадачи специалистам
  • Инструменты — функции, которые агенты могут вызывать для выполнения действий, таких как поиск, загрузка или выполнение кода

Ключевые файлы Panacea

Файл Почему это важно
Panacea/backend/agents/multi_agent_system.py Логика оркестратора и маршрутизации рабочего процесса
Panacea/backend/agents/autonomous_agent.py Регистрация инструментов и жизненный цикл агента
Panacea/backend/agents/routing.py Логика вспомогательного маршрутизации задач
Panacea/backend/agents/reactive_agent.py Инициализирует многоагентную систему и соединяет её с чат-потоками

Как это работает

  1. Пользователь отправляет задачу или запрос.
  2. Агент-оркестратор рассматривает ввод и выбирает следующего агента на основе возможностей и требований задачи.
  3. Специализированные агенты выполняют свою часть конвейера и могут возвращать промежуточные результаты.
  4. Оркестратор может либо продолжать последовательно, либо продолжать делегировать подзадачи в иерархическом порядке.
  5. Финальный результат собирается и возвращается пользователю.

Последовательный рабочий процесс

Последовательный рабочий процесс полезен для фиксированных конвейеров, таких как:

  • извлечение частей документа → резюмирование → ответ пользователю
  • сбор контекста кода → анализ кода → возврат предложений по обзору

Каждый шаг выполняется по порядку, и следующий шаг использует вывод предыдущего шага.

Иерархический рабочий процесс

Иерархический рабочий процесс полезен для сложных задач, где оркестратор управляет специалистами:

  • оркестратор назначает одного агента для сбора данных
  • другой агент проверяет данные
  • третий агент генерирует финальный ответ

Это похоже на цепочку команд: оркестратор остается под контролем и делегирует работу специализированным агентам.

Регистрация инструментов

Panacea поддерживает динамическую регистрацию инструментов. Если агенту нужна новая возможность, он может вызвать register_tool(...) из backend/agents/autonomous_agent.py.

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

Обратная связь

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

Заметки для кулинарной книги

Этот рецепт является сильным кандидатом для ручного объяснения. Он должен включать диаграммы или примеры пошагового потока, которые показывают, почему оркестратор принимает решения, а не оставляет выбор агентов на случайность.