Introducción: en esta entrega de la serie sobre Amazon Bedrock AgentCore Runtime presentamos cómo reescribir una implementación basada en Strands Agents SDK para usar un Agente Personalizado en lugar del AgentCore Starter Toolkit, obteniendo control total sobre la interfaz HTTP del agente y desplegándolo en AgentCore Runtime.
Contexto y requisitos previos: asumimos que ya se completó la configuración descrita en artículos anteriores, incluida la creación de Cognito User Pool, Cognito Resource Server, Cognito User Pool Client y la obtención de la URL del AgentCore Gateway. Esta preparación es esencial para autenticar y enrutar las invocaciones hacia el runtime del agente.
Desarrollo del Agente Personalizado: el ejemplo completo está disponible en el repositorio de demostración donde se muestra cómo construir un servidor con FastAPI que expone un endpoint POST para invocaciones y un endpoint GET para health checks. La estructura básica consiste en un modelo de petición y respuesta, la lógica de negocio dentro de la ruta POST invocations y un endpoint ping que devuelve un estado healthy. Para instrumentación y observabilidad se integra AWS Distro for OpenTelemetry, asegurando trazas, métricas y logs visibles en CloudWatch GenAI Observability.
Dependencias y librerías: entre las dependencias clave se incluyen FastAPI, uvicorn, pydantic, httpx, strands Agents SDK, requests, boto3 y la distro de OpenTelemetry recomendada por AWS. Estas permiten manejar solicitudes HTTP, validación de datos, llamadas a servicios externos y conexión con APIs de AWS para despliegue e invocación.
Contenedor ARM64 y Dockerización: para desplegar en AgentCore Runtime es necesario crear una imagen Docker ARM64. En el flujo sugerido se utiliza una imagen base optimizada para ARM, se instalan las dependencias, se copian los ficheros de la aplicación, se expone el puerto 8080 y se arranca uvicorn con opentelemetry instrument para captar telemetría. La imagen se etiqueta y sube a un repositorio ECR con los permisos adecuados para que el runtime la pueda descargar.
Despliegue en AgentCore Runtime: el despliegue se realiza mediante la API de control de Bedrock AgentCore creando un agente runtime que referencia la imagen ECR y un rol IAM con permisos para acceder al repositorio y los recursos necesarios. Es importante revisar la política IAM para incluir acciones ecr BatchGetImage y GetDownloadUrlForLayer apuntando al ARN correcto del repositorio.
Invocación del agente: una vez desplegado, el agente se invoca mediante la API de Bedrock AgentCore pasando como payload un objeto JSON con el input prompt. La respuesta se recoge desde el response stream y se parsea a JSON para su uso por la aplicación cliente. Este flujo permite integrar agentes IA con APIs backend existentes y exponer capacidades conversacionales o de automatización.
Observabilidad y trazabilidad: gracias a la instrumentación con ADOT, las vistas Agents, Sessions y Traces están disponibles en CloudWatch GenAI Observability, junto con métricas y logs de invocación de modelos. Esto facilita el análisis de rendimiento y la detección de errores en producción.
Beneficios para empresas y servicios ofrecidos: en Q2BSTUDIO combinamos experiencia en desarrollo de aplicaciones a medida y software a medida con capacidades avanzadas en inteligencia artificial, ciberseguridad y servicios cloud aws y azure. Podemos ayudar a diseñar y desplegar agentes IA personalizados, soluciones de automatización y pipelines seguros en la nube, así como integrar inteligencia de negocio y visualización con power bi para obtener valor inmediato de los datos. Si necesita desarrollar una solución de software a medida visite nuestra página de desarrollo de aplicaciones desarrollo de aplicaciones y software multicanal y si busca potenciar procesos con IA consulte nuestros servicios de inteligencia artificial para empresas.
Casos de uso y recomendaciones: los agentes personalizados son ideales para tareas como asistencia a clientes, automatización de flujos de trabajo internos, consultas a APIs legadas y orquestación de procesos. Recomendamos diseñar endpoints claros, aplicar autenticación robusta con Cognito u otros mecanismos, y habilitar telemetría desde el inicio para asegurar operaciones seguras y observables.
Conclusión: migrar de un AgentCore Starter Toolkit a un Agente Personalizado ofrece control total sobre la interfaz HTTP, flexibilidad en la lógica de negocio y la posibilidad de integrar herramientas de observabilidad empresariales. En próximas entregas exploraremos implementaciones en otros lenguajes como Java con Spring AI y funciones avanzadas de AgentCore como Memory. En Q2BSTUDIO acompañamos a las organizaciones en todo el ciclo de creación e integración de agentes IA, soluciones cloud y ciberseguridad para convertir oportunidades en resultados concretos.