Ir al contenido principalAWS Startups
  1. Aprender
  2. Cree agentes de IA escalables: arquitectura sin servidor en AWS

Cree agentes de IA escalables: arquitectura sin servidor en AWS

¿Qué le pareció este contenido?

Desarrollar software en la era de la IA generativa presenta una paradoja. Por un lado, los modelos de conocimiento de frontera se han vuelto tan potentes que crear una versión inicial de una aplicación basada en IA puede implicar poco más que llamar a una API de chat sencilla (¡y que un agente de programación escriba la mayor parte del código!). Por otro lado, el nivel de precisión, rendimiento y optimización de costos que requiere una aplicación de IA lista para producción suele implicar una arquitectura técnica compleja.

Esta complejidad surge en parte porque los algoritmos de IA generativa son probabilísticos en lugar de deterministas. Para reducir la variabilidad en la salida de un modelo y mejorar la fiabilidad, los desarrolladores utilizan técnicas como proporcionar ejemplos de lo que constituye una respuesta “adecuada” o incluir información adicional (“contexto”) que el modelo pueda considerar al generar resultados. Como consecuencia, el código de una aplicación basada en IA se vuelve rápidamente mucho más complejo que simples llamadas a la API de chat del modelo. Como mínimo, los desarrolladores deberán agregar al menos una capa de servicio de datos que incluya llamadas a bases de datos especializadas para construir el contexto que se mostrará al modelo.

Pero la complejidad no termina ahí. A medida que los desarrolladores añaden más capacidades a sus aplicaciones basadas en IA, suelen descubrir que esto requiere distintos contextos y diferentes conjuntos de prompts. Así, los desarrolladores, atraídos por las abstracciones, organizan el código que respalda estas distintas capacidades en módulos autónomos. En IA, este tipo de patrón de diseño se conoce como “agente”.

Agentes en acción: superación de la complejidad en la IA generativa

Un agente es un módulo de código que utiliza modelos de IA generativa para realizar una tarea específica de forma autónoma. Los agentes pueden actuar solos o en combinación con otros agentes. También pueden llamar a “herramientas”, que suelen ser API o funciones incluidas en el contexto disponible para el agente. El resultado neto de este enfoque agéntico del diseño de software es que la ingeniería de contexto, el proceso de obtener los datos relevantes que un agente necesita para completar su tarea, se vuelve más compleja. Además, los propios agentes suelen necesitar ejecutarse de forma asíncrona fuera de la aplicación principal (esto resulta especialmente cierto en el caso de agentes que requieren acceso a datos sensibles). Esto puede requerir la administración de entornos de ejecución completamente independientes, así como credenciales.

Una aplicación típica de IA agéntica puede desglosarse en los siguientes componentes:

  1. El modelo de IA generativa, que normalmente incluye un modelo de lenguaje de gran tamaño (LLM) y las API que proporcionan acceso a él.
  2. Los marcos de software, que proporcionan abstracciones prácticas para las API de modelos de nivel inferior, y los kits de desarrollo de software para crear agentes y realizar muchas de las operaciones de acceso a los datos necesarias para la ingeniería de contexto.
  3. Los componentes de servicio de datos, que proporcionan la información incluida en el contexto suministrado a los agentes. Estos pueden consistir en distintos almacenes de datos (sistemas de administración de bases de datos relacionales, bases de datos NoSQL, etc.), pero casi siempre incluyen algún tipo de servicio de búsqueda semántica. En el caso de las aplicaciones agénticas, esto suele descargarse a un almacén vectorial, que almacena representaciones numéricas de datos de texto denominadas incrustaciones.
  4. Un entorno de ejecución para los agentes. En el caso de las aplicaciones agénticas sencillas, los agentes pueden ejecutarse en proceso con el código de la aplicación. Sin embargo, en la mayoría de los casos, los agentes deberán ejecutarse en su propio espacio de procesos, separados de la aplicación principal.

Como ocurre con todas las arquitecturas de software que requieren la cooperación de múltiples componentes, se necesita una gran cantidad de trabajo pesado indiferenciado para garantizar que estos componentes sean resilientes, redundantes y con buen rendimiento. Afortunadamente, las aplicaciones de IA agéntica se benefician de las mismas arquitecturas nativas en la nube que las aplicaciones tradicionales. Las arquitecturas sin servidor resultan especialmente atractivas para las aplicaciones de IA agéntica, y AWS ofrece diversas opciones sin servidor que permiten a los desarrolladores crear aplicaciones de IA agéntica de forma rápida, sencilla y rentable.

Inferencia en acción

Comencemos con el componente más conocido: los propios modelos de IA generativa. El término para el servicio de modelos es “inferencia” y, para la inferencia sin servidor, Amazon Bedrock proporciona un servicio administrado para ejecutar y acceder a modelos fundacionales de IA generativa. Estos abarcan desde LLM de conocimiento de frontera como Claude de Anthropic hasta modelos basados en voz como Amazon Nova Sonic, así como modelos de peso abierto de OpenAI y Mistral, todos accesibles mediante una API unificada.

