La IA agente está transformando la forma en que las organizaciones utilizan la IA generativa, yendo más allá de las interacciones de respuesta rápida a sistemas autónomos que pueden planificar, ejecutar y completar tareas complejas de varios pasos. Si bien las pruebas tempranas de conceptos en espacios de IA agente entusiasman a las partes interesadas del negocio, escalarlos a producción requiere abordar los desafíos de escalabilidad, gobernanza y seguridad. Amazon Bedrock AgentCore es una plataforma de inteligencia artificial de Agentic para crear, implementar y operar agentes a escala utilizando cualquier marco y modelo.
Los desarrolladores de Java quieren crear agentes de IA utilizando patrones Spring conocidos, pero la implementación en producción requiere una infraestructura que es compleja de implementar desde cero. Amazon Bedrock AgentCore proporciona componentes básicos como infraestructura de tiempo de ejecución administrada (escalabilidad, confiabilidad, seguridad, observabilidad), memoria a corto y largo plazo, automatización del navegador, ejecución de código en espacio aislado y evaluaciones. Actualmente, integrar estas capacidades en una aplicación Spring requiere escribir controladores personalizados para cumplir con el contrato de AgentCore Runtime, manejar la transmisión de eventos del lado del servidor (SSE), implementar controles de estado, administrar la limitación de velocidad y conectar asesores Spring, repositorios de memoria y definiciones de herramientas. Son semanas de trabajo de infraestructura antes de escribir cualquier lógica del Agente de IA.
Con el nuevo SDK de Spring AI AgentCore, puede crear agentes de IA listos para producción y ejecutarlos en el altamente escalable AgentCore Runtime. El SDK de Spring AI AgentCore es una biblioteca de código abierto que incorpora las capacidades de Amazon Bedrock AgentCore a Spring AI a través de patrones conocidos: anotaciones, configuración automática y asesores componibles. SpringAI Builders agrega una dependencia, anota un método y el SDK se encarga del resto.
Comprensión del contrato AgentCore Runtime
AgentCore Runtime administra el ciclo de vida del agente y el escalamiento con precios de pago por uso, lo que significa que no paga por la computación inactiva. El tiempo de ejecución enruta las solicitudes entrantes a su agente y monitorea su estado, pero esto requiere que su agente siga un contrato. El contrato requiere que la implementación exponga dos puntos finales. El punto final /invocations recibe solicitudes y devuelve respuestas como transmisión JSON o SSE. El extremo de salud /ping informa un estado Saludable o SaludableOcupado. Las tareas de larga duración deben indicar que están ocupadas, o el tiempo de ejecución podría reducirlas para ahorrar costos. El SDK implementa este contrato automáticamente, incluida la detección de tareas asíncronas que informa el estado de ocupado cuando su agente está procesando.
Más allá del contrato, el SDK proporciona capacidades adicionales para cargas de trabajo de producción, como el manejo de respuestas SSE con un encuadre adecuado, manejo de contrapresión y gestión del ciclo de vida de la conexión para respuestas grandes. También proporciona limitación de velocidad y solicitudes de aceleración para proteger a su agente de picos de tráfico y limitar el consumo por usuario. Usted se concentra en la lógica del agente mientras el SDK maneja la integración del tiempo de ejecución.
En esta publicación, creamos un agente de IA listo para producción comenzando con un punto final de chat y luego agregando respuestas de transmisión, memoria de conversación y herramientas para navegación web y ejecución de código. Al final, tendrá un agente completamente funcional listo para implementar en AgentCore Runtime o ejecutarlo de forma independiente en su infraestructura existente.
Requisitos previos
Para seguirlo, necesitas:
Descripción general de la solución
El SDK de Spring AI AgentCore se basa en tres principios de diseño:
Convención sobre la configuración: los valores predeterminados sensibles se alinean con las expectativas de AgentCore (puerto 8080, rutas de los puntos finales, manejo del tipo de contenido) sin una configuración explícita. Desarrollo impulsado por anotaciones: una única anotación @AgentCoreInvocation transforma cualquier método Spring Bean en un punto final compatible con AgentCore con serialización automática, detección de transmisión y formato de respuesta. Flexibilidad de implementación: el SDK admite AgentCore Runtime para una implementación totalmente administrada, pero también puede usar módulos individuales (Memoria, Navegador, Intérprete de código) en aplicaciones que se ejecutan en Amazon EKS, Amazon ECS o cualquier otra infraestructura.
El siguiente diagrama muestra cómo interactúan los componentes del SDK. La anotación @AgentCoreInvocation maneja el contrato de tiempo de ejecución, mientras que ChatClient compone asesores de memoria, herramientas del navegador y el intérprete de código. La implementación en AgentCore Runtime es opcional. Puede utilizar los módulos SDK como funciones independientes.
Creando tu primer agente de IA
La siguiente sección le explica paso a paso cómo crear un agente completamente funcional:
Paso 1: agregue la dependencia del SDK
Agregue la lista de materiales Spring AI AgentCore a su proyecto Maven, luego incluya el iniciador del tiempo de ejecución:
Paso 2: crear el agente
La anotación @AgentCoreInvocation le indica al SDK que este método maneja las solicitudes entrantes del agente. El SDK configura automáticamente los puntos finales POST /invocaciones y GET /ping, maneja la serialización JSON e informa el estado de salud automáticamente.
Paso 3: configurar Amazon Bedrock
Configure su modelo y región de AWS en application.properties:
Paso 4: prueba localmente
Inicie la aplicación y envíe una solicitud:
Es un agente de IA completo y compatible con AgentCore. Sin controladores personalizados, sin manejo de protocolos, sin implementación de controles de estado.
Paso 5: agregar transmisión
Para transmitir respuestas a medida que se generan, cambie el tipo de devolución a Flux. El SDK cambia automáticamente a salida SSE:
El SDK maneja el marco SSE, los encabezados de tipo de contenido, la preservación de nuevas líneas y el ciclo de vida de la conexión. Su código permanece enfocado en la interacción de la IA.
Paso 6: Agregue memoria a su agente
Los agentes del mundo real deben recordar lo que los usuarios dijeron anteriormente en una conversación (memoria a corto plazo) y lo que han aprendido con el tiempo (memoria a largo plazo). El SDK se integra con AgentCore Memory a través del patrón de asesor de Spring AI, interceptores que enriquecen las indicaciones con contexto antes de que lleguen al modelo.
La memoria a corto plazo (STM) mantiene los mensajes recientes mediante una ventana deslizante. La memoria a largo plazo (LTM) persiste el conocimiento a lo largo de las sesiones utilizando cuatro estrategias:
Estrategia Propósito Ejemplo Semántica Información objetiva sobre los usuarios “El usuario trabaja en finanzas” Preferencia del usuario Configuraciones y opciones explícitas “Se prefieren unidades métricas” Resumen Historial de conversaciones condensado Resúmenes de sesiones para continuidad Episódico Interacciones y lecciones pasadas “El usuario tuvo problemas con X la semana pasada”
AgentCore consolida estas estrategias de forma asincrónica, extrayendo información relevante sin la intervención explícita del desarrollador. Agregue la dependencia de la memoria y habilite el descubrimiento automático. En el modo de descubrimiento automático, el SDK detecta automáticamente estrategias de memoria a largo plazo y espacios de nombres disponibles sin configuración manual:
Luego inyecte AgentCoreMemory y compóngalo en su cliente de chat:
La lista agentCoreMemory.advisors incluye tanto STM como todos los asesores LTM configurados. Para opciones de configuración detalladas, consulte la documentación de Memoria.
Paso 7: Ampliar agentes con herramientas
AgentCore proporciona herramientas especializadas que el SDK expone como devoluciones de llamadas de herramientas Spring AI a través de la interfaz ToolCallbackProvider.
Automatización del navegador: los agentes pueden navegar por sitios web, extraer contenido, tomar capturas de pantalla e interactuar con elementos de la página utilizando AgentCore Browser:
Intérprete de código: los agentes pueden escribir y ejecutar Python, JavaScript o TypeScript en un entorno limitado seguro utilizando AgentCore Code Interpreter. El sandbox incluye numpy, pandas y matplotlib. Los archivos generados se capturan a través del almacén de artefactos.
Ambas herramientas se integran a través de la interfaz ToolCallbackProvider de Spring AI. Aquí está el MyAgent final con memoria, navegador e intérprete de código compuestos juntos:
El modelo ve todas las herramientas por igual y decide a cuál llamar según la solicitud del usuario. Si bien esta publicación se centra en Amazon Bedrock para acceder a los modelos básicos (FM), Spring AI admite múltiples proveedores de modelos de lenguaje grandes (LLM), incluidos OpenAI y Anthropic, para que pueda elegir los modelos que se ajusten a sus necesidades. Por ejemplo, un agente de gestión de viajes y gastos puede utilizar la herramienta del navegador para buscar opciones de vuelos y el intérprete de códigos para analizar patrones de gastos y generar gráficos, todo ello en una sola conversación:
Implementando su agente
El SDK admite dos modelos de implementación:
AgentCore Runtime: para una infraestructura completamente administrada, empaquete su aplicación como un contenedor ARM64, insértela en Amazon Elastic Container Registry (Amazon ECR) y cree un AgentCore Runtime que haga referencia a la imagen. El tiempo de ejecución maneja el escalado y el monitoreo del estado. El directorio de ejemplos/terraform proporciona infraestructura como código (IaC) con opciones de autenticación IAM y OAuth.
Independiente: utilice AgentCore Memory, Browser o Code Interpreter en aplicaciones que se ejecutan en Amazon Elastic Kubernetes Service (Amazon EKS), Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Compute Cloud (Amazon EC2) o en las instalaciones. Con este enfoque, los equipos pueden adoptar las capacidades de AgentCore de forma incremental. Por ejemplo, agregar memoria a un servicio Spring Boot existente antes de migrar a AgentCore Runtime más adelante.
Autenticación y autorización
AgentCore Runtime admite dos métodos de autenticación: SigV4 basado en IAM para llamadas de servicio a servicio de AWS y OAuth2 para aplicaciones orientadas al usuario. Cuando su agente Spring AI se implementa en AgentCore Runtime, la autenticación se maneja en la capa de infraestructura. Su aplicación recibe la identidad del usuario autenticado a través de AgentCoreContext. Luego, se puede implementar una autorización detallada en su aplicación Spring utilizando patrones estándar de Spring Security con estos principios. Para implementaciones independientes, su aplicación Spring es responsable de proporcionar autenticación y autorización mediante Spring Security. En este caso, las llamadas a los servicios de AgentCore (Memoria, Navegador, Intérprete de código) se protegen mediante mecanismos de credenciales estándar de AWS SDK.
Conexión a herramientas MCP con AgentCore Gateway
Los agentes de Spring AI pueden acceder a herramientas organizativas a través de AgentCore Gateway, que proporciona compatibilidad con el protocolo de contexto modelo (MCP) con autenticación saliente y un registro de herramientas semánticas. Para usar Gateway, configure el punto final de su cliente Spring AI MCP para que apunte a AgentCore Gateway y autentíquese usando IAM SigV4 u OAuth2:
Esto permite a los agentes descubrir e invocar herramientas empresariales mientras Gateway maneja la administración de credenciales para los servicios posteriores. Para ver un ejemplo práctico, consulte el taller Creación de agentes Java AI con Spring AI y Amazon Bedrock AgentCore, que demuestra la integración de MCP con AgentCore Gateway.
¿Qué sigue?
El SDK continúa evolucionando. Las próximas integraciones incluirán:
Observabilidad: integre el seguimiento, las métricas y el registro de Spring AI con soporte para Amazon CloudWatch y herramientas de observabilidad externas como LangFuse, Datadog y Dynatrace mediante OpenTelemetry. La observabilidad básica de AgentCore está disponible hoy. Evaluaciones: marcos de prueba y evaluación de la calidad de las respuestas de los agentes. Gestión avanzada de identidades: recuperación optimizada del contexto de seguridad para los agentes Spring AI.
limpiando
Si creó recursos mientras seguía esta publicación, elimínelos para evitar cargos continuos:
Elimine todos los agentes AgentCore Runtime que haya creado. Elimine imágenes de contenedores de Amazon ECR. Elimine las funciones y políticas de IAM creadas para la implementación del agente. Si utilizó los ejemplos de Terraform, ejecute terraform destroy para eliminar todos los recursos.
Conclusión
En esta publicación, le mostramos cómo crear agentes de IA listos para producción en Java utilizando el SDK Spring AI AgentCore. A partir de un método anotado, agregamos respuestas de transmisión, memoria persistente, automatización del navegador y ejecución de código, todo a través de patrones Spring conocidos. El SDK es de código abierto bajo la licencia Apache 2.0. Para empezar:
Explore el SDK de Spring AI AgentCore en GitHub. El repositorio incluye aplicaciones de ejemplo que puede usar como puntos de partida: simple-spring-boot-app: agente mínimo con manejo básico de solicitudes spring-ai-sse-chat-client: transmisión de respuestas con eventos enviados por el servidor spring-ai-memory-integration: uso de memoria a corto y largo plazo spring-ai-extended-chat-client: autenticación OAuth con aislamiento de memoria por usuario spring-ai-browser: capacidades de navegación web y captura de pantalla Lea Amazon AgentCore documentación para obtener detalles sobre los servicios de tiempo de ejecución, memoria, navegador e intérprete de código. Pruebe la consola de Amazon Bedrock para habilitar el acceso a los modelos y explorar los modelos básicos disponibles. Para una inmersión práctica en profundidad, pruebe el taller Creación de agentes de IA de Java con Spring AI y Amazon AgentCore. En aproximadamente cuatro horas, creará un asistente completo de gestión de viajes y gastos: agregará progresivamente personalidad, memoria, recuperación de conocimientos, navegación web, ejecución de código, integración de herramientas MCP e implementará sin servidor en AgentCore Runtime con autenticación y observabilidad. No se requiere experiencia en inteligencia artificial ni aprendizaje automático (AI/ML).
Agradecemos sus comentarios y contribuciones. Deje un comentario para compartir su experiencia o abra una incidencia en el repositorio de GitHub.