Acelere el desarrollo de aplicaciones agentes con una plantilla inicial de pila completa para Amazon Bedrock AgentCore

La IA generativa y las aplicaciones agentes están remodelando la forma en que operan las empresas (desde robots de atención al cliente hasta asistentes de investigación) y los equipos deben pasar rápidamente del prototipo a la producción. El año pasado, AWS lanzó Amazon Bedrock AgentCore, una plataforma de desarrollo para crear, implementar y escalar agentes de IA en producción. AgentCore proporciona componentes básicos como alojamiento en tiempo de ejecución, memoria, integración de herramientas y observabilidad con seguridad de nivel empresarial y escalamiento dinámico.

La plantilla de solución Fullstack AgentCore (FAST) le muestra cómo funciona en conjunto desde el principio. Es un proyecto inicial listo para implementar que conecta AgentCore Runtime, Gateway, Memory y Code Interpreter con una interfaz de React y autenticación de Amazon Cognito, todo definido con el AWS Cloud Development Kit (AWS CDK). FAST proporciona una arquitectura de referencia completa que le muestra cómo se integran las piezas, con una aplicación de chat funcional de la que puede aprender y desarrollar.

En esta publicación, aprenderá cómo implementar FAST en su cuenta de Amazon Web Services (AWS), comprenderá su arquitectura y verá cómo ampliarla según sus necesidades. Aprenderá cómo crear su propio agente mientras FAST maneja la autenticación, la infraestructura como código (IaC), los canales de implementación y la integración de servicios.

Descripción general de la solución

FAST proporciona una arquitectura completa de pila completa para implementar agentes en Amazon Bedrock AgentCore. La plantilla maneja la autenticación, el alojamiento de aplicaciones frontend, el tiempo de ejecución del agente, la memoria, la observabilidad y la integración de la herramienta Model Context Protocol (MCP) de forma predeterminada.

La arquitectura se centra en Amazon Bedrock AgentCore Runtime, que aloja su agente. En FAST, los usuarios se autentican a través de Amazon Cognito, que asegura cuatro puntos de integración:

Inicio de sesión de usuario en la aplicación web frontend en Amazon CloudFront Autenticación basada en token para que el frontend acceda a AgentCore Runtime Autenticación basada en token para que los agentes accedan a AgentCore Gateway Autenticación basada en token para solicitudes de API a Amazon API Gateway

La interfaz es una aplicación React que utiliza Tailwind CSS y componentes shadcn, alojada en AWS Amplify Hosting. Se comunica con AgentCore Runtime mediante HTTP transmitible para la transmisión de respuestas en tiempo real.

El mecanismo de comentarios se proporciona para demostrar cómo realizar llamadas HTTP sincrónicas y autenticadas a través de API Gateway y almacenar datos de aplicaciones en Dynamo DB. AgentCore Runtime se conecta a varias capacidades de AgentCore:

La plantilla incluye patrones para Strands Agents y LangGraph. FAST y AgentCore son independientes del marco del agente, por lo que puede utilizar el SDK del agente de su elección. La infraestructura está definida en AWS CDK para implementaciones repetibles.

La arquitectura es modular por diseño. El frontend se integra con el backend impulsado por AgentCore, que puede utilizar como ejemplo para integrarlo con su propia aplicación frontend. Puede ser su propia aplicación React o una interfaz que utilice un marco de interfaz completamente diferente.

Diseñado para el desarrollo asistido por IA

FAST incluye una extensa documentación por diseño. El repositorio incluye:

Documentos directivos: reglas y convenciones que los asistentes de codificación siguen automáticamente Guías de funciones: documentación detallada sobre puerta de enlace, memoria, transmisión y otras integraciones LÉAME en todo el código base: contexto para cada componente

Cuando le pide a un asistente de codificación que realice cambios, este puede leer estos documentos y seguir los patrones documentados. Este enfoque funciona con muchos asistentes de codificación de IA, incluidos Kiro, Cline, Claude Code, Cursor y otros. La documentación y los documentos de dirección son independientes del sistema.

El desarrollo asistido por IA es opcional. La misma documentación que guía a los asistentes de codificación es igualmente útil para los desarrolladores que prefieren escribir el código ellos mismos.

Requisitos previos

Antes de implementar FAST, asegúrese de tener instalado lo siguiente:

El usuario de AWS Identity and Access Management (IAM) que utilice debe tener permisos para realizar las llamadas de servicio de AWS necesarias y administrar los recursos de AWS mencionados en esta publicación. Al otorgar permisos al usuario de IAM, siga el principio de privilegio mínimo.