A continuación, la inferencia. Normalmente es compleja y requiere hardware especializado como GPU y un conocimiento profundo de los marco de red de bajo nivel que permiten la comunicación entre clústeres de GPU. Tradicionalmente, esto ha creado retos operativos y una barrera de accesibilidad, especialmente para startups. Amazon Bedrock ayuda a eliminar estas barreras, ya que los usuarios solo necesitan aprender a utilizar las API de la solución.

Incrustación inteligente: bases de conocimiento y almacenes vectoriales

Además de la inferencia y el servicio de modelos, Amazon Bedrock también ofrece compatibilidad completa con los componentes de servicio de datos más habituales en la pila de IA agéntica. Las Bases de conocimiento de Amazon Bedrock, por ejemplo, puede utilizarse para la búsqueda semántica, que consiste en buscar en una colección de documentos semánticamente similares al texto de la consulta. Esto resulta fundamental cuando un agente de IA necesita información adicional en su contexto.

Por ejemplo, un agente de atención al cliente puede necesitar consultar documentos de preguntas frecuentes que coincidan con la información solicitada por el cliente, por ejemplo, “¿Cómo cambio la dirección asociada a mi cuenta?”. Mediante las Bases de conocimientos de Amazon Bedrock, los documentos de preguntas frecuentes pueden indexarse para búsqueda semántica al almacenarlos en un bucket de Amazon S3 y configurar ese bucket como origen de datos para una Base de conocimientos de Bedrock. El servicio administra la “fragmentación” de los documentos (dividir un documento en partes más pequeñas), la “vectorización” de cada fragmento (crear las incrustaciones numéricas del texto) y el almacenamiento y la relación entre los fragmentos y las incrustaciones para que los fragmentos relevantes puedan devolverse en una consulta semántica.

Una vez creadas estas incrustaciones, deben almacenarse en una base de datos especializada para incrustaciones o almacén de vectores. Las Bases de conocimiento de Amazon Bedrock admiten varias opciones de almacén de vectores, incluido Amazon S3 Vectors, una base de datos vectorial sin servidor integrada en Amazon S3. Este tipo de capa de servicio de datos se conoce como generación aumentada por recuperación (RAG) y resulta sencillo de implementar mediante Bases de conocimiento de Amazon Bedrock, S3 y S3 Vectors. Esto permite a los desarrolladores centrarse en la funcionalidad de sus agentes de IA en lugar de administrar una infraestructura compleja de servicio de datos.

Crear, ejecutar y escalar

Una vez que las incrustaciones se almacenan y resultan accesibles a través de almacenes vectoriales, el siguiente paso consiste en ejecutar agentes de IA que utilicen estos datos. Amazon Bedrock AgentCore proporciona un entorno de ejecución sin servidor para desarrolladores. Los agentes pueden crearse mediante marcos como LangChain, Strands o incluso soluciones propias. Los desarrolladores pueden empaquetar el agente en un archivo .zip y cargarlo en S3. Como alternativa, pueden crear una imagen de contenedor y enviarla a Amazon Elastic Container Registry (ECR). Una vez que su código se encuentra en S3 o ECR, pueden configurar AgentCore para ejecutar su agente en la nube sin necesidad de administrar servidores. AgentCore también gestiona procesos operativos como la autenticación, con compatibilidad con roles integrados de AWS Identity and Access Management o JSON Web Token para iniciar sesión mediante un proveedor de identidad corporativo.

Amazon Bedrock y AgentCore ofrecen muchas más capacidades sin servidor, pero las tres descritas en este artículo constituyen el punto de partida ideal para desarrollar aplicaciones de IA agéntica con compatibilidad completa con RAG. En primer lugar, Amazon Bedrock para la inferencia con una amplia selección de modelos; en segundo lugar, las Bases de conocimientos de Amazon Bedrock y S3 Vectors para indexación documental y búsqueda semántica; y, por último, Amazon AgentCore para ejecutar agentes de forma segura y rentable.

El desarrollo de aplicaciones de IA agéntica ha resultado tradicionalmente complejo y exigente, especialmente para startups que suelen operar con recursos limitados. Las arquitecturas sin servidor reducen esta complejidad al eliminar la necesidad de que los ingenieros creen y administren la infraestructura subyacente. Tanto si es un desarrollador experimentado de IA agéntica como si está empezando, Amazon Bedrock ofrece un conjunto completo de herramientas y servicios para ayudarle a crear y escalar con confianza.

¿Listo para empezar a crear IA agéntica en AWS? AWS Activate ofrece acceso a créditos de AWS, que pueden utilizarse para compensar el costo de las soluciones tratadas en este artículo, así como de una amplia gama de otros servicios. Desde su lanzamiento en 2013, AWS Activate ha proporcionado más de 8 000 000 000 USD en créditos a startups de todo el mundo. Los fundadores también se benefician de programas y recursos, soporte técnico, mentoría empresarial y una conexión más estrecha con la comunidad global de startups. Únase a millones de usuarios y descubra cómo llevar sus ideas desde el concepto hasta la preparación para la nube.

¿Qué le pareció este contenido?