AWS Machine Learning

Cree un conserje de viajes por voz con Amazon Bedrock AgentCore, Managed Knowledge Base y Nova Sonic

Agregue un conserje de viajes por voz a una aplicación de aerolínea con Amazon Bedrock AgentCore, Amazon Nova Sonic para voz en tiempo real y Amazon Bedrock Knowledge Bases para respuestas sobre políticas. Los viajeros…

End-to-end voice concierge architecture spanning the backend, AgentCore Gateway, AgentCore runtime, and front end
Fuente de la imagen · AWS Machine Learning

Las aerolíneas ya cuentan con aplicaciones y sitios web donde los viajeros consultan vuelos, eligen asientos y gestionan reservas, y añadir una capa de voz natural abre esas tareas a solicitudes habladas. Con esta capa de voz, un viajero puede cambiar un asiento o consultar un retraso hablando, sin salir de la aplicación ni navegar por pantallas. Construirlo requiere una ingeniería cuidadosa en varios frentes. Debe transmitir audio en ambas direcciones y mantener el hilo de una conversación a lo largo de muchos turnos. También debe acceder a sus sistemas backend existentes sin acoplar estrechamente el agente a ellos, y escalar cuando el tráfico se dispara antes de un fin de semana festivo.

Esta publicación le muestra cómo agregar un conserje de viajes por voz a una aplicación de aerolínea, construido sobre tres servicios administrados. Amazon Bedrock AgentCore es una plataforma agéntica para construir, desplegar y operar agentes de IA de forma segura a escala con el marco de trabajo y el modelo que elija. Amazon Nova Sonic en Bedrock es un modelo de voz a voz para voz en tiempo real. Amazon Bedrock Knowledge Bases es un servicio de generación aumentada por recuperación totalmente administrado que fundamenta las respuestas en sus propios documentos. Un viajero habla, y el conserje recupera su itinerario, cambia un asiento, actualiza una preferencia de comida, responde una pregunta sobre políticas y lo conecta con un agente en vivo si se solicita.

El conserje funciona junto a sus pantallas existentes en lugar de reemplazarlas, por lo que los viajeros alternan entre tocar y hablar en la misma sesión. Se ejecuta en servicios que escalan bajo demanda, por lo que dedica su tiempo a la experiencia en lugar de a la infraestructura. La capa de IA se conecta a un backend de aerolínea de ejemplo con datos sintéticos, lo que acelera su implementación cuando adapta el patrón a sus propios sistemas. El proyecto se divide en módulos, por lo que puede reutilizar las piezas que se ajusten a su backend existente y exponerlas al agente como herramientas.

Aprenderá a hacer lo siguiente:

  • Desplegar un conserje de IA por voz en AWS usando el AWS Cloud Development Kit (AWS CDK).
  • Construir un agente con el marco de trabajo Strands Agents y Amazon Nova 2.5 Sonic para voz en tiempo real, alojado en AgentCore runtime, una capacidad del marco de trabajo Amazon Bedrock AgentCore.
  • Conectar el agente a servicios backend con el Model Context Protocol (MCP) a través de AgentCore Gateway, una capacidad de Amazon Bedrock AgentCore.
  • Responder preguntas sobre políticas de la aerolínea con Amazon Bedrock Knowledge Bases.
  • Transferir a un viajero a un agente en vivo con un número de referencia y un tiempo de espera estimado.

Descripción general de la solución

La arquitectura separa el front end, el agente de IA y los servicios backend en capas distintas, por lo que puede desarrollar y escalar cada una por separado. MCP es un estándar abierto para conectar aplicaciones de IA con herramientas y datos externos. Transporta mensajes estandarizados entre el agente y el backend, lo que mantiene a ambos débilmente acoplados.

La solución despliega los siguientes servicios.

Arquitectura

El siguiente diagrama muestra la arquitectura de la solución, organizada en cuatro secciones.

End-to-end voice concierge architecture spanning the backend, AgentCore Gateway, AgentCore runtime, and front end

