다음을 통해 공유


다중 에이전트 오케스트레이션 패턴 탐색

생성 오케스트레이션은 또한 한 에이전트가 다른 에이전트를 호출하는 다중 에이전트 시스템을 지원합니다. 문제를 여러 전문 에이전트로 나누면 모듈화, 확장성, 관리 용이성을 향상시킬 수 있습니다.

인라인 에이전트

인라인 에이전트(자식 에이전트라고도 함)는 동일한 에이전트 내에서 작고 재사용 가능한 워크플로우입니다. 대부분 메인 에이전트가 서브루틴으로 사용하는 주제들입니다. 예를 들어, 메인 에이전트는 더 큰 계획의 한 단계로 "텍스트 번역" 주제를 호출할 수 있습니다. 인라인 에이전트는 메인 에이전트와 컨텍스트를 공유하기 때문에 데이터 주고가 간단합니다.

모범 사례: 인라인 상담원들이 단일 책임에 집중하고 잘 검증되도록 하세요.

연결된 에이전트

연결된 에이전트는 고유한 오케스트레이션, 도구, 지식을 가진 별도의 에이전트입니다. 주 대리인은 요청의 일부를 소년 대리인에게 위임합니다. 예를 들어, IT 상담원이 영업 상담원에게 가격 책정을 요청하는 경우입니다. 연결된 에이전트는 모듈화, 도메인 분리를 가능하게 하며 계획 제한을 우회할 수 있습니다. 이들은 서로 다른 권한이나 지식을 가질 수 있으니, 거버넌스와 감사 통제를 적용하세요.

하지만 연결된 에이전트를 사용하려면 신중한 거버넌스가 필요합니다:

  • 조율: 모 오케스트레이터는 연결된 에이전트에게 언제 인계할지에 대한 명확한 기준을 가지고 있어야 합니다. 이 핸드오프는 보통 사용자의 의도가 연결된 에이전트의 도메인과 일치할 때 발생합니다. 이 과정을 돕기 위해, 연결된 에이전트의 목적을 부모 설정에서 명확히 설명하세요. 연결된 에이전트 전체를 부모의 관점에서 설명이 있는 '도구'로 취급하세요.

  • 데이터 핸드오프: 데이터 핸드오프를 관리해야 합니다. 부모로부터 연결된 에이전트에게 전달할 맥락을 결정하세요. Copilot Studio는 한 상담원이 다른 상담원에게 전화할 때 기본적으로 대화 기록을 전달하여, 연결된 상담원이 이미 논의된 내용을 알 수 있습니다. 하지만 특정 조건도 통과해야 할 수도 있습니다. 예를 들어, 메인 에이전트가 이미 이전 사용자 이름을 알고 있다면, 다시 묻지 않도록 연결된 에이전트에게 그 이름을 보낼 수 있습니다.

  • 보안: 연결된 에이전트는 부모 에이전트가 접근할 수 없는 것에 접근할 수 있습니다. 연결된 상담원에게 전화하는 것이 제한을 우회하지 않도록 주의하세요. 예를 들어, 부모 에이전트는 레코드를 삭제할 수 없지만 연결된 에이전트는 할 수 있다면, 적절한 승인 없이 삭제가 발생할 수 있는 상황에서 부모 에이전트가 연결된 에이전트에게 전화를 걸어서는 안 됩니다. 연결된 에이전트 통화를 다른 강력한 행동과 동일하게 다루세요. 민감한 작업을 한다면 필요한 점검이나 사용자 동의를 받으세요.

  • 감사 및 모니터링: 연결된 에이전트가 언제 호출되었는지, 그리고 그 에이전트가 무엇을 했는지 기록합니다. 별도의 에이전트라서 별도의 성적 증명서를 작성해야 합니다. 디버깅에서는 부모 세션과 연결된 세션을 연관시키는 것이 중요합니다. 일반적으로 텔레메트리 내 식별자는 두 장치를 연결합니다.

에이전트를 언제 분리해야 할까요

모든 하위 작업마다 별도의 에이전트를 만들지 마세요. 하위 업무가 다음과 같으면 별도의 에이전트를 사용하세요:

  • 자체적으로 다양한 도구나 지식(전문 분야가 다름)이 필요할 만큼 복잡합니다.
  • 메인 에이전트와는 다른 거버넌스 규칙이나 접근 제어가 필요합니다
  • 이 기능을 여러 주요 에이전트에서 재사용할 계획입니다(즉, 서비스 에이전트와 비슷한 역할입니다).

이 조건들이 모두 해당되지 않는다면, 완전한 연결 에이전트 대신 간단한 주제(인라인)로 충분할 수 있습니다. 별도의 에이전트는 컨텍스트 전환으로 인해 실행 시간이 약간 더 길어지고, 여러 봇을 유지하는 복잡성을 초래합니다. 그러니 신중하게 사용하세요. 실용적인 접근법은 한 명의 에이전트로 시작하고, 모듈성이 명확히 필요하거나 단일 에이전트가 넘지 말아야 할 경계가 있을 때만 여러 에이전트로 나누는 것입니다.