Tutorial de implementación de la solución

Comience implementando la solución en su entorno local.

Paso 1: clonar el repositorio

Comience usando los siguientes comandos para clonar el repositorio.

clon de git https://github.com/awslabs/fullstack-solution-template-for-agentcore.git cd fullstack-solution-template-for-agentcore

Paso 2: Configure su implementación

Edite infra-cdk/config.yaml para personalizar su implementación:

stack_name_base: nombre-de-su-proyecto admin_user_email: admin@example.com # Opcional: crea automáticamente las credenciales de usuario y de correo electrónico backend: patrón: strands-single-agent # Disponible: strands-single-agent, langgraph-single-agent tipo de implementación: ventana acoplable # Disponible: ventana acoplable, zip

Paso 3: implementar el backend con CDK

Utilice los siguientes comandos para implementar el backend.

cd infra-cdk npm install cdk bootstrap # Solo se requiere una vez por cuenta/región implementación de cdk

Esto crea el grupo de usuarios de Cognito, compila y envía el contenedor del agente a Amazon Elastic Container Registry (Amazon ECR), crea AgentCore Runtime y configura la distribución de CloudFront. La implementación tarda aproximadamente entre 5 y 10 minutos.

Paso 4: implementar la interfaz

Utilice los siguientes comandos para implementar la interfaz.

cd .. scripts de python/deploy-frontend.py

El script genera la configuración de autenticación a partir de las salidas de la pila CDK, instala dependencias, crea la aplicación React y la implementa en AWS Amplify Hosting. El script genera la URL de la aplicación cuando se completa:

✓ ¡La implementación se completó con éxito! Consola: https://console.aws.amazon.com/amplify/apps URL de la aplicación: https://main.d123490abcdef.amplifyapp.com

Paso 5: cree un usuario de Amazon Cognito

Si proporcionó admin_user_email en la configuración, recibirá un correo electrónico con credenciales temporales que podrá usar para iniciar sesión. Vaya al siguiente paso.

Si no proporcionó un admin_user_email, cree un usuario manualmente:

Abra la consola de Amazon Cognito. Busque su grupo de usuarios (llamado {stack_name_base}-user-pool). Navegue hasta Usuarios y elija Crear usuario. Ingrese una dirección de correo electrónico y una contraseña temporal. Seleccione Marcar correo electrónico como verificado. Elija Crear usuario.

Paso 6: Accede y prueba la aplicación

Está listo para acceder y probar la aplicación siguiendo los siguientes pasos:

Abra la URL de Amplify Hosting (impresa en su terminal después de implementar la interfaz) en su navegador. Inicie sesión con sus credenciales de usuario de Amazon Cognito. Cambie su contraseña temporal cuando se le solicite.

Gif que muestra cómo iniciar sesión en la aplicación FAST predeterminada con un nombre de usuario y contraseña, luego ingresar una consulta de muestra y ver el flujo de respuesta en la pantalla.

La aplicación de ejemplo FAST es una sencilla interfaz de chat de varios turnos. La interfaz de usuario sigue siendo mínima por diseño; está diseñado para ser reemplazado por su propia interfaz o integrado en una aplicación existente. El agente básico incluye dos herramientas para demostrar la arquitectura:

Herramienta de análisis de texto: una herramienta basada en AWS Lambda detrás de AgentCore Gateway que cuenta palabras y analiza la frecuencia de las letras. Esto demuestra el patrón de integración de Gateway. Code Interpreter: integración directa con AgentCore Code Interpreter para una ejecución más segura de Python en un entorno aislado.

Pruebe estas consultas de muestra para verificar que las herramientas estén funcionando:

“Analice el texto: el veloz zorro marrón salta sobre el perro perezoso” – El agente debe devolver el recuento de palabras y el análisis de frecuencia de letras “Calcule los primeros 20 números de Fibonacci” – Observe al agente escribir y ejecutar código Python en tiempo real

Junto con la interfaz de usuario, las herramientas proporcionadas también deben reemplazarse. Existen para demostrar dos arquitecturas diferentes para agregar herramientas (detrás de AgentCore Gateway como en la herramienta de análisis de texto y directamente al agente como en la herramienta de interpretación de código) y brindarle un punto de partida. Además, el mecanismo de recopilación de comentarios existe para demostrar cómo realizar llamadas HTTP sincrónicas y autenticadas a través de una puerta de enlace API y se puede eliminar o reutilizar sin problemas.

