Оркестрация многоагентной системы 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 |
Инициализирует многоагентную систему и соединяет её с чат-потоками |
Как это работает¶
- Пользователь отправляет задачу или запрос.
- Агент-оркестратор рассматривает ввод и выбирает следующего агента на основе возможностей и требований задачи.
- Специализированные агенты выполняют свою часть конвейера и могут возвращать промежуточные результаты.
- Оркестратор может либо продолжать последовательно, либо продолжать делегировать подзадачи в иерархическом порядке.
- Финальный результат собирается и возвращается пользователю.
Последовательный рабочий процесс¶
Последовательный рабочий процесс полезен для фиксированных конвейеров, таких как:
- извлечение частей документа → резюмирование → ответ пользователю
- сбор контекста кода → анализ кода → возврат предложений по обзору
Каждый шаг выполняется по порядку, и следующий шаг использует вывод предыдущего шага.
Иерархический рабочий процесс¶
Иерархический рабочий процесс полезен для сложных задач, где оркестратор управляет специалистами:
- оркестратор назначает одного агента для сбора данных
- другой агент проверяет данные
- третий агент генерирует финальный ответ
Это похоже на цепочку команд: оркестратор остается под контролем и делегирует работу специализированным агентам.
Регистрация инструментов¶
Panacea поддерживает динамическую регистрацию инструментов. Если агенту нужна новая возможность, он может вызвать register_tool(...) из backend/agents/autonomous_agent.py.
Это означает, что кулинарная книга может документировать не только то, как использовать существующие инструменты, но и как добавлять новые инструменты в систему.
Обратная связь¶
Обратная связь от пользователей имеет решающее значение для улучшения выбора агентов. Panacea регистрирует отзывы от вопросов и ответов по документам и результатов задач, чтобы оркестратор мог узнать, какие агенты и инструменты дают наилучшие результаты.
Заметки для кулинарной книги¶
Этот рецепт является сильным кандидатом для ручного объяснения. Он должен включать диаграммы или примеры пошагового потока, которые показывают, почему оркестратор принимает решения, а не оставляет выбор агентов на случайность.