ai-agents-for-beginners

Multi-Agent Design

(위 이미지를 클릭하면 이 강의의 영상을 볼 수 있습니다)

다중 에이전트 설계 패턴

여러 에이전트를 포함하는 프로젝트를 시작하면 다중 에이전트 설계 패턴을 고려해야 합니다. 하지만 언제 다중 에이전트로 전환해야 하는지, 그리고 그 장점이 무엇인지 바로 알기 어려울 수 있습니다.

소개

이 강의에서는 다음 질문에 답하고자 합니다:

학습 목표

이 강의를 마친 후, 여러분은 다음을 할 수 있어야 합니다:

큰 그림은 무엇인가요?

다중 에이전트는 여러 에이전트가 협력하여 공통 목표를 달성할 수 있도록 하는 설계 패턴입니다.

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

다중 에이전트가 적용 가능한 시나리오

그렇다면 다중 에이전트를 사용하는 데 적합한 시나리오는 무엇일까요? 답은 많습니다. 특히 다음과 같은 경우에 다중 에이전트를 사용하는 것이 유리합니다:

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

단일 에이전트 시스템은 간단한 작업에는 적합할 수 있지만, 더 복잡한 작업에서는 다중 에이전트를 사용하는 것이 여러 가지 장점을 제공합니다:

예를 들어, 사용자의 여행을 예약한다고 가정해 봅시다. 단일 에이전트 시스템은 항공편 검색부터 호텔 및 렌터카 예약까지 모든 과정을 처리해야 합니다. 이를 단일 에이전트로 구현하려면 모든 작업을 처리할 수 있는 도구가 필요합니다. 이는 유지보수와 확장이 어려운 복잡하고 단일화된 시스템으로 이어질 수 있습니다. 반면, 다중 에이전트 시스템은 항공편 검색, 호텔 예약, 렌터카 예약에 특화된 서로 다른 에이전트를 가질 수 있습니다. 이는 시스템을 더 모듈화하고, 유지보수가 용이하며, 확장 가능하게 만듭니다.

이를 소규모 가족 운영 여행사와 프랜차이즈 여행사를 비교하는 것으로 생각해 볼 수 있습니다. 소규모 가족 운영 여행사는 단일 에이전트가 모든 여행 예약 과정을 처리하는 반면, 프랜차이즈 여행사는 각 과정에 특화된 서로 다른 에이전트를 보유합니다.

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

다중 에이전트 설계 패턴을 구현하기 전에, 패턴을 구성하는 요소를 이해해야 합니다.

사용자의 여행 예약 예제를 다시 살펴보겠습니다. 이 경우, 구성 요소는 다음과 같습니다:

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

여러 에이전트가 서로 어떻게 상호작용하는지 가시성을 확보하는 것은 매우 중요합니다. 이는 디버깅, 최적화, 전체 시스템의 효과성을 보장하는 데 필수적입니다. 이를 위해 에이전트 활동과 상호작용을 추적할 수 있는 도구와 기술이 필요합니다. 이는 로깅 및 모니터링 도구, 시각화 도구, 성능 지표의 형태로 제공될 수 있습니다.

예를 들어, 사용자의 여행 예약의 경우, 각 에이전트의 상태, 사용자의 선호도와 제약 조건, 에이전트 간 상호작용을 보여주는 대시보드를 가질 수 있습니다. 이 대시보드는 사용자의 여행 날짜, 항공편 검색 에이전트가 추천한 항공편, 호텔 예약 에이전트가 추천한 호텔, 렌터카 예약 에이전트가 추천한 렌터카를 보여줄 수 있습니다. 이를 통해 에이전트가 서로 어떻게 상호작용하고 있는지, 사용자의 선호도와 제약 조건이 충족되고 있는지 명확히 파악할 수 있습니다.

각 측면을 자세히 살펴보겠습니다:

다중 에이전트 패턴

다중 에이전트 애플리케이션을 만들기 위해 사용할 수 있는 몇 가지 구체적인 패턴을 살펴보겠습니다. 다음은 고려할 만한 흥미로운 패턴들입니다:

