피드로 돌아가기
Dev.toAI/ML
원문 읽기
Bedrock Agents의 한계 극복, Converse API 기반 커스텀 오케스트레이터 구축기
Why We Ditched Bedrock Agents for Nova Pro and Built a Custom Orchestrator
AI 요약
Context
Bedrock Agents와 Action Groups를 이용한 Nova Pro 기반 툴 호출 구현 시도. 모델 응답 속도가 프레임워크 내부 타임아웃 제한을 초과하며 dependencyFailedException 지속 발생. 프롬프트 최적화와 버전 업데이트(v1~v16)에도 불구하고 툴 호출 대신 대화형 응답만 출력하는 신뢰성 문제 직면.
Technical Solution
- Bedrock Agents라는 추상화 계층을 제거하고 Bedrock Converse API를 직접 호출하는 구조로 전환
- User → Next.js API → Lambda Orchestrator → Converse API (Nova Pro)로 이어지는 단순화된 데이터 흐름 설계
- boto3와 urllib3만 사용한 약 550라인 규모의 Python 단일 Lambda 함수로 툴 라우팅 로직 구현
- Converse API tool specifications를 통해 툴 정의를 명시하여 Nova Pro의 결정론적 툴 호출 유도
- Stedi MCP 서버 연동을 통한 실시간 X12 270/271 자격 확인 및 보험사 조회 기능 통합
- Lambda Orchestrator가 Nova Pro의 툴 선택 결과와 실제 실행 결과를 중재하여 최종 응답을 생성하는 루프 제어
Key Takeaway
복잡한 추상화 프레임워크가 오히려 모델의 성능과 제어력을 제한할 때, 단순한 API 호출 기반의 커스텀 오케스트레이션이 더 높은 신뢰성과 유연성을 제공하는 설계 전략임.
실천 포인트
Nova Pro 사용 중 Bedrock Agents에서 dependencyFailedException 발생 시, 프레임워크를 제거하고 Converse API로 직접 전환하여 툴 호출 신뢰성을 확보할 것