Технологии

AWS собрала голосового консьержа для авиапутешествий на Bedrock AgentCore и Nova 2.5 Sonic

AWS показала, как добавить в приложение авиакомпании голосового консьержа на трёх управляемых сервисах — Amazon Bedrock AgentCore, Amazon Nova 2.5 Sonic и Amazon Bedrock Knowledge Bases. Решение разворачивается единым скриптом AWS CDK, ведёт диалог 16-кГц-аудио по одному WebSocket и умеет менять место, проверять задержку рейса, отвечать на вопросы о правилах по цитатам из документов и передавать путешественника живому оператору.

AWS собрала голосового консьержа для авиапутешествий на Bedrock AgentCore и Nova 2.5 Sonic

Зачем авиакомпании голосовой слой

У авиакомпаний уже есть приложения и сайты, где путешественники проверяют рейсы, выбирают места и управляют бронированием. Голосовой слой открывает те же задачи для произнесённых запросов: сменить место или узнать о задержке можно голосом, не уходя из приложения и не пробираясь через экраны. Но построить его непросто: аудио нужно стримить в обе стороны, агенту требуются инструменты, доступ к данным и политикам, а диалог должен оставаться естественным даже когда данные подгружаются в фоне.

AWS показывает, как собрать такого голосового консьержа для приложения авиакомпании на трёх управляемых сервисах. Amazon Bedrock AgentCore — агентная платформа для безопасной сборки, развёртывания и эксплуатации ИИ-агентов в масштабе с любым фреймворком и моделью на выбор; Amazon Nova Sonic на Bedrock — модель речь-в-речь для голоса в реальном времени; Amazon Bedrock Knowledge Bases — полностью управляемый сервис для работы с базой знаний. Консьерж работает рядом с существующими экранами, а не вместо них, так что путешественник в одной сессии переключается между нажатиями и разговором, и опирается на сервисы, которые масштабируются по требованию. ИИ-слой подключается к примерному backend авиакомпании с синтетическими данными, что ускоряет адаптацию шаблона под свои системы.

Что именно разворачивается

Авторы перечисляют, чему учит материал: развернуть голосового ИИ-консьержа на AWS с помощью AWS Cloud Development Kit (AWS CDK); собрать агента на фреймворке Strands Agents и модели Amazon Nova 2.5 Sonic для речи в реальном времени, разместив его на AgentCore runtime; подключить агента к backend-сервисам через Model Context Protocol (MCP) через AgentCore Gateway; отвечать на вопросы о правилах авиакомпании с помощью Amazon Bedrock Knowledge Bases; и передавать путешественника живому оператору с номером обращения и оценкой времени ожидания.

Архитектура разделяет front end, ИИ-агента и backend на отдельные слои, чтобы каждый развивался и масштабировался самостоятельно, а MCP — открытый стандарт подключения ИИ-приложений к внешним инструментам и данным — переносит стандартизованные сообщения между агентом и backend, удерживая их слабо связанными. В решении задействованы: Amazon Cognito для аутентификации и временных учётных данных AWS для подписанных вызовов API; AgentCore runtime для хостинга агента с изоляцией microVM на каждую сессию; AgentCore Gateway, публикующий backend-эндпоинты как обнаруживаемые MCP-инструменты; Amazon API Gateway с REST-эндпоинтами под авторизацией IAM; AWS Lambda с бизнес-логикой маршрутов, карт мест, обновлений пассажиров, статуса рейсов, лояльности, поиска политик и эскалации; Amazon DynamoDB для профилей, броней, пассажиров, карт мест, истории покупок, предпочтений, диалогов и данных о рейсах; Amazon Bedrock Knowledge Bases для ответов по политикам; Amazon Simple Email Service (Amazon SES) для писем; и AWS Amplify для хостинга React-фронтенда.

Развёртывание разбито на четыре секции: пять стеков CDK для backend (таблицы DynamoDB, функции Lambda, эндпоинты API Gateway, база знаний и Cognito); один стек для AgentCore Gateway с протоколом MCP; два стека для runtime (образ в Amazon ECR, исходники в Amazon S3 и образ ARM64-контейнера, который собирает AWS CodeBuild); и один стек для React-приложения на AWS Amplify.

Как проходит один запрос

Путешественник открывает веб-приложение на AWS Amplify и входит в него; Amazon Cognito аутентифицирует запрос и возвращает JSON Web Tokens (JWT) и временные учётные данные AWS. Фронтенд открывает подписанное SigV4 WebSocket-соединение с Amazon Bedrock AgentCore, чтобы начать сессию голосового консьержа. Runtime проверяет токен через Cognito и инициализирует Amazon Nova 2.5 Sonic через Amazon Bedrock.

