본문으로 건너뛰기

다중 Agent 시스템

다중 Agent 시스템은 하나의 Agent에 모든 작업을 요청하는 대신 여러 Agent에 작업을 분산합니다. Mastra에서 이는 일반적으로 Agent, Workflow 또는 둘 다를 결합하여 시스템의 각 부분이 명확한 역할을 갖는 것을 의미합니다.

목표는 올바른 컨텍스트, Tool 및 책임을 올바른 구성 요소에 할당하는 것입니다. 이러한 분할이 명확하면 다중 Agent 시스템은 긴 Prompt와 너무 많은 Tool 또는 책임으로 인해 부담을 느끼는 한 명의 Agent보다 추론하기가 더 쉬울 수 있습니다.

다중 Agent 시스템을 사용해야 하는 경우
다중 Agent 시스템을 사용해야 하는 경우에 대한 직접 링크

한 Agent가 더 이상 작업에 적합한 경계가 아닌 경우 다중 Agent 시스템을 사용하십시오.

다음과 같은 경우가 종종 있습니다.

  • 작업에는 연구, 계획, 글쓰기, 검토 등 다양한 종류의 작업이 포함됩니다.
  • 한 Agent에는 너무 많은 컨텍스트나 Tool이 필요합니다.
  • 작업의 일부는 병렬로 실행되어야 합니다.
  • 단계마다 다른 Prompt, Model 또는 가드레일이 필요합니다.
  • 라우팅, 실행, 합성 간의 명확한 경계가 필요합니다.

가능하면 하나의 Agent로 시작하세요. 추가된 구조로 인해 품질, 속도 또는 안정성이 확실히 향상되면 Agent를 더 추가하세요.

다중 Agent 패턴은 시스템이 구성 요소 전반에 걸쳐 컨텍스트, 결정 및 책임을 나누기 위한 명확한 방법이 필요할 때 유용합니다. 실제로 핵심 설계 질문은 작업이 진행됨에 따라 어떤 구성 요소가 제어 상태를 유지하는지입니다.

핸드오프
핸드오프에 대한 직접 링크

핸드오프 패턴은 한 Agent에서 다른 Agent로 제어권을 전송합니다. 감독자 패턴과 달리 첫 번째 Agent는 전체 작업을 계속 담당하지 않습니다. 대신, 활성 전문가가 상호 작용의 다음 부분에 대한 소유권을 갖습니다.

중앙 코디네이터를 통해 다시 보고하는 대신 다음 전문가가 직접 상호 작용을 계속해야 하는 경우 핸드오프를 사용합니다. 단점은 시스템이 다음 Agent가 상속할 것과 범위를 유지하는 것을 결정해야 하기 때문에 컨텍스트 관리가 더 중요해진다는 것입니다.

Mastra에서는 Agent, Workflow, Memory를 결합하여 이 패턴을 구현합니다. Workflow가 작업을 라우팅할 수 있지만, 이 패턴의 핵심 특징은 소유권이 다음 Agent로 이동한다는 점입니다.

Workflow
Workflow에 대한 직접 링크

Workflow 패턴은 코드의 실행 경로를 정의합니다. Agent에게 다음에 무슨 일이 일어날지 결정하도록 요청하는 대신 단계, 분기, 루프 및 병렬 블록을 통해 시퀀스를 정의합니다.

작업을 잘 이해하고 실행 경로를 미리 알고 있는 경우 Workflow를 사용하세요. 가장 큰 장점은 예측 가능성입니다. 명시적인 구조를 통해 시스템을 디버그하고 감사하기가 더 쉽습니다. 작업이 진행되면서 작업이 변경될 때 Workflow의 적응력이 떨어지기 때문에 유연성이 절충됩니다.

Mastra에서는 Workflow를 통해 핸드오프와 협의회 같은 조정 패턴을 구현할 수 있습니다. Workflow는 어떤 Agent를 호출하는지와 관계없이 제어 로직이 Workflow 자체에 있다는 점에서 구별됩니다.

