Saga 오케스트레이션 패턴 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Saga 오케스트레이션 패턴

프롬프트 체인, 데이터 처리 단계, 도구 호출 및 에이전트 협업에 걸쳐 LLMs으로 구동되는 워크플로가 점점 더 복잡해짐에 따라 지능형 오케스트레이션의 필요성이 필수적입니다. 긴밀하게 결합된 스크립트 또는 미리 결정된 정적 실행 흐름에 의존하는 대신 이러한 워크플로를 이벤트 기반 오케스트레이션 패턴으로 구현하여 LLM 기반 시스템이 자율 에이전트 간에 다단계 작업을 동적으로 조정, 모니터링 및 조정할 수 있습니다.

다음 다이어그램은 오케스트레이터의 예입니다.

Orhestrator.

이벤트 오케스트레이션

기존 분산 시스템에서 이벤트 오케스트레이션은 중앙 코디네이터가 여러 서비스 또는 작업에 대한 제어 흐름을 명시적으로 지시하여 복잡한 워크플로를 관리하는 패턴을 말합니다. 이벤트 코레오그래피(각 서비스가 독립적으로 반응하는 경우)와 달리 오케스트레이션은 전체 프로세스에 대한 중앙 집중식 로직, 가시성 및 제어를 제공합니다.

이는 일반적으로 다음 도구를 사용하여 구현됩니다.

  • AWS Step Functions - 상태 저장 워크플로 정의 및 실행

  • AWS Lambda - 오케스트레이션된 흐름 내에서 개별 작업 수행

  • Amazon SQS 또는 Amazon EventBridge - 비동기 단계 또는 응답을 트리거합니다.

다음 다이어그램은 Saga 오케스트레이션의 예입니다.

Saga 오케스트레이션.

AWS Step Functions 워크플로는 고객 주문 프로세스를 관리합니다.

  1. 주문 생성(AWS Lambda)

  2. 인벤토리 업데이트(AWS Lambda)

  3. 결제(AWS Lambda)

오케스트레이터는 재시도, 병렬 브랜치, 제한 시간 및 실패를 관리하여 각 단계를 조정합니다.

역할 기반 에이전트 시스템(오케스트레이터)

에이전트 시스템에서 오케스트레이터 패턴은 이벤트 오케스트레이션을 미러링하지만 각각 역할 또는 전문화가 정의된 여러 추론 에이전트에 로직을 분산합니다. 중앙 오케스트레이터 에이전트는 전체 작업을 해석하고, 하위 작업으로 분해하고, 작업자 에이전트에게 위임합니다. 각 에이전트는 특정 도메인(예: 연구, 코딩, 요약, 검토)에 최적화되어 있습니다.

Supervisor

  1. 사용자는 “프로젝트 개요 생성 및 상위 5개 경쟁자 요약” 쿼리를 제출합니다.

  2. 오케스트레이터 에이전트는 다음을 수행합니다.

    • 연구 에이전트를 할당하여 경쟁자 데이터를 찾습니다.

    • 원시 조사 결과를 요약 에이전트로 보냅니다.

    • 결과를 간이 라이터 에이전트에 전달합니다.

    • 사용자의 최종 출력을 컴파일합니다.

각 에이전트는 독립적으로 작동하지만 오케스트레이터는 작업을 조정합니다. 이는 워크플로 작업을 처리하는 Lambda 함수와 같습니다.

다음 다이어그램은 감독자의 예입니다.

감독자.
  1. 사용자가 Amazon Bedrock 감독자 에이전트에게 작업을 제출합니다.

  2. 감독자 에이전트는 요청을 각 에이전트 공동 작업자의 하위 작업으로 구문 분석합니다.

  3. 각 하위 작업은 역할별 프롬프트 또는 도구 체인을 사용하여 공동 작업자 에이전트에 할당됩니다.

  4. 작업자 에이전트는 작업 그룹을 통해 외부 APIs 또는 도구를 호출합니다.

  5. 각 작업자 에이전트는 출력을 구조화된 형식으로 반환합니다.

  6. 모든 작업자가 결과를 반환하면 감독자는 최종 응답을 평가, 합성 및 반환합니다.

이 구조를 사용하면 복잡한 다단계 에이전트 워크플로에서 모듈성, 적응성 및 내부 검사를 수행할 수 있습니다.

요점

이벤트 오케스트레이션이 중앙 집중식 제어(예: AWS Step Functions)를 사용하여 서비스 실행을 지시하는 경우 역할 기반 에이전트 시스템은 LLM 기반 오케스트레이터 에이전트를 사용하여 목표를 추론하고, 하위 작업을 작업자 에이전트에게 위임하고, 최종 출력을 합성합니다.

두 패러다임 모두에서 오케스트레이터는 다음을 수행합니다.

  • 컨텍스트 및 실행 흐름을 유지합니다.

  • 분기, 시퀀싱 및 오류 처리를 처리합니다.

  • 분산 구성 요소에서 통합 결과를 생성합니다.

그러나 에이전트 오케스트레이션에는 추론, 적응성 및 의미 체계 위임이 추가됩니다. 따라서 개방형의 모호하고 진화하는 작업에 적합합니다.