그룹 채팅

이 패턴은 여러 에이전트가 서로 소통할 수 있는 그룹 채팅 애플리케이션을 만들고자 할 때 유용합니다. 이 패턴의 일반적인 사용 사례로는 팀 협업, 고객 지원, 소셜 네트워킹 등이 있습니다.

이 패턴에서 각 에이전트는 그룹 채팅의 사용자를 나타내며, 메시지는 메시징 프로토콜을 사용하여 에이전트 간에 교환됩니다. 에이전트는 그룹 채팅에 메시지를 보내고, 그룹 채팅에서 메시지를 받고, 다른 에이전트의 메시지에 응답할 수 있습니다.

이 패턴은 모든 메시지가 중앙 서버를 통해 라우팅되는 중앙 집중식 아키텍처나 메시지가 직접 교환되는 분산형 아키텍처로 구현할 수 있습니다.

Group chat

작업 전달

이 패턴은 여러 에이전트가 서로 작업을 전달할 수 있는 애플리케이션을 만들고자 할 때 유용합니다.

이 패턴의 일반적인 사용 사례로는 고객 지원, 작업 관리, 워크플로 자동화 등이 있습니다.

이 패턴에서 각 에이전트는 작업 또는 워크플로의 단계를 나타내며, 에이전트는 사전 정의된 규칙에 따라 작업을 다른 에이전트에 전달할 수 있습니다.

Hand off

협업 필터링

이 패턴은 여러 에이전트가 협력하여 사용자에게 추천을 제공할 수 있는 애플리케이션을 만들고자 할 때 유용합니다.

여러 에이전트가 협력하는 이유는 각 에이전트가 서로 다른 전문성을 가지고 있어 추천 과정에 다양한 방식으로 기여할 수 있기 때문입니다.

예를 들어, 사용자가 주식 시장에서 가장 좋은 주식을 추천받고 싶어한다고 가정해 봅시다.

Recommendation

시나리오: 환불 프로세스

고객이 제품 환불을 요청하는 시나리오를 고려해 봅시다. 이 과정에는 여러 에이전트가 관여할 수 있지만, 이를 환불 프로세스에 특화된 에이전트와 다른 프로세스에서도 사용할 수 있는 일반 에이전트로 나눌 수 있습니다.

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

다음은 환불 프로세스에 관여할 수 있는 에이전트들입니다:

일반 에이전트:

이 에이전트들은 비즈니스의 다른 부분에서도 사용할 수 있습니다.

위에서 언급한 에이전트들은 환불 프로세스에 특화된 에이전트와 비즈니스의 다른 부분에서도 사용할 수 있는 일반 에이전트로 나뉩니다. 이를 통해 다중 에이전트 시스템에서 어떤 에이전트를 사용할지 결정하는 데 도움이 되기를 바랍니다.

과제

다중 에이전트 시스템 설계

고객 지원 프로세스를 위한 다중 에이전트 시스템을 설계하세요. 프로세스에 포함된 에이전트, 그들의 역할과 책임, 그리고 서로 어떻게 상호작용하는지 식별하세요. 고객 지원 프로세스에 특화된 에이전트뿐만 아니라 비즈니스의 다른 부분에서도 사용할 수 있는 일반적인 에이전트도 고려하세요.

아래 솔루션을 읽기 전에 잠시 생각해 보세요. 예상보다 더 많은 에이전트가 필요할 수 있습니다.

TIP: 고객 지원 프로세스의 다양한 단계를 생각해 보고, 시스템에 필요한 에이전트도 고려하세요.

솔루션

솔루션

지식 점검

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

퀴즈 솔루션

요약

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

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

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

추가 자료

이전 강의

설계 계획

다음 강의

AI 에이전트의 메타인지


면책 조항:
이 문서는 AI 번역 서비스 Co-op Translator를 사용하여 번역되었습니다. 정확성을 위해 최선을 다하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서를 해당 언어로 작성된 상태에서 권위 있는 자료로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생할 수 있는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.