감독자
감독자에 대한 직접 링크

감독자 패턴은 한 명의 수석 Agent가 전체 작업을 제어하도록 유지합니다. 감독자는 언제 위임할지, 어떤 전문가에게 전화할지, 어떤 컨텍스트를 전달할지, 결과를 결합하는 방법을 결정합니다.

작업이 무제한이고 전체 순서를 미리 알 수 없는 경우 이 패턴을 사용하세요. 예를 들어, 연구 작업에는 이전 단계에서 밝혀낸 내용에 따라 다양한 조사 라인이 필요할 수 있습니다. 감독자는 작업이 진행됨에 따라 적응할 수 있습니다. 단점은 감독자가 주요 조정 지점이 된다는 것입니다. 이는 패턴을 유연하게 만들지만 결과는 올바른 위임 동작과 명확한 하위 Agent 경계에 크게 좌우된다는 의미이기도 합니다.

Mastra에서 이 패턴은 Supervisor Agent에 직접 대응합니다. Supervisor Agent는 agents 속성에 하위 Agent를 정의하고 stream() 또는 generate()를 사용하여 이들을 조정합니다. Mastra는 이 패턴을 제어하는 데 도움이 되는 위임 훅, 메시지 필터링 및 Memory 격리도 제공합니다.

단계별 안내는 Supervisor Agent 튜토리얼을 따라 진행하세요.

이사회
이사회에 대한 직접 링크

협의회 패턴은 여러 Agent에게 동일한 문제를 독립적으로 해결하도록 요청한 다음 출력을 비교하거나 종합하여 하나의 최종 답변으로 만듭니다. 문제를 여러 부분으로 나누는 감독관과 달리 협의회는 문제를 공유하고 동일한 질문에 대해 다양한 관점을 제시합니다.

질문이 모호하거나, 평가적이거나, 이해관계가 크고, 속도보다 품질이 더 중요한 경우 이 패턴을 사용하세요. 협의회는 의도적으로 노력을 복제하고 일반적으로 다른 패턴보다 시간이 더 오래 걸리고 더 많은 토큰을 사용하기 때문에 비용이 절충됩니다.

Mastra는 전용 협의회 기본 요소를 제공하지 않습니다. Mastra에서는 AgentWorkflow를 사용하여 이 패턴을 구현합니다. 여러 Agent를 병렬로 실행하고 출력을 수집한 다음 최종 종합 또는 검토 단계를 추가합니다. .parallel() 같은 Workflow 제어 흐름 메서드가 이 패턴의 구조를 제공합니다.

패턴 선택
패턴 선택에 대한 직접 링크

이러한 패턴은 주로 제어를 분산하는 방법에 따라 다릅니다.

패턴제어권을 유지하는 주체사용 시점트레이드오프Mastra 구현
핸드오프현재 전문가전문가 간에 소유권을 이동해야 할 때컨텍스트 전달이 더욱 중요해짐Workflow와 Memory를 사용하는 Agent
Workflow실행 그래프경로가 미리 알려져 있을 때작업이 변경되면 적응력이 낮음Workflow
Supervisor Agent하나의 리드 Agent실행 중에 위임을 조정해야 할 때결과가 효과적인 조정과 명확한 경계에 좌우됨Supervisor Agent
협의회최종 종합 단계작업에 독립적인 여러 관점이 필요할 때비용과 지연 시간 증가Workflow 병렬 처리를 사용하는 Agent
실제로는 다음 패턴이 결합되는 경우가 많습니다.
  • Workflow에는 하나 이상의 감독자 중심 단계가 포함될 수 있습니다.
  • 핸드오프 흐름은 라우팅 Workflow로 시작될 수 있습니다.
  • 위원회는 Workflow 내에서 실행되어 최종 승인 단계에 반영될 수 있습니다.
  • 감독자는 내부 구조가 고정된 작업을 Workflow에 위임할 수 있습니다.

작업 라벨이 아닌 조정 문제를 기반으로 패턴을 선택하십시오.