Crear una aplicación de IA no debería requerir un doctorado en aprendizaje automático (ML) ni meses de lucha con arquitecturas complejas. Sin embargo, eso es exactamente lo que sucede cuando intentas orquestar múltiples llamadas API, administrar el estado de la conversación y crear agentes que puedan razonar por sí mismos. He visto ideas sencillas de IA convertirse en proyectos en expansión que exigen conocimientos especializados en procesamiento de lenguaje natural y sistemas distribuidos. Pero esto es lo que cambió: utilizando Strands Agents y los servicios de AWS, construí un asistente de investigación de IA completamente funcional en solo 30 líneas de código. En esta publicación, le explico exactamente cómo lo hice: desde el concepto inicial hasta la aplicación funcional.
Amazon Web Services (AWS) ofrece múltiples opciones para crear aplicaciones de IA agentes. Amazon Bedrock brinda acceso a modelos básicos (FM) que pueden impulsar agentes inteligentes, mientras que servicios como Kiro permiten asistencia de IA centrada en el desarrollador directamente dentro del IDE. Puede utilizar estas herramientas para crear agentes de IA personalizados adaptados a casos de uso y dominios específicos.
Kiro es un IDE impulsado por IA que escribe código para que los desarrolladores puedan centrarse en las decisiones. Kiro Powers amplía Kiro IDE con capacidades especializadas bajo demanda al empaquetar servidores MCP, archivos de dirección y enlaces en unidades reutilizables. The Strands power, por ejemplo, incluye búsqueda de documentación de SDK, guías de introducción y patrones de API correctos para que Kiro pueda desarrollar agentes con precisión. Con más de 50 capacidades seleccionadas de AWS, los socios y la comunidad (que abarcan diseño, implementación, seguridad y observabilidad), los desarrolladores instalan con un solo clic y comienzan a construir de inmediato.
Strands Agents es un marco de código abierto que aborda directamente estos desafíos de desarrollo al proporcionar una forma sencilla de crear agentes inteligentes que puedan realizar tareas como investigación, análisis y generación de contenido. Strands Agents combina las capacidades de los modelos de lenguajes grandes (LLM) con lógica personalizada y API a través del código Python. Para obtener más información sobre Strands Agents, consulte Presentación de Strands Agents, un kit de desarrollo de software (SDK) de agentes de IA de código abierto.
Por qué elegir Strands Agents: desarrollo de IA simplificado para entornos de AWS
Strands Agents aborda los principales desafíos que enfrenta al crear aplicaciones de IA a través de su enfoque basado en modelos. En lugar de una codificación compleja, utiliza LLM para el razonamiento y la planificación autónomos, de modo que puede crear agentes con solo una lista de indicaciones y herramientas mientras el LLM maneja la lógica y el uso de herramientas.
La arquitectura flexible del marco admite todo, desde agentes únicos hasta redes de múltiples agentes y sistemas jerárquicos, lo que lo hace adecuado para proyectos de diversas escalas. Puede integrar funciones externas y API a través del decorador @tool, mientras que el diseño independiente del modelo funciona con varios proveedores de LLM, incluidos Amazon Bedrock, Anthropic y OpenAI.
Para entornos AWS, Strands se integra naturalmente con servicios como Amazon Bedrock y AWS Lambda, y ya está listo para producción. Los equipos de AWS lo utilizan en servicios como Amazon Q y AWS Glue. El marco de código abierto tiene licencia Apache-2.0 con contribuciones activas de la comunidad, y el mismo código se ejecuta sin problemas tanto en entornos de desarrollo como de producción locales. Las respuestas de transmisión en tiempo real lo convierten en una buena opción para aplicaciones interactivas que necesitan retroalimentación inmediata.
Para obtener más información sobre el análisis técnico profundo, consulte Strands Agents SDK: un análisis técnico profundo de las arquitecturas y la observabilidad de los agentes.
Requisitos previos
Antes de sumergirse en la solución, asegúrese de tener lo siguiente en su lugar:
Una cuenta de AWS. Usuario configurado en AWS IAM Identity Center o Builder ID. Instala Kiro. Configure las credenciales de AWS para acceder a Amazon Bedrock: configure la autenticación mediante AWS IAM Identity Center (el enfoque recomendado para el acceso humano). Ejecute los siguientes comandos para configurar e iniciar sesión:
A continuación, adjunte una política de AWS Identity and Access Management (IAM) en línea con alcance al rol o conjunto de permisos que utilice. Esta política otorga solo los permisos necesarios para este tutorial: invocar el modelo Claude Sonnet a través de Amazon Bedrock.
Descripción general de la solución
Construyendo un asistente de investigación inteligente
Esta sección muestra cómo Strands Agents agiliza el desarrollo de capacidades de IA agente. Nuestro asistente de investigación de ejemplo muestra cómo puede integrar rápidamente funciones inteligentes en sus aplicaciones con un código mínimo. Se comienza creando un agente con una inicialización de Agent() y luego se define el comportamiento del agente mediante ingeniería rápida. A continuación, agrega capacidades de investigación autónomas proporcionando herramientas y respuestas de proceso para obtener resultados limpios.
La solución requiere solo 30 líneas de código, lo que demuestra cómo Strands puede reducir la complejidad del desarrollo de la IA para lograr una implementación sencilla. Si bien utilizamos Streamlit para la visualización, la funcionalidad principal radica en la capacidad de Strands para manejar el razonamiento autónomo, la selección de herramientas y la ejecución de tareas con una mínima intervención de su parte.
Primeros pasos con Strands Agents:
Comenzará creando un asistente de investigación sencillo con estilo de preguntas y respuestas utilizando Strands Agents. En su IDE, instale el SDK de Strands Agents:
Kiro -> Terminal
También necesitamos Streamlit para nuestro asistente de investigación, así que use el siguiente comando para instalar Streamlit:
Luego creará su primer agente como un archivo Python. Llamémoslo investigación.py.
Eso es todo. Acabas de crear tu primer agente de IA. Ahora, veamos qué puede hacer cuando lo ejecutas.
En tu terminal, ejecuta el siguiente comando:
Una vez establecida esta base, mejoremos nuestra implementación mediante el uso de ingeniería rápida para crear un asistente de investigación más sofisticado. Construiremos una interfaz web utilizando Streamlit que se puede utilizar para ingresar temas dinámicamente y recibir informes de investigación completos impulsados por Strands Agents.
Desarrollo asistido por IA con Kiro: Generando la implementación de nuestro asistente de investigación
Aceleremos nuestro proceso de desarrollo utilizando las capacidades de Kiro para generar nuestro código de asistente de investigación a través de indicaciones y conversaciones en lenguaje natural. Usaremos lenguaje natural para describir nuestros requisitos y Kiro puede ayudarnos a crear una aplicación de asistente de investigación funcional con Strands Agents y Streamlit.
Complete los siguientes pasos:
Abre Kiro. Cree un nuevo archivo Python (por ejemplo, research_assistant.py). Proporcione el siguiente mensaje:
Kiro generará la implementación completa, que luego podremos guardar y ejecutar.
El siguiente es el código de Kiro.
Nota: Sin una herramienta de navegación web, el agente genera URL a partir de su conocimiento de capacitación. Es posible que estos no reflejen los últimos artículos. Para recuperación en vivo, agregue el servidor MCP apropiado como herramienta.
Elegir servidores MCP de forma responsable
Fije el servidor MCP a una versión específica o confirme hash (por ejemplo, pip install "arxiv-mcp==XYZ"). Revise la fuente antes de instalar. Recomiendo la recuperación nativa de Amazon Bedrock (Knowledge Bases/RAG) para casos de uso de producción. Para implementaciones orientadas al cliente o entre organizaciones, dirija los servidores MCP de terceros a través del proceso de revisión legal y de seguridad de su organización. Los servidores MCP comparten los privilegios de proceso del agente, incluidas las credenciales de AWS disponibles para el proceso. Trátelos como parte de su límite de confianza.
Para cargas de trabajo de producción, considere los servidores MCP remotos administrados por AWS a través de Amazon Bedrock AgentCore, que brindan aislamiento de procesos, autenticación centralizada y eliminan la exposición de credenciales locales.
Consideraciones de seguridad para la producción.
Validar la entrada del usuario. Limite la longitud del tema y elimine los caracteres no imprimibles antes de pasar la cadena al agente (consulte el código en esta publicación). Habilite las barandillas de Amazon Bedrock. Adjunte una barandilla a la llamada del modelo para una inyección rápida y un filtrado de salida inseguro. Para obtener más información, consulte Detectar y filtrar contenido dañino mediante Amazon Bedrock Guardrails. Active el registro. Habilite el registro de invocación de modelos de Amazon Bedrock y los eventos de datos de AWS CloudTrail en bedrock:InvokeModel y bedrock:Converse para poder atribuir el uso indebido y reconstruir incidentes. Costo consolidado. Establezca una alarma de cuota bajo demanda de Amazon Bedrock y un límite de consultas por sesión para evitar la inundación de temas o el agotamiento de costos. Clasificar datos persistentes. Si almacena el historial de conversaciones, clasifique los datos y elimine los valores confidenciales antes de escribir. Revisar el modelo de responsabilidad compartida. Consulte el modelo de responsabilidad compartida de AWS para conocer la división entre lo que AWS administra y lo que usted posee.
Si quieres entender mejor el código, puedes preguntarle a Kiro. ¿Puedes explicar el código en contexto?
Kiro responde lo siguiente:
Durante el desarrollo inicial, la salida del agente se transmitía correctamente en la interfaz Streamlit pero también aparecía en la terminal, donde se cortaba abruptamente. Si bien esto no afectó la funcionalidad de la aplicación, creó ruido innecesario en el entorno de desarrollo. A través de una conversación adicional con Kiro, refiné el código para incluir la redirección estándar, para verificar que las respuestas del agente solo se mostraran en la interfaz prevista.
Esto ilustra una ventaja clave de codificar con Kiro: la capacidad de mejorar iterativamente su implementación a través de comentarios en lenguaje natural. Cuando encuentre estos casos extremos, puede describir el comportamiento deseado y Kiro le ayudará a modificar el código en consecuencia; por ejemplo, intente pedirle a Kiro que agregue manejo de errores para respuestas de agentes vacías o con formato incorrecto.
Veamos ahora nuestra aplicación refinada en acción.
Dándole vida a tu agente
En la terminal, vaya al directorio donde está guardado el archivo research_assistant.py y ejecute el siguiente comando:
Esto abrirá la aplicación Streamlit.
Nota: Streamlit Run se vincula a 127.0.0.1 de forma predeterminada, por lo que solo se puede acceder a la interfaz de usuario desde esta máquina. No lo exponga a la LAN (–server.address=0.0.0.0) ni a Internet sin agregar autenticación, protección CSRF y un límite de costos de Amazon Bedrock. La vinculación de DNS del navegador contra localhost es una preocupación conocida para las herramientas de desarrollo local. Considere la autenticación integrada o el proxy inverso de Streamlit a través de una puerta de enlace autenticada para cualquier uso compartido.
Después de ejecutar el comando anterior, recibirá la siguiente nota. Puede optar por dejar el correo electrónico en blanco.
¡Bienvenidos a Streamlit!
Si desea recibir correos electrónicos de incorporación útiles, noticias, ofertas, promociones,
y algún botín ocasional, ingrese su dirección de correo electrónico a continuación. De lo contrario,
deje este campo en blanco.
Correo electrónico:
A continuación, obtendrá el enlace para abrir la aplicación Streamlit.
Puede ingresar un tema de interés y elegir Generar informe de investigación.
el cual generará el informe de investigación de la siguiente manera:
Si desea obtener un informe diferente u otros detalles, puede pedirle a Kiro que modifique el código cuando tenga el archivo en contexto o puede proceder a modificar el código usted mismo.
Conclusión
En esta publicación, exploramos cómo Strands Agents agiliza el desarrollo de aplicaciones de IA agente. Al combinar el poder del enfoque basado en modelos de Strands con las capacidades de generación de código de Kiro, demostré cómo se pueden crear funciones sofisticadas de IA con un código mínimo.
Nuestra exploración muestra que Strands Agents puede reducir el desarrollo complejo de IA mediante la creación intuitiva de agentes, mientras que Kiro puede mejorar su productividad mediante la codificación asistida por IA. Las aplicaciones resultantes son potentes y fáciles de mantener, y usted puede realizar rápidamente modificaciones personalizadas mediante una rápida ingeniería. A medida que la IA continúa evolucionando, herramientas como Strands Agents y Kiro hacen que sea cada vez más accesible para usted crear aplicaciones inteligentes y autónomas que pueden mejorar sus casos de uso y flujos de trabajo específicos.
Licencia y descargo de responsabilidad
El código de ejemplo de esta publicación tiene licencia MIT-0. Esta publicación y su código se proporcionan tal como están sin garantía; Los lectores son responsables de la seguridad, el costo y la situación operativa de cualquier sistema que implementen según esta guía.
Consideraciones antes de usar en producción.
Costo: cada consulta de investigación consume tokens de Amazon Bedrock; establezca una alarma de cuota y un límite de consultas por sesión antes de exponer esta aplicación más allá de un solo usuario. Datos: los temas de investigación y los resultados del modelo se envían a un modelo básico; no envíe datos confidenciales o regulados sin los controles adecuados. Operativo: el tutorial se entrega sin seguimiento de auditoría, sin validación de entradas ni autenticación en la interfaz de usuario de Streamlit. Consulte la sección Consideraciones de seguridad para la producción anterior antes de reutilizar este patrón.