콘텐츠로 이동

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는 동적 도구 등록을 지원합니다. 에이전트가 새로운 기능이 필요할 경우, backend/agents/autonomous_agent.py에서 register_tool(...)을 호출할 수 있습니다.

이는 요리책이 기존 도구를 사용하는 방법뿐만 아니라 시스템에 새로운 도구를 추가하는 방법도 문서화할 수 있음을 의미합니다.

피드백 루프

사용자 피드백은 에이전트 선택을 개선하는 데 필수적입니다. Panacea는 문서 Q&A 및 작업 결과에서 피드백을 기록하여 오케스트레이터가 어떤 에이전트와 도구가 최상의 결과를 생성하는지 학습할 수 있도록 합니다.

요리책을 위한 노트

이 레시피는 매뉴얼 설명의 강력한 후보입니다. 오케스트레이터가 결정을 내리는 이유를 보여주는 다이어그램이나 단계별 흐름 예제를 포함해야 합니다. 에이전트 선택을 우연에 맡기지 않아야 합니다.