AWS Machine Learning Blog→ оригинал

AWS объяснила, как развернуть голосовых AI-агентов Pipecat в Bedrock AgentCore Runtime

AWS выпустила первую часть практического гайда по голосовым агентам Pipecat в Bedrock AgentCore Runtime. В центре — выбор транспорта: от простых WebSockets до W

◐ Слушать статью

AWS выпустила первую часть практического гайда о том, как разворачивать голосовых агентов Pipecat в Amazon Bedrock AgentCore Runtime. В центре внимания — не сами модели, а транспортный слой, от которого зависит, будет ли разговор звучать живо или пользователь услышит паузы и задержки.

Почему важна задержка

Голосовой агент почти всегда работает в неблагодарных условиях: браузер, мобильное приложение или телефонный звонок, нестабильная сеть, скачки нагрузки и ожидание ответа в реальном времени. AWS делает акцент на том, что для естественного диалога задержка должна оставаться почти незаметной — обычно в пределах одной секунды от конца реплики пользователя до начала ответа. Иначе разговор ломается: собеседник перебивает агента, думает, что тот завис, или просто уходит.

Особенно критично это для саппорта, виртуальных ассистентов и исходящих кампаний. Чтобы снизить этот риск, AWS предлагает запускать Pipecat-агентов в Bedrock AgentCore Runtime — защищённой serverless-среде для AI-агентов. Каждая сессия работает в изолированной microVM, платформа автоматически масштабируется под всплески трафика и умеет держать непрерывные разговоры до восьми часов.

Это важно для длинных многошаговых звонков, где нельзя просто обрывать контекст. Ещё один плюс — оплата только за реально используемые ресурсы, без постоянного резерва серверов на пиковую нагрузку. Сам Pipecat при этом можно упаковать в контейнер и развернуть почти без сложной обвязки, если собирать образ под ARM64.

Какие есть варианты В первой части AWS разбирает именно путь от

клиента к агенту — тот самый «первый хоп», который сильнее всего влияет на ощущение скорости. Компания сравнивает четыре подхода: обычные WebSockets, WebRTC с TURN-помощью, управляемый WebRTC через специализированных провайдеров и телефонию для работы с PSTN и контакт-центрами. У каждого варианта свой баланс между простотой, стабильностью и качеством связи.

Идея простая: не существует одного лучшего транспорта для всех, но есть понятные сценарии, где каждый из них выглядит разумным стартом. WebSockets — самый простой вариант для прототипов и лёгких сценариев в вебе и мобильных приложениях. WebRTC с TURN — лучший выбор, если нужна более низкая задержка и устойчивость на плохих сетях.

Управляемый WebRTC — путь в продакшен, когда хочется отдать глобальную медиасеть, аналитику и relay-инфраструктуру внешнему сервису. Телефония — вариант для звонков, замены IVR, исходящих кампаний и интеграции с контакт-центрами. Для WebSockets AWS показывает максимально прямую схему.

Клиент сначала запрашивает у промежуточного сервера подписанный адрес, этот сервер через AWS SDK генерирует pre-signed URL с SigV4-подписью, а дальше браузер уже подключается напрямую к агенту по адресу /ws. За счёт этого учётные данные не светятся на стороне клиента, а сам трафик после установки соединения идёт без лишнего посредника. Такой подход AWS называет хорошей стартовой точкой: он проще остальных, нативно поддерживается большинством клиентов и подходит для быстрой проверки продукта.

Что учесть в продакшене

Если задача — не демо, а стабильный разговорный интерфейс, AWS советует смотреть в сторону WebRTC. Этот транспорт обычно работает поверх UDP, лучше переносит плавающие сетевые условия и быстрее доставляет аудио в обе стороны. Но в AgentCore есть архитектурные нюансы.

Напрямую peer-to-peer подключение здесь не подходит, потому что runtime-окружение не получает публичный IP. STUN-сценарий тоже не срабатывает как основной путь: AWS указывает, что NAT Gateway использует symmetric NAT, из-за чего прямое пробитие соединения ломается. Поэтому практическая рекомендация — TURN relay и VPC-конфигурация для runtime.

В рабочей схеме нужно настроить переменную ICE_SERVER_URLS и на промежуточном сервере, и в окружении агента, затем разместить AgentCore Runtime в приватной подсети VPC и дать ему выход наружу через NAT Gateway. В качестве AWS-native варианта для TURN компания предлагает Amazon Kinesis Video Streams: сервис выдаёт временные, автоматически ротируемые ICE-учётные данные через API GetIceServerConfig. Это убирает внешнюю зависимость, но есть ограничения: активный сигнальный канал стоит 0.

03 доллара в месяц, лимит составляет 5 TPS на канал, а значит при большом объёме новых сессий придётся распределять нагрузку по нескольким каналам. Плюс для доступа к KVS всё равно нужен выход в интернет. AWS отдельно отмечает и managed WebRTC-провайдеров из AWS Marketplace.

Такой вариант полезен, если кроме транспорта нужны глобально распределённые SFU/TURN-узлы, встроенная observability и поддержка многопользовательских комнат, а не только диалог один на один. Для телефонных сценариев логика похожая: агент продолжает держать постоянный двусторонний аудиопоток, но подключается к телеком-провайдеру через SIP, WebSocket или WebRTC. Pipecat уже даёт готовые транспорты и сериализаторы, поэтому задача сводится не к написанию голосового стека с нуля, а к выбору подходящего канала.

Что это значит AWS фактически показывает, что у голосовых AI-агентов

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

ЖХ
Hamidun News
AI‑новости без шума. Ежедневный редакторский отбор из 400+ источников. Продукт Жемала Хамидуна, Head of AI в Alpina Digital.
Загружаем комментарии…