ai-agents-for-beginners

다중 에이전트 설계

(위의 이미지를 클릭하여 이 수업의 비디오를 보세요)

다중 에이전트 설계 패턴

여러 에이전트가 관여하는 프로젝트를 시작하면 다중 에이전트 설계 패턴을 고려해야 합니다. 다만 언제 다중 에이전트로 전환해야 하는지, 그리고 어떤 장점이 있는지는 처음에는 명확하지 않을 수 있습니다.

소개

이 강의에서는 다음 질문에 답해 봅니다.

학습 목표

이 강의를 마치면 다음을 할 수 있습니다.

큰 그림에서 보면 어떤 의미일까요?

다중 에이전트는 여러 에이전트가 공동의 목표를 달성하기 위해 함께 작업할 수 있게 하는 설계 패턴입니다.

이 패턴은 로보틱스, 자율 시스템, 분산 컴퓨팅 등 다양한 분야에서 널리 사용됩니다.

다중 에이전트가 적용되는 시나리오

그렇다면 어떤 경우에 다중 에이전트가 효과적일까요? 여러 에이전트를 활용하면 특히 다음과 같은 상황에서 이점이 큽니다.

단일 에이전트보다 다중 에이전트를 사용하는 장점

단순한 작업에서는 단일 에이전트 시스템도 충분히 작동할 수 있습니다. 하지만 복잡한 작업에서는 다중 에이전트가 다음과 같은 장점을 제공합니다.

예를 들어 사용자의 여행 예약을 처리한다고 가정해 봅시다. 단일 에이전트 시스템에서는 항공권 검색, 호텔 예약, 렌터카 예약까지 모든 과정을 한 에이전트가 처리해야 합니다. 이를 위해서는 하나의 에이전트가 매우 많은 도구와 로직을 갖춰야 하고, 결과적으로 유지보수와 확장이 어려운 거대한 단일 구조가 되기 쉽습니다. 반면 다중 에이전트 시스템에서는 항공권, 호텔, 렌터카를 각각 전문 에이전트가 담당할 수 있어 더 모듈화되고 유지보수와 확장이 쉬워집니다.

이를 개인이 운영하는 소규모 여행사와 프랜차이즈 여행사로 비유할 수 있습니다. 소규모 여행사는 한 사람이 모든 일을 처리하지만, 프랜차이즈 여행사는 업무별 담당자가 나뉘어 더 효율적으로 운영됩니다.

다중 에이전트 설계 패턴 구현의 구성 요소

다중 에이전트 설계 패턴을 구현하려면 먼저 이 패턴을 이루는 핵심 구성 요소를 이해해야 합니다.

앞서의 여행 예약 예시를 다시 기준으로 보면 구성 요소는 다음과 같습니다.

다중 에이전트 상호작용에 대한 가시성

여러 에이전트가 서로 어떻게 상호작용하는지 가시성을 확보하는 것은 매우 중요합니다. 이는 디버깅, 최적화, 그리고 전체 시스템 효과성 보장에 필수적입니다. 이를 위해서는 에이전트 활동과 상호작용을 추적할 도구와 기법이 필요하며, 보통 로깅/모니터링 도구, 시각화 도구, 성능 지표를 활용합니다.

예를 들어 여행 예약 시나리오에서는 각 에이전트 상태, 사용자 선호/제약, 에이전트 간 상호작용을 보여주는 대시보드를 만들 수 있습니다. 대시보드에는 사용자 여행 날짜, 항공권 에이전트 추천 항공편, 호텔 에이전트 추천 숙소, 렌터카 에이전트 추천 차량 등을 표시할 수 있습니다. 이를 통해 에이전트 간 협업 흐름과 사용자 요구 충족 여부를 명확히 파악할 수 있습니다.

각 요소를 조금 더 자세히 살펴보겠습니다.

다중 에이전트 패턴

다중 에이전트 애플리케이션을 만들 때 활용할 수 있는 구체적인 패턴을 살펴보겠습니다. 다음은 고려할 만한 대표 패턴입니다.

그룹 채팅

이 패턴은 여러 에이전트가 서로 대화하는 그룹 채팅 애플리케이션을 만들 때 유용합니다. 대표적인 활용 사례로 팀 협업, 고객 지원, 소셜 네트워킹이 있습니다.