Personaliza la aplicación según tus necesidades

¿Qué pasa si necesita un agente de análisis de documentos en lugar de un chatbot? ¿O desea integrarse con el proveedor de identidad existente de su empresa? FAST maneja exactamente esto; la aplicación de referencia es un punto de partida, no una limitación.

La siguiente es una grabación de una transmisión en vivo en el canal de YouTube de AWS Events en la que se utiliza FAST para crear una aplicación de asistente personal agente en tiempo real.

Cambiar el patrón del agente

La plantilla incluye dos patrones de agente en el directorio patrones/:

strands-single-agent: un agente conversacional básico que utiliza el marco Strands con integración de herramientas MCP langgraph-single-agent: un agente conversacional básico que utiliza LangGraph con integración de herramientas MCP

Para cambiar patrones, actualice backend.pattern en infra-cdk/config.yaml y vuelva a implementar con cdk implementar.

Para crear su propio patrón, agregue un nuevo directorio en patrones/ con la implementación de su agente, un archivo requisitos.txt y un Dockerfile. Actualice la configuración para que apunte a su nuevo patrón.

Agregar nuevas herramientas usando Gateway

AgentCore Gateway enruta las llamadas a la herramienta a una función de AWS Lambda. Para agregar una nueva herramienta:

Cree una función Lambda que implemente la lógica de su herramienta. Defina el esquema de la herramienta (nombre, descripción y parámetros de entrada) en la pila del CDK. Agregue la función Lambda como destino de AgentCore Gateway. Vuelva a implementar con cdk implementar.

El agente descubre automáticamente herramientas desde Gateway a través de MCP. Consulte docs/GATEWAY.md para obtener detalles y ejemplos de implementación.

Usando el intérprete de código

Code Interpreter ya está integrado en el agente base. Proporciona una ejecución de Python más segura en entornos sandbox aislados con persistencia de sesión. Los usuarios pueden pedirle al agente que ejecute cálculos, genere datos o ejecute código Python arbitrario.

Modificando la interfaz

La interfaz es una aplicación React estándar en el directorio frontend/. Los asistentes de codificación de IA como Kiro son expertos en modificar las interfaces de React. Describe los cambios que deseas y deja que el asistente los implemente.

Después de realizar cambios, vuelva a implementar con python scripts/deploy-frontend.py

Debido a que FAST utiliza AWS Amplify Hosting, tiene la opción de integrarse con un sistema de control de versiones compatible para aprovechar las capacidades integradas de integración y entrega continua (CI/CD) de Amplify Hosting, que pueden reemplazar el script de implementación-frontend.py proporcionado.

Más allá del chat: otros casos de uso

La aplicación básica se centra en una interfaz de chat, pero FAST admite muchos casos de uso agentes. Por ejemplo, un agente de análisis de documentos podría agregar un componente de carga de archivos a la interfaz, una herramienta Lambda que extrae texto de archivos PDF y una lógica de agente que resume los hallazgos. O un agente de automatización del flujo de trabajo podría monitorear los canales de Slack y crear automáticamente tickets de Jira a partir de solicitudes de soporte. Se aplica la misma arquitectura, solo estás intercambiando las piezas. Estas personalizaciones funcionan dentro de la arquitectura predeterminada de FAST. Pero, ¿qué sucede si necesita reemplazar por completo un componente principal?

Flexibilidad: cambie los componentes principales

La arquitectura es intencionalmente modular, por lo que puede reemplazar los componentes principales a medida que evolucionan sus requisitos. A continuación se muestran algunos ejemplos:

Proveedor de identidad: reemplace Amazon Cognito con Okta, Microsoft Entra ID, Auth0 o su sistema de identidad existente compatible con OAuth 2.0 Marco de interfaz: cambie el front-end de React por Vue, Angular o integre el backend del agente en una aplicación existente Alojamiento: pase de AWS Amplify Hosting a Vercel, Netlify, una distribución de CloudFront autoadministrada o su solución de alojamiento preferida Marco de agente: utilice Strands Agents, LangGraph, CrewAI o un SDK del agente incluso en otros lenguajes como TypeScript o Java

Estos son algunos de los puntos de flexibilidad que ofrece FAST. La infraestructura CDK modular y la arquitectura desacoplada facilitan la adaptación de la plantilla a sus necesidades específicas.

Limpiar

Utilice los siguientes comandos para eliminar los recursos creados por FAST:

cd infra-cdk cdk destruir –force