Figura 1: Arquitectura de extremo a extremo en el backend, el AgentCore Gateway, el runtime de AgentCore y el front end

La Sección A cubre la infraestructura del backend. Cinco stacks de CDK despliegan tablas de DynamoDB, funciones de Lambda, endpoints de API Gateway, Amazon Bedrock Knowledge Bases y Amazon Cognito.

La Sección B cubre el AgentCore Gateway. Un stack de CDK crea el Amazon Bedrock AgentCore Gateway con el protocolo MCP y expone cada endpoint del backend como una herramienta que el agente puede invocar por su nombre.

La Sección C cubre el runtime de AgentCore. Dos stacks de CDK aprovisionan la infraestructura del runtime. Amazon Elastic Container Registry (Amazon ECR) almacena la imagen de contenedor, Amazon Simple Storage Service (Amazon S3) guarda las cargas de código fuente y AWS CodeBuild produce la imagen de Docker ARM64. El runtime de Amazon Bedrock AgentCore se ejecuta con soporte de WebSocket usando el framework Strands Agents con Amazon Nova 2.5 Sonic.

La Sección D cubre el front end. Un stack de CDK despliega la aplicación de React en AWS Amplify.

Flujo de solicitud del usuario

  1. El usuario abre la aplicación web, alojada en AWS Amplify, en un navegador o en un dispositivo móvil.
  2. El usuario ingresa sus credenciales en la página de inicio de sesión. Amazon Cognito autentica la solicitud y devuelve JSON Web Tokens (JWT) y credenciales temporales de AWS.
  3. El front end abre una conexión WebSocket firmada con SigV4 hacia Amazon Bedrock AgentCore para iniciar la sesión del conserje de voz.
  4. El runtime valida el token con Amazon Cognito e inicializa Amazon Nova 2.5 Sonic a través de Amazon Bedrock.
  5. El usuario pronuncia una solicitud. Amazon Nova 2.5 Sonic procesa el audio y activa las llamadas a herramientas. El agente gestiona la integración de herramientas invocando el AgentCore Gateway mediante MCP para recuperar datos de vuelos, gestionar reservas y actualizar las preferencias de los pasajeros.
  6. El AgentCore Gateway reenvía las solicitudes como llamadas a la API REST a Amazon API Gateway, que las enruta a las funciones de AWS Lambda.
  7. Las funciones de AWS Lambda consultan las tablas de Amazon DynamoDB para obtener reservas, pasajeros, mapas de asientos, estado de fidelización e información de vuelos. Las notificaciones por correo electrónico se envían a través de Amazon SES.
  8. Amazon Nova 2.5 Sonic genera una respuesta de voz contextual y la transmite de vuelta al usuario a través de la conexión WebSocket mediante el runtime de AgentCore.
  9. Para una pregunta sobre políticas, el AgentCore Gateway consulta Amazon Bedrock Knowledge Bases directamente a través del conector MCP Knowledge Base. La base de conocimiento devuelve al agente los pasajes de política relevantes como citas.
  10. Cuando el usuario solicita un agente en vivo, AWS Lambda registra la escalación en Amazon DynamoDB y devuelve un número de referencia. A continuación, AWS Amplify activa la llamada desde el dispositivo del usuario para conectarlo con el agente en vivo.

Compilación y operaciones

Los dos pasos siguientes se encuentran fuera de la conversación en vivo. Describen cómo se compila la solución y cómo funciona en el día a día.

  1. AWS CDK despliega la solución con un solo script. La compilación carga el código fuente del agente en Amazon S3 y activa AWS CodeBuild para producir la imagen de contenedor, que se almacena en Amazon ECR para el runtime de AgentCore.
  2. Amazon CloudWatch recopila registros, métricas y alertas en todos los servicios, y AWS Key Management Service (AWS KMS) cifra los datos en reposo.

Requisitos previos

Antes de comenzar, confirme que cuenta con lo siguiente.

