Mejorando los agentes de IA: El cambio a MCP con estado en Amazon Bedrock
Los agentes de IA están evolucionando rápidamente, sin embargo, su potencial completo a menudo se ha visto obstaculizado por implementaciones sin estado, particularmente en escenarios que demandan interacción con el usuario en tiempo real, generación de contenido dinámico o actualizaciones de progreso continuas. Los desarrolladores que construyen agentes de IA sofisticados con frecuencia enfrentan desafíos cuando los flujos de trabajo necesitan pausarse, recopilar aclaraciones o informar el estado durante operaciones de larga duración. La naturaleza rígida y unidireccional de la ejecución sin estado restringe el desarrollo de aplicaciones de IA verdaderamente interactivas y responsivas.
Ahora, Amazon Bedrock AgentCore Runtime introduce innovadoras capacidades de cliente de Protocolo de Contexto de Modelo (MCP) con estado, transformando la forma en que los agentes de IA interactúan con los usuarios y los modelos de lenguaje grandes (LLM). Esta actualización fundamental libera a los agentes de las limitaciones de la comunicación sin estado, permitiendo flujos de trabajo complejos, multiturno y altamente interactivos. Al integrar características cruciales del cliente MCP –Elicitación, Muestreo y Notificaciones de Progreso– Bedrock AgentCore Runtime facilita conversaciones bidireccionales entre servidores y clientes MCP, allanando el camino para soluciones de IA más inteligentes y centradas en el usuario.
De sin estado a con estado: Desbloqueando flujos de trabajo de agentes interactivos
Anteriormente, el soporte del servidor MCP en AgentCore operaba en modo sin estado, donde cada solicitud HTTP funcionaba de forma independiente, carente de cualquier contexto compartido. Si bien esto simplificaba el despliegue para servidores de herramientas básicos, limitaba severamente los escenarios que requerían continuidad conversacional, aclaración del usuario a mitad del flujo de trabajo o informes de progreso en tiempo real. El servidor simplemente no podía mantener un hilo de conversación a través de solicitudes discretas, lo que dificultaba el desarrollo de agentes verdaderamente interactivos.
La llegada de las capacidades de cliente MCP con estado altera fundamentalmente este paradigma. Al establecer stateless_http=False durante el inicio del servidor, AgentCore Runtime aprovisiona una microVM dedicada para cada sesión de usuario. Esta microVM persiste durante la duración de la sesión —hasta 8 horas, o 15 minutos de inactividad según la configuración de idleRuntimeSessionTimeout— asegurando el aislamiento de CPU, memoria y sistema de archivos entre sesiones. La continuidad se mantiene a través de un encabezado Mcp-Session-Id, que el servidor proporciona durante la inicialización y el cliente incluye en todas las solicitudes subsiguientes para enrutarlas de vuelta a la misma sesión. Este entorno dedicado y persistente permite a los agentes recordar el contexto, solicitar la entrada del usuario, generar contenido LLM dinámico y proporcionar actualizaciones continuas.
La siguiente tabla resume las diferencias clave entre los modos sin estado y con estado:
| Modo sin estado | Modo con estado | |
|---|---|---|
Configuración de stateless_http | TRUE | FALSE |
| Aislamiento de sesión | MicroVM dedicada por sesión | MicroVM dedicada por sesión |
| Duración de la sesión | Hasta 8 horas; tiempo de espera de inactividad de 15 minutos | Hasta 8 horas; tiempo de espera de inactividad de 15 minutos |
| Capacidades de cliente | No soportadas | Elicitación, muestreo, notificaciones de progreso |
| Recomendado para | Servicio de herramientas simple | Flujos de trabajo interactivos y multiturno |
Cuando una sesión caduca o el servidor se reinicia, las solicitudes subsiguientes con el ID de sesión anterior devolverán un 404. En ese momento, los clientes deben reinicializar la conexión para obtener un nuevo ID de sesión y comenzar una sesión nueva. El cambio de configuración para habilitar el modo con estado es un único indicador en el inicio de su servidor:
mcp.run( transport="streamable-http", host="0.0.0.0", port=8000, stateless_http=False # Enable stateful mode)
Más allá de este indicador, las tres capacidades de cliente estarán disponibles automáticamente una vez que el cliente MCP declare su soporte durante el handshake de inicialización.
Análisis Profundo de las Nuevas Capacidades de Cliente: Elicitación, Muestreo y Progreso
Con la transición al modo con estado, Amazon Bedrock AgentCore Runtime desbloquea tres potentes capacidades de cliente de la especificación MCP, cada una diseñada para abordar patrones de interacción distintos y cruciales para agentes de IA avanzados. Estas capacidades transforman lo que antes era una ejecución de comandos rígida y unidireccional en un diálogo fluido y bidireccional entre un servidor MCP y sus clientes conectados. Es importante destacar que estas características son opcionales (opt-in), lo que significa que los clientes declaran su soporte durante la inicialización, y los servidores solo deben utilizar las capacidades que el cliente conectado ha anunciado.
Elicitación: Habilitando la Entrada Dinámica del Usuario en Agentes de IA
La Elicitación se erige como una piedra angular de la IA interactiva, permitiendo a un servidor MCP pausar juiciosamente su ejecución y solicitar una entrada específica y estructurada del usuario a través del cliente. Esta capacidad empodera a la herramienta para hacer preguntas precisas en momentos oportunos dentro de su flujo de trabajo, ya sea para confirmar una decisión, recopilar una preferencia del usuario o recolectar un valor derivado de operaciones precedentes. El servidor inicia esto enviando una solicitud JSON-RPC elicitation/create, que incluye un mensaje legible por humanos y un requestedSchema opcional que delinea la estructura de respuesta esperada.
La especificación MCP proporciona dos modos robustos para la elicitación:
- Modo formulario: Esto es ideal para recolectar datos estructurados directamente a través del cliente MCP, como parámetros de configuración, preferencias de usuario o confirmaciones simples donde no hay datos sensibles involucrados.
- Modo URL: Para interacciones que requieren un proceso seguro y fuera de banda, como flujos de OAuth, procesamiento de pagos o la entrada de credenciales sensibles, el modo URL dirige al usuario a una URL externa. Esto asegura que la información sensible omita completamente al cliente MCP, mejorando la seguridad y el cumplimiento.
Al recibir una solicitud de elicitación, el cliente renderiza una interfaz de entrada adecuada. La acción subsiguiente del usuario activa un modelo de respuesta de tres acciones de vuelta al servidor: accept (el usuario proporcionó los datos solicitados), decline (el usuario rechazó explícitamente la solicitud) o cancel (el usuario descartó la solicitud sin tomar una decisión). Los servidores inteligentes están diseñados para manejar cada uno de estos escenarios con elegancia, asegurando una experiencia robusta y fácil de usar. Por ejemplo, una herramienta add_expense_interactive, como se demuestra en el material fuente, puede guiar a un usuario a través de una serie de preguntas —cantidad, descripción, categoría y confirmación final— antes de confirmar los datos en un backend como Amazon DynamoDB. Cada paso aprovecha los modelos de Pydantic para definir la entrada esperada, que FastMCP convierte sin problemas en el Esquema JSON requerido para la solicitud elicitation/create.
Muestreo y Notificaciones de Progreso: Impulsando la Interacción y Transparencia de LLM
Más allá de la interacción directa con el usuario, el Muestreo dota al servidor MCP de la capacidad de solicitar contenido generado por LLM directamente del cliente a través de sampling/createMessage. Este es un mecanismo crítico, ya que permite que la lógica de la herramienta en el servidor aproveche las potentes capacidades de los modelos de lenguaje sin necesidad de gestionar sus propias credenciales LLM o integraciones directas de API. El servidor simplemente proporciona un prompt y preferencias de modelo opcionales, y el cliente, actuando como intermediario, reenvía la solicitud a su LLM conectado y devuelve la respuesta generada. Esto abre un sinfín de aplicaciones prácticas, incluyendo la creación de resúmenes personalizados, la generación de explicaciones en lenguaje natural a partir de datos estructurados o la producción de recomendaciones sensibles al contexto basadas en la conversación en curso.
Para operaciones que se extienden en el tiempo, las Notificaciones de Progreso se vuelven invaluables. Esta capacidad permite a un servidor MCP reportar actualizaciones incrementales durante tareas de larga duración. Al utilizar ctx.report_progress(progress, total), el servidor puede emitir actualizaciones continuas que los clientes pueden traducir en retroalimentación visual, como una barra de progreso o un indicador de estado. Ya sea buscando en vastas fuentes de datos o ejecutando tareas computacionales complejas, las actualizaciones de progreso transparentes aseguran que los usuarios permanezcan informados, previniendo la frustración y mejorando la experiencia general del usuario, en lugar de dejarlos mirando una pantalla en blanco preguntándose si el sistema aún está activo.
Preparando el Desarrollo de Agentes de IA para el Futuro con Bedrock AgentCore Runtime
La introducción de las capacidades de cliente MCP con estado en Amazon Bedrock AgentCore Runtime representa un avance significativo en el desarrollo de agentes de IA. Al transformar interacciones previamente sin estado en conversaciones dinámicas y bidireccionales, AWS capacita a los desarrolladores para construir aplicaciones de IA más inteligentes, receptivas y fáciles de usar. Estas capacidades –Elicitación para la entrada guiada del usuario, Muestreo para la generación de LLM bajo demanda y Notificaciones de Progreso para la transparencia en tiempo real– desbloquean colectivamente una nueva era de flujos de trabajo de agentes interactivos. A medida que la IA continúa evolucionando, estas capacidades fundamentales serán cruciales para crear una IA agéntica operacionalizable sofisticada que pueda integrarse sin problemas en procesos comerciales complejos, adaptarse a las necesidades del usuario y ofrecer un valor excepcional.
Fuente original
https://aws.amazon.com/blogs/machine-learning/introducing-stateful-mcp-client-capabilities-on-amazon-bedrock-agentcore-runtime/Preguntas Frecuentes
What problem do stateful MCP client capabilities solve on Amazon Bedrock AgentCore Runtime?
How does the transition from stateless to stateful mode work on AgentCore Runtime?
What is Elicitation, and how does it enhance AI agent interactions?
How does Sampling capability benefit AI agents without managing LLM credentials?
Mantente Actualizado
Recibe las últimas noticias de IA en tu correo.
