Build a voice travel concierge with Amazon Bedrock AgentCore, Managed Knowledge Base and Nova Sonic
Quick Summary
Amazon Bedrock AgentCore, Amazon Nova 2.5 Sonic, Amazon Bedrock Knowledge Bases를 결합해 기존 항공사 앱에 실시간 음성 여행 컨시어지를 구축하는 방법을 설명한다.
🖼️ 인포그래픽

🖼️ 4컷 인포그래픽

💡 한 줄 요약
Amazon Bedrock AgentCore, Amazon Nova 2.5 Sonic, Amazon Bedrock Knowledge Bases를 결합해 기존 항공사 앱에 실시간 음성 여행 컨시어지를 구축하는 방법을 설명한다.
📌 핵심 요약
- 음성 컨시어지는 기존 항공사 앱 화면과 함께 작동하며, 여행 일정 조회, 좌석 변경, 기내식 선호 업데이트, 정책 질문 응답, 상담원 연결을 지원한다. 예제는 합성 데이터를 사용하는 항공사 백엔드를 기반으로 한다.
- 프런트엔드·AI 에이전트·백엔드를 분리하고, AgentCore Gateway의 MCP 도구로 백엔드를 연결한다. AWS Amplify의 React 앱은 Amazon Cognito로 인증한 뒤 SigV4로 서명한 WebSocket 연결을 통해 AgentCore runtime에서 실행되는 Amazon Nova 2.5 Sonic과 음성을 주고받는다.
- Amazon Bedrock Knowledge Bases는 항공사 정책 문서에 근거한 RAG 응답과 인용을 제공한다. 문서 처리·임베딩·색인·검색을 관리하며, AgentCore Gateway에 직접 연결되어 별도 검색 코드 없이 MCP 도구로 호출된다.
- AWS CDK의 단일 스크립트로 배포하며, AWS 계정, 배포 리전의 Amazon Nova 2.5 Sonic 모델 접근 권한, Node.js 20.x 이상, Python 3.12 이상, AWS CLI 2.x, AWS CDK CLI 2.x 등이 필요하다. 관리형 서비스의 온디맨드 확장과 세션별 microVM 격리를 활용한다.
- Amazon Nova 2.5 Sonic은 양방향 스트리밍, 비동기 도구 호출, 도구 결과 대기 중 중간 음성 응답, 발화 끼어들기와 다중 턴 문맥 유지를 지원한다. 예제는 변경 전 사용자 확인과 정책 문서 인용을 적용하고, 운영 배포에는 Amazon Bedrock Guardrails 추가를 권고한다. 제공된 본문은 모델의 새 기능 설명 도중 끝난다.
🧩 주요 포인트
- 프런트엔드·에이전트·백엔드 분리와 MCP 연결 → 각 계층의 독립적인 개발·확장을 지원하고, 기존 항공사 시스템에 맞춰 예제 모듈을 재사용할 수 있다.
- Amazon Bedrock Knowledge Bases의 관리형 문서 처리와 직접 도구 연결 → 정책 응답을 원문에 연결하면서 검색 구현 부담을 줄이고, 정책 변경은 지식 베이스 동기화로 반영할 수 있다.
- Amazon Nova 2.5 Sonic의 대화 기능과 AgentCore runtime의 세션 격리 → 실시간 대화의 연속성과 세션 분리를 지원하며, 변경 전 확인·문서 인용·Amazon Bedrock Guardrails가 운영 시 보호 수단으로 제시된다.
🧠 상세 정리
1. 기존 항공사 앱에 음성 접점 추가
항공사는 이미 앱과 웹사이트에서 항공편 확인, 좌석 선택, 예약 관리를 제공하며, 원문은 여기에 자연스러운 음성 요청 기능을 추가하는 방법을 설명한다. 여행자는 앱을 떠나거나 여러 화면을 탐색하지 않고 말로 좌석을 변경하거나 지연 여부를 확인할 수 있고, 같은 세션에서 화면 조작과 음성 대화를 오갈 수 있다. 구현에는 양방향 오디오 스트리밍, 여러 턴에 걸친 대화 맥락 유지, 기존 백엔드와의 느슨한 연결, 휴일 전 트래픽 급증에 대응하는 확장이 필요하다. 제안된 컨시어지는 여행 일정 조회, 좌석 변경, 기내식 선호 업데이트, 정책 질문 응답과 요청에 따른 상담원 연결을 지원한다. 예제는 합성 데이터를 사용하는 항공사 백엔드와 모듈화된 구성을 제공하므로, 실제 시스템에 적용할 때 필요한 구성요소를 재사용하고 에이전트 도구로 노출하는 출발점이 된다.
2. 세 가지 관리형 서비스와 계층 분리
솔루션의 중심은 AI 에이전트를 구축·배포·운영하는 Amazon Bedrock AgentCore, 실시간 음성 대화를 처리하는 Amazon Nova Sonic, 자체 문서에 근거한 답변을 제공하는 Amazon Bedrock Knowledge Bases다. 구체적인 구현에서는 Strands Agents 프레임워크와 Amazon Nova 2.5 Sonic을 사용하며, 에이전트는 AgentCore runtime에서 실행된다. 아키텍처는 프런트엔드, AI 에이전트, 백엔드를 분리해 각 계층을 독립적으로 개발하고 확장할 수 있도록 구성한다. MCP는 AI 애플리케이션을 외부 도구와 데이터에 연결하는 개방형 표준으로, 에이전트와 백엔드 사이에 표준화된 메시지를 전달해 결합도를 낮춘다. AgentCore Gateway는 백엔드 엔드포인트를 검색 가능한 MCP 도구로 제공하고, API Gateway·Lambda·DynamoDB가 업무 처리와 데이터 저장을 담당하며, Cognito·SES·Amplify가 각각 인증·이메일 알림·React 프런트엔드 호스팅을 맡는다.
3. 네 영역으로 구성한 배포 아키텍처
아키텍처 설명은 백엔드 인프라, AgentCore Gateway, AgentCore runtime, 프런트엔드의 네 영역으로 나뉘며, 각 영역을 AWS CDK 스택으로 배포한다. 백엔드 영역의 다섯 스택은 DynamoDB 테이블, Lambda 함수, API Gateway 엔드포인트, Amazon Bedrock Knowledge Bases, Amazon Cognito를 구성한다. Gateway 영역의 한 스택은 MCP 프로토콜을 사용하는 AgentCore Gateway를 만들고, 각 백엔드 엔드포인트를 에이전트가 이름으로 호출할 수 있는 도구로 노출한다. Runtime 영역의 두 스택은 실행 인프라를 마련하며, Amazon S3에 소스를 업로드하고 AWS CodeBuild로 ARM64 Docker 이미지를 생성해 Amazon ECR에 저장한 뒤 WebSocket을 지원하는 AgentCore runtime에서 실행한다. 프런트엔드 영역의 한 스택은 React 앱을 AWS Amplify에 배포하며, 이러한 분리는 화면·도구 연결·에이전트 실행·업무 데이터를 각각 관리하는 구조를 보여준다.
4. 인증부터 음성 응답과 상담원 연결까지
사용자가 브라우저나 모바일 기기에서 AWS Amplify의 웹 앱에 로그인하면 Amazon Cognito가 인증을 처리하고 JWT와 임시 AWS 자격 증명을 반환한다. 프런트엔드는 SigV4로 서명한 WebSocket 연결을 AgentCore에 열고, runtime은 Cognito로 토큰을 검증한 뒤 Amazon Bedrock을 통해 Amazon Nova 2.5 Sonic을 초기화한다. 사용자 음성에 따라 에이전트가 AgentCore Gateway의 MCP 도구를 호출하면, Gateway가 REST 요청으로 변환하고 API Gateway가 해당 Lambda 함수로 전달한다. Lambda는 DynamoDB에서 예약·승객·좌석 배치·로열티 상태·항공편 정보를 조회하고 필요한 이메일을 Amazon SES로 발송하며, 모델은 결과를 반영한 음성 응답을 같은 WebSocket 연결로 스트리밍한다. 정책 질문은 Gateway의 MCP Knowledge Base 커넥터를 통해 관련 문서 구절과 인용을 가져오며, 상담원 연결 요청에서는 Lambda가 이관 내용을 DynamoDB에 기록하고 참조 번호를 반환한 뒤 Amplify가 사용자 기기에서 통화를 시작하도록 한다. 원문은 상담원 이관 기능이 참조 번호와 예상 대기 시간을 제공한다고 소개하지만, 요청 흐름에서 구체적으로 설명하는 반환 정보는 참조 번호다.
5. 배포 전제조건과 일상 운영
배포에는 AWS 계정과 해당 AWS 리전에서의 Amazon Nova 2.5 Sonic 모델 접근 권한이 필요하며, 리전별 모델 가용성은 Amazon Bedrock의 지원 모델 안내에서 확인하도록 한다. 개발 도구로는 Node.js 20.x 이상, 데이터 초기화와 테스트 클라이언트를 위한 Python 3.12 이상, 자격 증명이 설정된 AWS CLI 2.x, 설치와 계정 부트스트랩을 마친 AWS CDK CLI 2.x가 요구된다. Amazon Bedrock Knowledge Bases는 서비스 관리형 임베딩 모델을 사용하므로 별도의 임베딩 모델 접근 권한은 필요하지 않으며, 예제 코드는 aws-samples GitHub 저장소에서 제공한다. 저장소를 복제하고 AWS 자격 증명을 설정한 뒤 단일 CDK 배포 스크립트를 실행하는 방식이며, 구체적인 절차는 저장소 README를 참조하도록 한다. 빌드 과정은 에이전트 소스를 Amazon S3에 올리고 CodeBuild로 컨테이너 이미지를 만들어 ECR에 저장하며, 운영 중에는 Amazon CloudWatch가 서비스 전반의 로그·지표·알림을 수집하고 AWS KMS가 저장 데이터를 암호화한다.
6. 예제 항공사 데이터와 정책 문서
예제 백엔드는 IAM으로 인가되는 REST 엔드포인트를 API Gateway에 공개하고, Lambda 통합을 통해 항공사 업무 로직을 실행한다. Amazon DynamoDB에는 고객 프로필, 예약, 승객, 좌석 배치, 구매 이력, 선호 정보, 대화 기록과 항공편 상태를 저장하며, 원문은 한 자릿수 밀리초 지연 시간과 온디맨드 확장을 특징으로 제시한다. 정책 질문은 수하물 한도, 변경 수수료, 반려동물 동반 여행, 로열티 조건처럼 항공사 문서에 근거해야 하는 내용을 포함한다. 저장소는 수하물, 취소와 환불, 변경과 재예약, 운임 등급 규칙, 로열티 조건, 반려동물 여행, 특별 지원, 업그레이드에 관한 예제 정책 문서를 제공한다. 업무 데이터 조회·변경은 백엔드 도구가 처리하고 정책 설명은 Amazon Bedrock Knowledge Bases의 RAG를 활용하므로, 컨시어지는 거래성 요청과 문서 기반 질문을 각각 적절한 데이터 경로로 처리한다.
7. 관리형 지식 베이스의 처리와 직접 연결
정책 문서를 Amazon S3에 업로드하고 지식 베이스를 한 번 생성하면, Amazon Bedrock이 임베딩, 청킹, 색인, 저장과 검색을 관리한다. 저장에는 Amazon S3의 기능인 Amazon S3 Vectors를 사용하고, Smart Parsing은 원본 PDF의 표와 구조화된 레이아웃이 정확히 검색되도록 문서를 준비한다. 정책이 변경되면 지식 베이스를 동기화해 새 내용을 곧바로 사용할 수 있으며, 원문은 이를 위해 처리 파이프라인을 다시 배포할 필요가 없다고 설명한다. AgentCore Gateway에서 지식 베이스를 Connectors 대상으로 추가하고 표준 검색 또는 에이전트형 검색을 선택하면, 백엔드 API 도구와 함께 이름이 있는 MCP 도구로 노출된다. 에이전트는 실행 시 이 도구를 발견해 이름으로 호출하므로 별도 Lambda나 검색 코드를 작성할 필요가 없으며, 자체 정책을 적용하는 예제 절차로는 정책 문서 폴더에 PDF 또는 텍스트 파일을 넣고 지식 베이스 스택을 다시 배포하는 방법이 제시된다.
8. 실시간 음성 처리와 운영 보호 수단
각 대화 세션은 AgentCore runtime의 관리형 컨테이너에서 실행되고 microVM으로 격리되며, AgentCore는 자동 확장, 내장 모니터링과 세션 라우팅을 제공한다. 에이전트는 Strands BidiAgents로 시스템 프롬프트·도구·대화 흐름을 정의하고, Amazon Nova 2.5 Sonic은 억양과 배경 소음에 대응하는 음성 인식, 사용자 어조에 맞춘 응답, 낮은 지연의 양방향 스트리밍을 지원한다고 설명된다. 비동기 도구 호출은 대화를 멈추지 않고 데이터 조회나 도구 실행을 병렬로 진행하며, 결과 대기 중 중간 음성 응답을 생성하는 지연 마스킹, 발화 끼어들기, 자연스러운 턴 교대와 여러 턴의 문맥 유지도 제시된다. 프런트엔드는 16 kHz PCM 오디오를 WebSocket으로 보내고, 모델의 음성 전사와 에이전트의 도구 선택을 거쳐 MCP·REST·Lambda 경로의 결과가 음성 응답에 반영된다. 예제는 쓰기 작업 전 사용자 확인과 정책 문서 인용을 기본 보호 수단으로 사용하며, 운영 배포에서는 프롬프트 인젝션 시도를 걸러내고 응답의 근거를 검증하도록 Amazon Bedrock Guardrails 추가를 권고한다. 마지막으로 모델의 새 기능을 소개하는 부분에서 Amazon Nova 2.5 Sonic의 실시간 음성 추론 능력을 언급하지만, 제공된 본문이 문장 도중 끝나므로 이후의 기능 설명은 확인할 수 없다.
🧾 핵심 주장 / 시사점
- 화면과 음성 대화를 같은 세션에서 병행하는 구성이므로, 기존 항공사 앱의 기능을 유지하면서 음성으로 접근 가능한 업무를 확장하는 방식이다.
- MCP를 통한 백엔드 연결과 지식 베이스의 직접 도구 노출은 업무 API와 정책 검색을 에이전트가 호출하는 공통 도구 체계로 묶는다.
- 관리형 확장과 세션 격리, 변경 전 확인, 문서 인용은 서로 다른 요구를 담당하며, 원문은 운영 배포에서 Amazon Bedrock Guardrails를 추가하는 접근을 제시한다.
✅ 액션 아이템
- AWS CDK 배포에 앞서 배포 리전의 Amazon Nova 2.5 Sonic 모델 접근 권한과 필수 도구 버전 확인.
- Amazon Bedrock Knowledge Bases의 항공사 정책 문서 연결 및 정책 변경 시 지식 베이스 동기화 적용.
- 운영 배포에 Amazon Bedrock Guardrails 추가 검토와 변경 전 사용자 확인·정책 문서 인용 적용.
❓ 열린 질문
- 기존 항공사 앱에서 여행 일정 조회, 좌석 변경, 기내식 선호 업데이트 중 어떤 기능부터 음성으로 제공할 것인가?
- Amazon Bedrock Knowledge Bases에 연결할 항공사 정책 문서는 무엇이며, 정책 변경 시 지식 베이스 동기화를 어떻게 수행할 것인가?
- 운영 배포에서 변경 전 사용자 확인과 정책 문서 인용에 더해 Amazon Bedrock Guardrails를 어떻게 적용할 것인가?