Despliegue de la solución con AWS CDK

La solución se despliega con un único script de CDK. Clone el repositorio, configure sus credenciales de AWS y ejecute el script de despliegue. Para ver los pasos detallados de despliegue, consulte el README en el repositorio de GitHub.

El modelo de datos de aerolínea de ejemplo

API Gateway publica una API REST con endpoints autorizados por IAM e integración con Lambda. Amazon DynamoDB almacena el modelo de datos de aerolínea de ejemplo con latencia de un solo dígito en milisegundos y escalado bajo demanda. Los datos cubren perfiles de clientes, reservas, pasajeros, mapas de asientos, historial de compras, preferencias, transcripciones de conversaciones y estado de vuelos.

Responder preguntas de políticas con una base de conocimiento

Los viajeros preguntan sobre límites de equipaje, tarifas de cambio, viajes con mascotas y condiciones de fidelización. La solución responde esas preguntas usando Retrieval Augmented Generation (RAG) mediante Amazon Bedrock Knowledge Bases, fundamentando las respuestas en los documentos de políticas de su aerolínea. El repositorio incluye documentos de políticas de ejemplo sobre equipaje, cancelaciones y reembolsos, cambios y reubicaciones, reglas de clases tarifarias, condiciones de fidelización, viajes con mascotas, asistencia especial y mejoras de clase.

Usted carga sus documentos en Amazon S3 y crea la base de conocimiento una vez. A partir de ahí, Amazon Bedrock se encarga del resto, incluidos el embedding, el fragmentación, la indexación, el almacenamiento y la recuperación. El almacenamiento se ejecuta en Amazon S3 Vectors, una capacidad de Amazon S3. Smart Parsing prepara los PDF de origen para que las tablas y los diseños estructurados se recuperen con precisión. Cuando sus documentos de políticas cambian, sincroniza la base de conocimiento y el nuevo contenido está disponible de inmediato. No hay ningún pipeline que volver a desplegar.

Conectar la base de conocimiento al agente es directo a través de AgentCore Gateway. Usted añade la base de conocimiento como un destino de Connectors y elige recuperación estándar o agéntica, y el Gateway la expone como una herramienta MCP con nombre junto a sus herramientas de API de backend. El agente la descubre en tiempo de ejecución y la llama por su nombre, sin necesidad de escribir un Lambda personalizado ni código de recuperación. Para los pasos de configuración, consulte Add a knowledge base as a gateway target.

Para usar sus propias políticas, coloque sus archivos PDF o de texto en la carpeta de documentos de políticas y vuelva a desplegar el stack de la base de conocimiento.

Procesamiento de IA de voz con Amazon Bedrock AgentCore

Cada sesión se ejecuta como un contenedor administrado en AgentCore runtime con aislamiento microVM, manteniendo separadas las conversaciones de los viajeros bajo carga. AgentCore proporciona escalado automático, monitoreo integrado y enrutamiento de sesiones.

Para despliegues en producción, añada Amazon Bedrock Guardrails para filtrar intentos de inyección de prompts y validar el fundamentamiento de las respuestas. El patrón de confirmación antes de escribir en esta solución le pide al viajero confirmar antes de realizar cambios. Ese patrón, junto con las citas de la base de conocimiento que rastrean las respuestas hasta los documentos de origen, ya proporciona una base de práctica de IA responsable.

El agente usa el framework Strands BidiAgents para definir el prompt del sistema, las herramientas y el flujo de conversación. Amazon Nova 2.5 Sonic aporta las siguientes capacidades al conserje.

  • Reconocimiento de voz entre acentos y robustez frente al ruido de fondo.
  • Respuestas habladas que se adaptan al tono del viajero.
  • Streaming bidireccional con baja latencia.
  • Llamadas a herramientas asincrónicas que obtienen datos o realizan llamadas a herramientas en paralelo sin pausar la conversación.
  • Enmascaramiento de latencia que genera respuestas habladas provisionales mientras se esperan los resultados de las herramientas, manteniendo la conversación natural.
  • Interrupción (barge-in) y toma de turnos natural.
  • Contexto que se mantiene a lo largo de muchos turnos.