Esto elimina los recursos de AWS, incluidos los depósitos de Amazon Simple Storage Service (Amazon S3) y las imágenes de Amazon Elastic Container Registry (Amazon ECR). Si deja recursos en ejecución, es posible que se le apliquen cargos por algunos recursos en ejecución. Tenga en cuenta que Amazon Bedrock AgentCore es de pago por uso.

Conclusión

FAST ayuda a reducir el tiempo para crear e implementar una aplicación de agente a menos de 30 minutos. Puede obtener una autenticación más segura, una interfaz funcional y capacidades integradas de AgentCore (memoria, puerta de enlace, intérprete de código y observabilidad) sin tener que escribir código de infraestructura desde cero. La aplicación de chat básica y las herramientas de muestra son puntos de partida, no limitaciones. Cambie su propia lógica de agente, conecte sus herramientas, modifique la interfaz o reemplace componentes importantes como el proveedor de identidad o la solución de alojamiento. La arquitectura modular se adapta a sus necesidades.

Para comenzar, inicie y clone el repositorio, implemente FAST en su cuenta de AWS y tenga una aplicación de agente funcional ejecutándose en menos de 30 minutos. A partir de ahí, personaliza y envía algo real.

Para obtener asistencia de expertos, el Centro de innovación en IA generativa de AWS, los servicios profesionales de AWS y nuestros socios de AWS están aquí para ayudarlo.

Sobre los autores

David Kaleko

David Kaleko es científico aplicado sénior en el Centro de innovación de IA generativa de AWS, donde lidera los esfuerzos de investigación aplicada sobre estrategias de implementación de IA generativa de vanguardia para los clientes de AWS. Tiene un doctorado en física de partículas de la Universidad de Columbia.

Isaac Privitera

Isaac Privitera es científico de datos principal en el Centro de innovación de IA generativa de AWS, donde desarrolla soluciones basadas en IA agentes personalizadas para abordar los problemas comerciales de los clientes. Su principal objetivo es construir sistemas de IA responsables, utilizando técnicas como RAG, sistemas multiagente y ajuste de modelos. Cuando no está inmerso en el mundo de la IA, se puede encontrar a Isaac en el campo de golf, disfrutando de un partido de fútbol o caminando por senderos con su leal compañero canino, Barry.

Ryan Razkenari

Ryan Razkenari es arquitecto de aprendizaje profundo en el Centro de innovación de IA generativa de AWS, donde diseña y construye soluciones de IA para clientes empresariales. Se especializa en aplicar IA generativa para resolver desafíos comerciales complejos, con un enfoque en traducir la investigación de vanguardia en sistemas listos para producción.

Mónica Raj

Monica Raj es arquitecta de aprendizaje profundo en el Centro de innovación de IA generativa de AWS, donde se asocia con organizaciones de todos los sectores para diseñar e implementar soluciones de IA listas para producción. Se especializa en sistemas de inteligencia artificial, procesamiento de lenguaje natural, automatización de centros de contacto y procesamiento inteligente de documentos, con un enfoque en la construcción de una infraestructura escalable de nivel empresarial para los clientes.

David Merlín

Davide Merlin es ingeniero de aprendizaje automático en el Centro de innovación de IA generativa de AWS con sede en Jersey City. Se especializa en el desarrollo backend de aplicaciones de IA nativas de la nube, con especial atención en la arquitectura API. En su tiempo libre, le gusta jugar videojuegos, probar nuevos restaurantes y ver nuevos programas.

Brian Zambrano

Brian Zambrano es arquitecto senior de aprendizaje profundo en AWS. Proviene de una carrera de más de 25 años en la construcción de software como ingeniero y arquitecto. Actualmente trabaja en el Centro de innovación de IA generativa de AWS, donde ayuda a dar vida a las soluciones de IA generativa de los clientes, utilizando su experiencia en arquitectura de nube, sistemas sin servidor y basados ​​en eventos. Brian es el autor de Patrones de diseño sin servidor y mejores prácticas publicado en 2018. En sus más de siete años en AWS, Brian ha desempeñado múltiples funciones, entre ellas, ingeniero de software, arquitecto de soluciones empresariales y arquitecto de soluciones especializado.

Anurag Bhagat

Anurag Bhagat es estratega senior en el Centro de innovación de IA generativa de AWS, donde lidera los esfuerzos de IA aplicada para ayudar a mejorar las operaciones comerciales de los clientes empresariales de AWS. Cuenta con 15 años de experiencia en la aplicación de IA en industrias y funciones y es licenciado en informática.