Когда пользователь говорит, Nova 2.5 Sonic обрабатывает аудио и вызывает инструменты: агент обращается к AgentCore Gateway по MCP, чтобы получить данные о рейсах, управлять бронированием и обновлять предпочтения пассажира. Gateway пересылает запросы как REST-вызовы в API Gateway, тот маршрутизирует их в функции Lambda, а те обращаются к таблицам DynamoDB за бронями, пассажирами, картами мест, статусом лояльности и информацией о рейсах; уведомления уходят через Amazon SES. Nova 2.5 Sonic формирует контекстный голосовой ответ и стримит его обратно по WebSocket через AgentCore runtime. Для вопроса о правилах Gateway обращается к Amazon Bedrock Knowledge Bases напрямую через коннектор MCP Knowledge Base, и база возвращает агенту релевантные фрагменты политики в виде цитат. Когда путешественник просит живого оператора, Lambda фиксирует эскалацию в DynamoDB и возвращает номер обращения, после чего фронтенд запускает звонок с устройства пользователя.

Голос: что даёт Nova 2.5 Sonic

Каждая сессия консьержа исполняется как управляемый контейнер на AgentCore runtime с изоляцией microVM, так что диалоги пассажиров не смешиваются под нагрузкой, а платформа сама обеспечивает автомасштабирование, встроенный мониторинг и маршрутизацию сессий. Агент описан через фреймворк Strands BidiAgents, который задаёт системный промпт, инструменты и ход диалога.

Nova 2.5 Sonic приносит в консьержа распознавание речи с учётом акцентов и устойчивостью к фоновому шуму; устные ответы, подстраивающиеся под тон путешественника; двунаправленный стриминг с низкой задержкой; асинхронный вызов инструментов, который подтягивает данные или делает вызовы параллельно, не останавливая разговор; маскировку задержки, генерирующую промежуточные реплики, пока ждёт результаты инструментов; перебивание и естественную смену реплик; и контекст, переносимый через множество ходов. Аудио идёт с фронтенда как 16-кГц PCM по WebSocket в AgentCore runtime; Sonic транскрибирует речь, агент выбирает нужные инструменты и вызывает их по MCP, Gateway превращает каждый MCP-вызов в REST-запрос, Lambda выполняет логику, а Sonic складывает результаты в устный ответ.

В версии Nova 2.5 Sonic авторы отдельно отмечают три улучшения: лучший вызов инструментов и выполнение агентных задач — модель надёжно выбирает и связывает инструменты в многошаговых запросах, например ищет маршрут, а затем в том же разговоре меняет место; сильное следование инструкциям — включая такое форматирование, как чтение кодов подтверждения и номеров рейсов по одному символу; и аккуратную работу с ответственными ИИ-сценариями — модель помогает в настоящих запросах и безопасно отвечает на неподобающие.

Политики по цитатам и живой оператор

Путешественники спрашивают про нормы багажа, плату за изменение, перевозку животных и условия лояльности. Ответы строятся через Retrieval Augmented Generation (RAG) в Amazon Bedrock Knowledge Bases: ответы привязываются к документам политики авиакомпании. В репозитории есть образцы документов о багаже, отмене и возвратах, изменениях и перебронировании, правилах тарифа и условиях лояльности; документы загружаются в Amazon S3 и база знаний создаётся один раз, после чего Bedrock сам делает эмбеддинги, чанкинг, индексацию, хранение и поиск. Хранение работает на Amazon S3 Vectors, а Smart Parsing готовит исходные PDF так, чтобы таблицы и структурированные блоки извлекались точно; при изменении документов база синхронизируется. Подключение к агенту идёт через AgentCore Gateway: база добавляется как цель-коннектор, выбирается обычный или агентный поиск, и Gateway выставляет её именованным MCP-инструментом рядом с инструментами backend-API, так что агент обнаруживает её в рантайме и вызывает по имени без своего Lambda или кода извлечения.

Когда консьерж не может выполнить запрос или путешественник сам просит человека, агент вызывает инструмент EscalateToAgent: Lambda записывает эскалацию в DynamoDB и возвращает номер обращения с оценкой времени ожидания, агент его сообщает, а фронтенд на Amplify звонит на линию поддержки. Для продакшена авторы советуют добавить Amazon Bedrock Guardrails, чтобы фильтровать попытки внедрения промптов и проверять обоснованность ответов; при этом шаблон «подтверди перед записью», при котором агент просит пассажира подтвердить изменение до записи, вместе с цитатами из базы знаний уже даёт базовый уровень ответственного подхода к ИИ.

Чтобы всё это запустить, нужны аккаунт AWS и доступ к модели Amazon Nova 2.5 Sonic в регионе развёртывания, Node.js 20.x или новее для AWS CDK и функций Lambda, Python 3.12 или новее для наполнения данными и тестового клиента, настроенный AWS CLI 2.x, установленный AWS CDK CLI 2.x и сопроводительный код из репозитория aws-samples. Данные хранятся в DynamoDB с задержкой в единицы миллисекунд и масштабированием по требованию, а разворачивается всё одним скриптом, который затем собирает образ контейнера и публикует его в Amazon ECR.

Первоисточники

  1. Build a voice travel concierge with Amazon Bedrock AgentCore, Managed Knowledge Base and Nova Sonic — AWS Machine Learning Blog, 6 октября 2026