AWS Agent Registry에서 도구를 실행할 때 검색하는 방법
Discover tools at runtime with AWS Agent Registry
AWS Agent Registry를 활용해 오케스트레이터가 MCP 서버와 A2A 에이전트를 실행 시점에 검색하고 사용하는 절차를 AWS 블로그가 설명했다. Discover, Instantiate, Execute의 3단계로 동작하며, 검색 결과에는 호출용 인증 정보가 포함되지 않는다. 샘플은 Python으로 작성되었으며, 주문 관리 MCP 서버와 두 개의 A2A 에이전트를 사용한다.
도구를 코드에 고정하는 방식은 몇 개일 때는 문제없지만, 수십 개를 넘으면 성능이 떨어지고 사내 API가 수백 개에 이르는 기업 시스템에서는 관리할 수 없게 된다. 모델이 사용자의 요구를 고민하기보다 도구 이름을 구별하는 데 토큰을 쓰는 경우도 생긴다. 새 기능을 추가할 때마다 오케스트레이터를 수정하고 다시 배포해야 한다는 점도 과제로 꼽힌다. 해결책으로는 에이전트가 실행 시점에 관련 도구를 검색하는 방식을 제시하고 있다.
AWS Agent Registry는 MCP 서버, 에이전트, 에이전트 스킬을 카탈로그화해 검색할 수 있는 관리형 서비스다. 오케스트레이터는 자연어 쿼리를 보내고, 승인되었으며 검색 가능한 레코드를 받는다. 레코드에는 엔드포인트, MCP 메타데이터, A2A 에이전트 카드 등이 포함되지만 호출용 인증 정보는 포함되지 않는다. MCP의 경우 Cognito OAuth 토큰을 별도로 발급받아야 하며, A2A에서는 boto3가 AWS 인증 정보로 서명한다.
샘플에서는 검색 결과로 만든 클라이언트의 도구만으로 요청 단위의 내부 에이전트를 구성한다. 대규모 언어 모델(LLM)이 적절한 도구를 선택하고 결과를 정리한 뒤, 내부 에이전트와 클라이언트는 폐기된다. 오케스트레이터는 Strands 에이전트로서 Amazon Bedrock AgentCore 런타임에서 동작하며, 모델은 Anthropic Claude Sonnet을 크로스 리전 모델 ID로 설정했다.
승인을 수동으로 설정하면 레코드는 DRAFT, PENDING_APPROVAL, APPROVED 순으로 전환되며, 승인된 것만 검색 대상이 된다. 등록 신청과 승인은 IAM으로 권한이 부여되므로 게시자와 승인자의 권한을 분리할 수 있다. 데모는 주문 상황 MCP 하나, 가격과 할인에서 MCP와 A2A를 연쇄 호출하는 것, 반품과 환불 의도에 대한 의미 검색의 세 가지다.
블로그는 카탈로그가 작고 안정적이거나 처리 순서가 고정된 파이프라인에서는 빌드 시점에 명시적으로 포함하는 편이 더 단순하다고 말한다. 또한 검색 품질은 카탈로그 규모가 아니라 설명문, 쿼리 설계, 평가에 좌우된다고 지적한다. 마지막으로 자사의 MCP 서버나 에이전트를 하나 등록해 설명자, 승인 상태, 인증 경로, 검색 동작을 확인해 보라고 권하고 있다.
출처: AWS Machine Learning Blog · aws.amazon.com