피드로 돌아가기
Multi-Agent Systems on AWS Lambda with Durable Functions
Dev.toDev.to
Backend

Multi-Agent Systems on AWS Lambda with Durable Functions

AWS Lambda와 Durable Functions을 조합해 다중 에이전트 시스템을 단일 프로세스에서 분산 아키텍처로 전환하여 장애 격리, 독립 스케일링, 체크포인팅 기반 재개 기능 확보

Gunnar Grosch2026년 3월 25일10advanced

Context

기존 다중 에이전트 구매 조정 시스템은 단일 프로세스에서 실행되어 프로세스 충돌 시 전체 작업을 재시작해야 했고, 장애 격리가 불가능했으며, 각 전문가 에이전트를 독립적으로 스케일할 수 없었다. 인프라 레벨의 내구성과 병렬 처리 지원이 필요했다.

Technical Solution

  • Strands Agents SDK와 Durable Execution SDK를 역할별로 분리: Strands는 AI 추론(계획 에이전트, 합성 에이전트) 담당, Durable SDK는 인프라(체크포인팅, 병렬 디스패치, 중단/재개) 담당
  • 전문가 에이전트를 tool() 콜백(in-process)에서 context.invoke()를 통한 개별 Lambda 함수로 변환하여 각 전문가가 독립적으로 스케일 가능하도록 구조화
  • 조정자 함수(Coordinator)의 실행 흐름을 context.step('plan') → context.parallel('specialists') → context.step('synthesize') → context.waitForCallback() 구조로 설계하여 각 단계마다 자동 체크포인팅 적용
  • 병렬 실행으로 전환: 순차 실행(이전 방식)에서 context.parallel()로 5개 전문가를 동시 호출하되, 개별 전문가 실패는 다른 결과를 보존
  • RISEN 프롬프트 구조(Role, Instructions, Steps, Expectation, Narrowing) 유지하되, 조정자 프롬프트만 2단계(계획/합성)로 분리하여 체크포인트 전에 라우팅 로직 확정
  • 사람 승인 워크플로우에 waitForCallback() 적용: 승인 대기 중 컴퓨트 비용 발생 안 함

Key Takeaway

다중 에이전트 시스템을 분산 환경으로 배포할 때는 AI 추론 로직과 내구성 인프라를 명확히 분리하고, 라우팅 로직을 코드 대신 프롬프트에 인코딩하되, Durable Functions의 체크포인트-재개 패턴을 활용하면 부분 실패 후 정확한 지점에서 재개할 수 있다.


AWS Lambda 환경에서 다중 에이전트 워크플로우를 구축할 때, 조정자를 Durable Function으로 정의하고 context.invoke()와 context.parallel()을 조합하면 각 전문가 에이전트의 독립적 스케일링, 부분 장애 격리, 그리고 중단점 이후 정확한 재개가 가능하다. 또한 context.step()으로 외부 API 호출을 감싸면 함수 재실행 시에도 중복 실행 없이 정확히 한 번만 실행되도록 보장할 수 있다.

원문 읽기