El audio fluye desde el front end como PCM de 16 kHz por el WebSocket hacia AgentCore runtime. Amazon Nova 2.5 Sonic transcribe el habla, el agente elige las herramientas adecuadas y las llama a través de MCP. El AgentCore Gateway traduce cada llamada MCP en una solicitud REST, Lambda ejecuta la lógica y devuelve los resultados, y Amazon Nova 2.5 Sonic incorpora esos resultados en una respuesta hablada.

Novedades de Amazon Nova 2.5 Sonic

Esta solución utiliza Amazon Nova 2.5 Sonic, un modelo de voz a voz con un razonamiento sólido para voz en tiempo real. Para un conserje de voz que llama a herramientas de backend y sigue una instrucción de sistema detallada, ese razonamiento se manifiesta de algunas maneras prácticas:

Mejor llamada de herramientas y finalización de tareas agénticas – El agente selecciona y encadena las herramientas correctas de manera confiable en solicitudes de varios pasos, como consultar un itinerario y luego cambiar un asiento en una misma conversación.

Fuerte seguimiento de instrucciones y razonamiento – El modelo se adhiere estrictamente a la instrucción del sistema, incluidas las reglas de formato como leer códigos de confirmación y números de vuelo un carácter a la vez.

Manejo preciso de IA responsable – El modelo responde de manera útil a las solicitudes genuinas de los viajeros mientras maneja de forma segura las inapropiadas.

Autenticación de usuario

La solución usa Amazon Cognito User Pools e Identity Pools para el acceso basado en roles. Un viajero inicia sesión con un nombre de usuario y una contraseña y recibe JWT, un token de acceso y un token de ID. El front end intercambia el token de ID con el Cognito Identity Pool por credenciales temporales de AWS que consisten en una clave de acceso, una clave secreta y un token de sesión. Esas credenciales firman la conexión WebSocket al AgentCore runtime y las solicitudes a API Gateway usando Signature Version 4 (SigV4). Solo los viajeros autenticados llegan a la aplicación y a las API del servicio.

Flujo de autenticación y conexión WebSocket

El front end usa las credenciales temporales de AWS para abrir una conexión WebSocket firmada con SigV4 al AgentCore runtime y envía el token de acceso para la verificación de identidad. El navegador entonces transmite audio PCM de 16 kHz y recibe respuestas de voz y notificaciones de herramientas por la misma conexión. No hay ningún proxy del lado del servidor en el medio.

La siguiente figura muestra la secuencia de autenticación y conexión WebSocket entre el navegador, Amazon Cognito y el AgentCore runtime.

Figura 2: Un viajero se autentica con Amazon Cognito, el navegador abre un WebSocket firmado con SigV4 al AgentCore runtime y Amazon Nova 2.5 Sonic transmite voz en ambos sentidos

Interacción de voz y llamada dinámica de herramientas

Un viajero pide ver sus asientos. Nova 2.5 Sonic transcribe la solicitud y el agente selecciona las herramientas que necesita. Las llama en paralelo a través del AgentCore Gateway usando MCP, y el Gateway traduce cada llamada a una solicitud REST a API Gateway. Las funciones de Lambda consultan DynamoDB y devuelven los resultados, y Nova 2.5 Sonic transmite una respuesta hablada que integra todo. Como las llamadas a herramientas se ejecutan asíncronamente, la conversación no se detiene mientras se cargan los datos.

La siguiente figura muestra cómo el agente procesa una solicitud hablada y llama dinámicamente a las herramientas del backend a través del AgentCore Gateway:

Figura 3: Una solicitud hablada viaja a través de Nova 2.5 Sonic, el AgentCore Gateway, API Gateway, Lambda y DynamoDB, y la respuesta de voz se transmite de vuelta

