TL;DR
이 글은 하나의 WhatsApp Business 번호에서 텍스트, 음성 메모, 음성 통화를 모두 처리하는 주문용 멀티모달 에이전트를 AWS에 배포하는 방법을 설명합니다. Meta WhatsApp Business Platform의 단일 webhook은 서명을 검증한 뒤 Amazon SQS에 메시지를 넣고 즉시 200을 반환하며, 이후 Webhook Worker가 채널에 맞는 Amazon Bedrock AgentCore 런타임을 호출합니다. 텍스트는 Amazon Nova 2 Lite, 음성 메모와 통화는 Amazon Nova 2 Sonic이 처리하고, AgentCore Gateway는 MCP 도구를 통해 메뉴·장바구니·주문 백엔드와 연결됩니다. 세 런타임은 해시된 customer_id를 키로 하나의 AgentCore memory를 공유하므로 고객이 다른 채널로 이동해도 주문 이력과 선호도를 이어갑니다. AWS CDK와 CodeBuild로 ARM64 컨테이너를 빌드할 수 있지만 Meta 설정, Bedrock 모델 접근 권한, 음성 채널 비용과 운영 보안은 별도로 준비해야 합니다.
섹션별 상세




git clone https://github.com/aws-samples/sample-multimodal-whatsapp-restaurant-agent.git
cd sample-multimodal-whatsapp-restaurant-agent
./scripts/preflight-check.sh
./scripts/deploy-all.sh --deploymentPrefix qsr-wa샘플 저장소를 복제하고 사전 점검을 실행한 뒤 qsr-wa 접두사로 전체 AWS 스택을 배포합니다.
cd scripts/whatsapp-setup
npm start # choose "Pre-deploy", then "Post-deploy" after deploy
node whatsapp-setup.mjs --doctor # read-only end-to-end checkMeta WhatsApp 설정값을 배포 전후 단계로 연결하고 읽기 전용 doctor 명령으로 전체 연결 상태를 확인합니다.
용어 해설
- AgentCore Runtime
- — Amazon Bedrock AgentCore에서 에이전트 컨테이너를 실행하는 런타임입니다. 이 솔루션은 채팅, 음성 메모, 음성 통화마다 별도 런타임을 두고 각 대화를 독립적인 microVM 세션으로 처리해 채널별 실행 환경과 세션을 분리합니다.
- Model Context Protocol
- — AI 에이전트가 외부 기능을 이름 기반 도구로 호출하도록 연결하는 프로토콜입니다. AgentCore Gateway가 주문 백엔드 REST API의 엔드포인트를 MCP 도구로 노출하므로 에이전트는 Lambda 함수 구현을 직접 알지 않고 메뉴 조회나 주문 등록을 수행합니다.
- WebRTC
- — 브라우저나 실시간 통신 시스템에서 음성·영상 미디어를 전송하는 기술입니다. 이 구조에서는 WhatsApp Calling API가 전달한 SDP를 음성 통화 런타임이 처리하고, Amazon KVS TURN relay를 통해 DTLS/SRTP 통화 미디어를 중계합니다.
- TURN 릴레이(TURN relay)
- — 직접 연결이 어려운 네트워크 환경에서 실시간 미디어를 중계하는 서버입니다. 음성 통화 런타임은 공개 IP 없이 VPC 안에서 실행되므로 Amazon KVS가 제공하는 TURN 자격 증명과 릴레이를 사용해 WhatsApp과 통화 미디어를 주고받습니다.
- Dead-letter queue
- — 여러 차례 처리에 실패한 메시지를 별도 보관하는 Amazon SQS 대기열입니다. Webhook Worker가 메시지를 처리하지 못하면 재시도 후 dead-letter queue로 이동시키므로 실패한 주문 요청을 나중에 조사할 수 있습니다.
- 가명 고객 ID(Pseudonymous customer ID)
- — 원본 식별자를 직접 저장하지 않고 변환해 사용하는 고객 식별자입니다. 시스템은 E.164 전화번호와 Parameter Store의 비밀 pepper를 SHA-256으로 해시해 `wa-` 접두사가 붙은 customer_id를 만들고, 이 값을 AgentCore memory와 세션 키에 사용합니다.
기술
- Meta WhatsApp Business Platform
- Amazon Bedrock AgentCore
- Amazon Nova 2 Lite
- Amazon Nova 2 Sonic
- Amazon Bedrock Converse API
- Model Context Protocol (MCP)
- AWS Cloud Development Kit (AWS CDK)
- Amazon API Gateway
- AWS Lambda
- Amazon Simple Queue Service (Amazon SQS)
- Amazon DynamoDB
- Amazon Location Service
- Amazon Kinesis Video Streams (Amazon KVS)
- WebRTC
- Amazon VPC
- AWS Secrets Manager
- AWS Systems Manager Parameter Store
- Amazon Elastic Container Registry (Amazon ECR)
- AWS CodeBuild
- Amazon Simple Storage Service (Amazon S3)
- Amazon CloudWatch
- AWS Key Management Service (AWS KMS)
활용 사례
- WhatsApp 기반 음식점 주문 접수
- 문자와 음성 채널을 함께 사용하는 고객 지원
- 소매 고객 지원
- 의료 intake
- 현장 서비스 일정 예약
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.