이 패턴에서는 각 에이전트가 그룹 채팅 참여자 역할을 하며, 메시징 프로토콜을 통해 메시지를 주고받습니다. 에이전트는 그룹에 메시지를 보내고, 메시지를 수신하며, 다른 에이전트의 메시지에 응답할 수 있습니다.

이 패턴은 모든 메시지를 중앙 서버로 라우팅하는 중앙집중형 아키텍처로도, 에이전트끼리 직접 메시지를 주고받는 분산형 아키텍처로도 구현할 수 있습니다.

그룹 채팅

핸드오프

이 패턴은 여러 에이전트가 작업을 서로 넘겨가며 처리하는 애플리케이션을 만들 때 유용합니다.

대표 활용 사례는 고객 지원, 작업 관리, 워크플로 자동화입니다.

이 패턴에서 각 에이전트는 작업 또는 워크플로 단계 하나를 담당하며, 미리 정의된 규칙에 따라 다른 에이전트에게 작업을 넘깁니다.

핸드오프

협업 필터링

이 패턴은 여러 에이전트가 협력해 사용자에게 추천을 제공하는 애플리케이션에 적합합니다.

여러 에이전트를 함께 쓰는 이유는 각 에이전트가 서로 다른 전문성을 바탕으로 추천 과정에 각기 다른 방식으로 기여할 수 있기 때문입니다.

예를 들어 사용자가 주식 시장에서 어떤 종목을 사야 할지 추천받고 싶다고 가정해 보겠습니다.

이들이 협업하면 사용자에게 더 종합적이고 균형 잡힌 추천을 제공할 수 있습니다.

추천

시나리오: 환불 프로세스

고객이 상품 환불을 요청하는 시나리오를 생각해 봅시다. 이 과정에는 여러 에이전트가 관여할 수 있으며, 환불 전용 에이전트와 다른 업무에도 재사용 가능한 일반 에이전트로 나누어 볼 수 있습니다.

환불 프로세스에 특화된 에이전트:

다음은 환불 과정에 직접 관여하는 에이전트 예시입니다.

일반 에이전트:

다음 에이전트들은 환불 외에도 비즈니스 전반에서 재사용할 수 있습니다.

환불 전용 에이전트와 범용 에이전트를 함께 살펴보면, 다중 에이전트 시스템에서 어떤 역할을 분리하고 어떤 에이전트를 재사용할지 판단하는 기준을 잡는 데 도움이 됩니다.

과제

고객 지원 프로세스를 위한 다중 에이전트 시스템을 설계해 보세요. 프로세스에 참여하는 에이전트, 각 역할과 책임, 그리고 에이전트 간 상호작용 방식을 정의해 보세요. 고객 지원 전용 에이전트와 비즈니스 전반에서 재사용 가능한 일반 에이전트를 모두 고려해야 합니다.

읽기 전에 잠시 생각해 보세요. 다음 해답을 읽기 전에, 생각보다 더 많은 에이전트가 필요할 수 있습니다.

팁: 고객 지원 프로세스의 다양한 단계와 시스템에 필요한 에이전트를 고려해 보세요.

솔루션

솔루션

지식 점검

질문: 다중 에이전트를 언제 고려해야 하나요?

솔루션 퀴즈

요약

이 강의에서는 다중 에이전트 설계 패턴을 살펴보았습니다. 다중 에이전트가 적용되는 시나리오, 단일 에이전트보다 다중 에이전트를 사용할 때의 이점, 다중 에이전트 설계 패턴을 구현하는 구성 요소, 그리고 여러 에이전트가 서로 어떻게 상호작용하는지에 대한 가시성을 확보하는 방법을 다루었습니다.

다중 에이전트 설계 패턴에 대해 더 궁금한 점이 있나요?

다른 학습자들과 만나고, 오피스 아워에 참석하고, AI 에이전트 관련 질문에 답을 얻으려면 Microsoft Foundry Discord에 참여하세요.

추가 자료

이전 강의

설계 기획

다음 강의

AI 에이전트의 메타인지


면책사항: 이 문서는 AI 번역 서비스 Co-op Translator를 사용하여 번역되었습니다. 정확성을 위해 노력하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있음을 유의해 주십시오. 원문(원어로 된 문서)을 정본으로 간주해야 합니다. 중요한 정보의 경우 전문 번역가에 의한 번역을 권장합니다. 이 번역의 사용으로 인해 발생한 오해나 잘못된 해석에 대해서는 책임을 지지 않습니다.