Рестораны быстрого питания часто принимают заказы через приложение, сайт, телефон и кассу. Каждый канал — это отдельная система, которую нужно разрабатывать и поддерживать. При этом история клиента фрагментируется: один и тот же человек выглядит незнакомцем при переходе на другой канал. AWS предложил решение, которое объединяет каналы в одном агенте, работающем в WhatsApp.

Опубликованная на AWS Machine Learning Blog архитектура использует Amazon Bedrock AgentCore для управления агентами и модели Amazon Nova 2. Nova 2 Lite обрабатывает текстовые сообщения через Amazon Bedrock Converse API, а Nova 2 Sonic обеспечивает речевое взаимодействие в голосовых заметках и звонках. Клиент может написать ресторану, отправить голосовое сообщение или позвонить — агент принимает заказ от приветствия до подтверждения. Все три канала используют общий бэкенд и единую память, поэтому клиент, который сегодня пишет, а завтра звонит, распознается как один и тот же человек.

WhatsApp Business Platform выступает в роли «входной двери» для клиентов. Это управляемый сервис Meta, который предоставляет Cloud API, Messages API, Media API и Calling API. AWS CDK разворачивает все ресурсы на стороне AWS: API Gateway для вебхука и внутреннего API, Lambda для бизнес-логики, SQS для асинхронной обработки, DynamoDB для хранения данных, а также другие сервисы. Вебхук принимает входящий трафик, сразу отвечает кодом 200, а затем обрабатывает запрос асинхронно, чтобы не блокировать ответ.

Решение AWS использует Amazon Bedrock AgentCore для хостинга агентов и Amazon Nova 2 Lite для текста, Nova 2 Sonic для речи.

Architecture diagram of the WhatsApp ordering solution across ingress, agent runtimes, AI models, backend APIs, and storage on AWS
Architecture diagram of the WhatsApp ordering solution across ingress, agent runtimes, AI models, backend APIs, and storage on AWS · Источник: AWS Machine Learning Blog

Ключевая особенность — разделение каналов и логики заказа. Это позволяет добавлять или удалять каналы без изменения бэкенда. Агенты размещаются в AgentCore runtime, где каждая сессия изолирована в отдельной microVM. AgentCore Gateway выступает как управляемый MCP-сервер, который предоставляет агентам инструменты для доступа к REST API бэкенда. AgentCore memory хранит общую запись, ключом которой является хэшированный ID клиента.

Для голосовых звонков используется Amazon Kinesis Video Streams для сигнализации и TURN-реле для передачи медиа. Это единственный компонент, который требует VPC с NAT-шлюзом. Безопасность обеспечивается через AWS Secrets Manager для хранения токенов Meta, AWS KMS для шифрования данных и CloudWatch для мониторинга.

Такое решение может быть интересно не только ресторанам, но и другим businesses, которые хотят предложить клиентам удобный канал заказа через мессенджеры. Оно снижает затраты на разработку и поддержку нескольких систем, а также улучшает клиентский опыт за счет персонализации. Однако для внедрения потребуется интеграция с WhatsApp Business API и настройка инфраструктуры AWS, что может быть сложным для небольших компаний без опыта в облаке.