Responder una pregunta de política desde la base de conocimiento

Cuando un viajero pregunta sobre la política de equipaje, el agente accede a Amazon Bedrock Knowledge Bases a través del AgentCore Gateway usando su conector nativo. La base de conocimiento ejecuta recuperación agéntica con un reranker administrado y devuelve pasajes de política relevantes como citas. Nova 2.5 Sonic compone la respuesta y la pronuncia al viajero.

La siguiente figura muestra al agente respondiendo una pregunta de política recuperando pasajes fundamentados de Amazon Bedrock Knowledge Bases:

Figura 4: Una pregunta de política es respondida por Amazon Bedrock Knowledge Bases y pronunciada de vuelta al viajero

Escalado a un agente en vivo

El conserje traspasa a un viajero a una persona cuando no puede cumplir una solicitud o cuando el viajero lo pide. Después de que el viajero confirma, el agente llama a la herramienta EscalateToAgent. Lambda registra el escalado en DynamoDB y devuelve un número de referencia con un tiempo de espera estimado. El agente comparte ese número de referencia, y el front end de Amplify realiza la llamada a la línea de soporte. Esta muestra no incluye una aplicación de centro de contacto, así que la conexión con una persona depende del número de soporte que configures.

La siguiente figura muestra el flujo de escalado cuando un viajero solicita un agente en vivo:

Figura 5: El agente registra el escalado en DynamoDB, comparte un número de referencia, y el front end realiza la llamada a un agente en vivo

Recorrido del conserje

Abre la URL de Amplify en tu navegador e inicia sesión con las credenciales de AppUser. Elige el botón del micrófono para iniciar una conversación de voz. El agente te saluda por tu nombre y muestra tu itinerario en segundo plano. Desde ahí puedes hablar de forma natural para cambiar un asiento, consultar un retraso, revisar una política o comunicarte con un agente en vivo. El siguiente video muestra una sesión completa desde el saludo hasta el escalado.

Toda la conversación se ejecuta sin usar las manos sobre una única conexión WebSocket. El agente confirma cada cambio antes de escribirlo. Pronuncia los números de vuelo un carácter a la vez, para que se escuchen con claridad, y llama a las herramientas del backend en segundo plano, de modo que no haya retrasos perceptibles.

Limpieza

Para dejar de incurrir en cargos, elimina los recursos desplegados. Primero previsualiza las eliminaciones y luego ejecuta la limpieza.

./cleanup-all.sh --dry-run
./cleanup-all.sh

El script destruye los recursos en orden inverso, empezando por el front end, luego el AgentCore runtime, el AgentCore Gateway y la infraestructura del backend.

Conclusión

Esta publicación te mostró cómo construir un conserje de viajes por voz en AWS. Usa Amazon Cognito para la autenticación, Amazon Bedrock AgentCore para el alojamiento del agente, API Gateway y Lambda para la lógica de negocio, DynamoDB para el almacenamiento y Amazon Bedrock Knowledge Bases para las respuestas de políticas. El diseño en capas separa el front end, el agente y el backend para que cada uno se desarrolle y escale por sí solo. El conserje gestiona itinerarios, cambios de asiento, preferencias de comida, estado de vuelos, preguntas de lealtad, consultas de políticas y escalado a un agente en vivo mediante herramientas MCP. Amazon Nova 2.5 Sonic aporta voz de baja latencia, llamadas a herramientas en paralelo y manejo natural de interrupciones. Los precios de pago por uso y el escalado automático mantienen los costos alineados con el tráfico, y con la integración de MCP puedes añadir una nueva función de Lambda sin tocar el código del agente. Para empezar, visita el repositorio de la solución en GitHub y adáptalo a tus propios sistemas de aerolínea.

Recursos adicionales


Sobre los autores

Fuente original

AWS Machine Learning

Notas sobre el contenido

La publicación original y los derechos pertenecen a la fuente.

Traducción automática · Consulte el original