Las empresas que crean agentes de IA a menudo requieren más de lo que pueden proporcionar los servicios de modelo básico administrado (FM). Necesitan un control preciso sobre el ajuste del rendimiento, la optimización de costos a escala, el cumplimiento y la residencia de datos, la selección de modelos y las configuraciones de red que se integren con las arquitecturas de seguridad existentes. Los puntos finales de IA de Amazon SageMaker se alinean con estos requisitos al brindar a las organizaciones control sobre los recursos informáticos, el comportamiento de escalado y la ubicación de la infraestructura, al tiempo que se benefician de la capa operativa administrada de AWS. Estos modelos implementados por SageMaker AI pueden impulsar agentes de IA, manejar cargas de trabajo conversacionales e integrarse con marcos de orquestación como los FM que están disponibles en Amazon Bedrock. La diferencia es que la organización conserva el control arquitectónico sobre cómo y dónde ocurre la inferencia.
En esta publicación, demostramos cómo crear agentes de IA utilizando el SDK de Strands Agents con modelos implementados en puntos finales de IA de SageMaker. Aprenderá cómo implementar modelos básicos de SageMaker JumpStart, integrarlos con Strands Agents y establecer observabilidad a nivel de producción utilizando SageMaker Serverless MLflow para el seguimiento de agentes. También cubrimos cómo implementar pruebas A/B en múltiples variantes de modelos y evaluar el rendimiento de los agentes utilizando métricas de MLflow y mostrar cómo puede crear, implementar y mejorar continuamente agentes de IA en la infraestructura que controla.
Strands Agents SDK es un SDK de código abierto que adopta un enfoque basado en modelos para crear y ejecutar agentes de IA en solo unas pocas líneas de código. Strands escala desde casos de uso de agentes simples hasta complejos, y desde el desarrollo local hasta la implementación en producción.
Amazon SageMaker JumpStart es un centro de aprendizaje automático (ML) que puede ayudarle a acelerar su recorrido por el ML. Con SageMaker JumpStart, puede evaluar, comparar y seleccionar FM rápidamente en función de métricas de calidad y responsabilidad predefinidas para realizar tareas, como resúmenes de artículos y generación de imágenes.
SageMaker AI MLflow es una capacidad administrada que agiliza el ciclo de vida del aprendizaje automático mediante el seguimiento de experimentos, el control de versiones de modelos y la gestión de implementación.
En esta publicación nosotros:
Implemente modelos en SageMaker AI: implemente modelos básicos desde SageMaker JumpStart. Integre Strands con SageMaker AI: utilice modelos de SageMaker AI implementados con Strands Agents. Configure la observabilidad del agente: configure la aplicación SageMaker AI MLflow para el seguimiento del agente. Implemente pruebas A/B con evaluación: implemente múltiples variantes de modelo y evalúe el agente con métricas de MLflow.
Puede encontrar un cuaderno de Jupyter con el código completo para usar en esta publicación en el repositorio de GitHub.
Construyendo su primer agente de Strands
Los agentes de Strands reunieron un modelo, un mensaje del sistema y un conjunto de herramientas para construir un agente de IA simple. Strands ofrece muchos proveedores de modelos, incluido Amazon SageMaker AI. También proporciona muchas herramientas de uso común como parte del SDK de strands-agent-tools, para que las organizaciones puedan crear rápidamente agentes de IA para sus necesidades comerciales.
El siguiente fragmento de código muestra cómo crear su primer agente utilizando el SDK de Strands Agents. Puede encontrar una muestra detallada de los agentes creados con el SDK de Strands Agents en el repositorio de GitHub.
Este agente utiliza el modelo de inferencia multiregión Claude 4.5 Sonnet en Amazon Bedrock. Puede encontrar una lista de perfiles de inferencia disponibles en la Guía del usuario de Amazon Bedrock.
Amazon Bedrock te ofrece una variedad de modelos. La identificación del modelo para los modelos disponibles se puede encontrar en la Guía del usuario de Amazon Bedrock.
¿Por qué utilizar modelos implementados en SageMaker AI?
Las organizaciones pueden considerar implementar modelos básicos en SageMaker AI por las siguientes razones.
Control de infraestructura: SageMaker AI proporciona control sobre instancias informáticas, configuraciones de red y políticas de escalado. Esto es crucial para organizaciones con SLA de latencia estrictos o requisitos de hardware específicos. Flexibilidad del modelo: SageMaker AI permite la implementación de diferentes modelos, ya sea una arquitectura personalizada, una variante ajustada o una alternativa de código abierto como Llama o Mistral. Previsibilidad de costos: los puntos finales dedicados de IA de SageMaker permiten una previsión y optimización de costos precisas a través de instancias reservadas, precios al contado y recursos informáticos del tamaño adecuado. Esto puede resultar especialmente beneficioso para cargas de trabajo de gran volumen. MLOps avanzados: la integración de SageMaker AI con el registro de modelos MLflow y las capacidades de prueba A/B brindan gobernanza de modelos de nivel empresarial que muchas organizaciones requieren para los sistemas de AI de producción.
Creación de un agente de Strands con modelos de IA de SageMaker
El SDK de Strands Agents implementa un proveedor de IA de SageMaker, por lo que puede ejecutar agentes contra modelos implementados en puntos finales de inferencia de IA de SageMaker. Esto incluye tanto modelos previamente entrenados de SageMaker JumpStart como modelos personalizados y ajustados. El modelo que use con Strands Agents SDK debe admitir API de finalización de chat compatibles con OpenAI. En esta publicación, vemos cómo los modelos Qwen3 4B y Qwen3 8B disponibles en SageMaker AI JumpStart se usan con Strands Agents.
Requisitos previos
Para ejecutar el código de esta publicación debes tener lo siguiente:
Una cuenta de AWS con acceso a Amazon Bedrock y Amazon SageMaker AI. Un rol con acceso a SageMaker AI, modelos de Amazon Bedrock, SageMaker AI Serverless MLflow, Amazon Simple Storage Service (Amazon S3) y Amazon SageMaker AI JumpStart. Puede utilizar la política de confianza para asumir ese rol. Una computadora portátil Jupyter que se ejecuta localmente en su escritorio o en SageMaker AI Studio. Cuando se ejecute localmente, asegúrese de autenticarse en su cuenta de AWS y asumir el rol que tiene los permisos necesarios.
Paso 1: instale los paquetes necesarios
Primero, instalamos los paquetes de Python necesarios en nuestro entorno.
Paso 2: Implementar el modelo como punto final de SageMaker AI
Ahora que los paquetes están disponibles, utilizamos SageMaker JumpStart API para implementar el modelo Qwen3-4B como un punto final de SageMaker AI.
Paso 3: Úselo con el agente Strands
Con el modelo implementado, creamos un SageMakerAIModel y lo usamos con Strands Agents.
de strands.models.sagemaker importe SageMakerAIModel de strands import Agente, herramienta de strands_tools importe http_request, calculadora model_sagemaker = SageMakerAIModel( endpoint_config={ "endpoint_name": ENDPOINT_NAME, "region_name": región }, payload_config={ "max_tokens": 2048, "temperature": 0.2, "stream": True, } ) # Pruebe el agente agente = Agente(model=model_sagemaker, herramientas=[http_request]) agente("¿Dónde está ahora la estación espacial internacional? (Uso: http://api.open-notify.org/iss-now.json")
Para obtener más información sobre SageMaker AI como proveedor de modelos para Strands Agents, consulte Amazon SageMaker en el sitio web de Strands Agent.
Uso de la aplicación MLflow sin servidor SageMaker AI para la observabilidad de los agentes
SageMaker AI Serverless MLflow ayuda a proporcionar observabilidad integral para los agentes de IA al capturar automáticamente seguimientos de ejecución, patrones de uso de herramientas y flujos de trabajo de toma de decisiones sin requerir instrumentación personalizada. El servicio administrado ayuda a reducir los gastos operativos al tiempo que ofrece integración nativa con Strands Agents SDK. Esto permite el seguimiento de los flujos de conversación de los agentes. Con este servicio de observabilidad centralizado, los equipos pueden monitorear el comportamiento de los agentes en múltiples implementaciones, identificar cuellos de botella en el rendimiento y mantener pistas de auditoría para los requisitos de cumplimiento.
Paso 1: Configurar la aplicación MLflow sin servidor SageMaker AI
El primer paso para configurar la observabilidad de su agente de IA es configurar una aplicación MLflow. Tiene dos opciones principales para la implementación:
usando la interfaz de usuario intuitiva de SageMaker AI Studio para una configuración rápida con configuración guiada usando Boto3 para una implementación programática que permite prácticas de automatización y infraestructura como código.
Ambos enfoques crean una aplicación MLflow sin servidor, por lo que puede concentrarse en crear y monitorear sus agentes Strands en lugar de administrar la infraestructura de observabilidad subyacente. En esta publicación, utilizamos el SDK de Boto3 para implementar una aplicación MLflow.
Paso 2: configurar la aplicación MLflow para el seguimiento del agente Strands
Ahora que ha creado una aplicación MLflow, habilita el registro automático para los agentes de Strands para que las interacciones de los agentes, el uso de herramientas y las métricas de rendimiento se capturen y envíen automáticamente a la aplicación MLflow sin necesidad de instrumentación manual.
Paso 3: ejecutar el agente
Con la configuración de la aplicación MLflow y el registro automático habilitados, ahora está listo para invocar a nuestro Agente Strands exactamente como lo hizo al principio.
Los seguimientos y las métricas estarán disponibles en su aplicación MLflow, a la que se puede acceder mediante la URL firmada construida con información de mlflow_app_details y las variables de la región de AWS.
Paso 4: revisar los seguimientos en MLflow
La ejecución posterior del agente, el seguimiento de su agente, las llamadas a herramientas y otras métricas estarán disponibles a través de la sección Seguimientos de la interfaz de usuario de la aplicación MLflow.
Los rastros de un experimento están disponibles en una vista de lista para inspeccionarlos más a fondo.
Cuando selecciona un seguimiento específico, tiene la opción de ver los detalles como una línea de tiempo de ejecución o como un árbol de distribución. En ambas vistas, puede ver el bucle del agente, las llamadas a herramientas, la entrada/salida de cada paso y otra información.
Seguimiento manual
Mientras que el bloque de código anterior tenía capitalize(response.message['content'][0]['text']), la función de capitalización no es visible en el seguimiento de MLflow. El seguimiento automatizado de MLflow Strands registra la invocación del agente (y su herramienta y las invocaciones de FM). Otras llamadas a funciones no se registran. Si necesita rastrear un bloque de código completo, puede usar la capacidad de rastreo manual de MLflow como se muestra en el siguiente bloque de código.
En este bloque de código, la función de capitalización está decorada con @mlflow.trace para garantizar que su ejecución, entrada y salida se vean en MLflow. Como resultado, verá el siguiente seguimiento en MLflow que incluye la invocación del agente y la llamada a la función "capitalizar".
Implementación de un nuevo LLM para pruebas A/B
Con Amazon SageMaker AI, puede optimizar modelos de lenguaje grandes (LLM) para las aplicaciones de sus agentes. Por ejemplo, para mejorar el rendimiento de su aplicación mediante la actualización de un modelo Qwen3-4B más pequeño al modelo Qwen3-8B más grande, no necesita realizar una migración completa de inmediato. Debido a que su agente actual con Qwen3-4B funciona bien, puede implementar el nuevo modelo Qwen3-8B junto con él y distribuir el tráfico entre ambos puntos finales de LLM. Con este enfoque, puede realizar pruebas A/B para medir el impacto y la eficacia del modelo más grande antes de comprometerse por completo con la actualización. Primero, implemente un nuevo modelo detrás del mismo punto final que una segunda variante:
Una vez realizada la actualización, el agente que creó con este punto final utilizará ambos LLM con una probabilidad del 50/50. Para un experimento controlado, puede crear dos nuevos agentes que apuntarán a variantes específicas.
Evaluación de agente utilizando variantes de modelo con MLflow GenAI
Con ambas variantes de modelo implementadas detrás de su punto final de prueba A/B, el siguiente paso es usarlas en Strands Agents, que son iguales en otros aspectos excepto en el modelo en sí. Luego evaluaremos sistemáticamente a estos agentes utilizando el marco de evaluación GenAI de MLflow, que proporciona un enfoque estructurado que utiliza métricas personalizadas y jueces basados en LLM.
Crear un conjunto de datos de evaluación
Para medir objetivamente el rendimiento de los agentes, necesita un conjunto coherente de casos de prueba que representen sus cargas de trabajo del mundo real. Cada entrada en el conjunto de datos de evaluación incluye la consulta de entrada junto con las expectativas, los valores reales que los evaluadores utilizarán para evaluar si el agente respondió correctamente. Esta estructura facilita evaluaciones reproducibles entre variantes del modelo.
Definir puntuadores de evaluación
Los evaluadores determinan cómo se evalúan las respuestas de los agentes en función de sus expectativas. MLflow admite puntajes personalizados para verificaciones deterministas (como verificar que se usó la herramienta correcta) y jueces LLM integrados que evalúan cualidades subjetivas como la corrección fáctica y la relevancia. La combinación de estos tipos de puntajes ayuda a brindar una visión integral del desempeño de los agentes, desde la verificación de la capacidad básica hasta la calidad de la respuesta matizada.
Ejecute la evaluación
Con su conjunto de datos y puntajes definidos, ahora puede ejecutar la evaluación en cada variante del modelo. La función mlflow.genai.evaluate() ejecuta su agente en cada caso de prueba, aplica los puntajes para evaluar las respuestas y registra los resultados en MLflow para su análisis. Realizar evaluaciones independientes para cada variante ayuda a garantizar que pueda comparar directamente su rendimiento en condiciones idénticas.
Comparar resultados
Una vez completadas ambas evaluaciones, puede comparar las métricas agregadas para determinar qué variante de modelo funciona mejor para sus cargas de trabajo específicas. Esta comparación proporciona la evidencia basada en datos que necesita para tomar decisiones informadas sobre la selección del modelo, en lugar de depender de suposiciones o puntos de referencia generales.
metrics_4b = eval_results_4b.metrics metrics_8b = eval_results_8b.metrics para la métrica en metrics_4b: print(f"{metric}: 4B={metrics_4b[metric]:.3f}, 8B={metrics_8b[metric]:.3f}")
También puede ver comparaciones detalladas en la interfaz de usuario de MLflow navegando a la pestaña Evaluaciones y seleccionando ambas ejecuciones para un análisis en paralelo.
Transición al nuevo modelo.
Si se demuestra que el nuevo modelo es mejor, puede realizar una transición al nuevo modelo ajustando los pesos:
Problemas de depuración con el seguimiento de MLflow
En el caso de "ImportError: no se puede importar el nombre 'TokenUsageKey' de 'mlflow.tracing.constant' (/opt/conda/lib/python3.12/site-packages/mlflow/tracing/constant.py)" u otros problemas con el seguimiento de Strands Agents en MLflow, verifique lo siguiente:
Verifique la versión de MLflow instalada. Debe ser 3.4.0 o superior. Asegúrese de que la función que está utilizando para ejecutar Strands Agent tenga permiso para: leer, escribir y enumerar el s3:bucket utilizado como ubicación del artefacto para acceder al servidor de seguimiento de MLflow a la aplicación MLflow.
Limpiar los recursos creados
El siguiente código eliminará el punto final de SageMaker AI y la aplicación MLflow que creó.
Conclusión
En esta publicación, exploramos cómo crear agentes de IA utilizando el SDK de Strands Agents con modelos implementados en puntos finales de IA de Amazon SageMaker, mientras utilizamos SageMaker AI Serverless MLflow para una observabilidad integral de los agentes. Este enfoque ayuda a brindar a las organizaciones mayor flexibilidad y control sobre su infraestructura de IA. La implementación de modelos en SageMaker AI le brinda un control preciso sobre los recursos informáticos, las configuraciones de redes y las políticas de escalamiento que son especialmente valiosas para organizaciones con requisitos específicos de rendimiento, costos o cumplimiento. La integración con MLflow proporciona sólidas capacidades de observabilidad, para que pueda realizar un seguimiento del comportamiento de los agentes, monitorear métricas de rendimiento y mantener registros de auditoría. La combinación de Strands Agents SDK, SageMaker AI y MLflow crea un marco poderoso para crear, implementar y monitorear agentes de IA que puede personalizar para satisfacer sus necesidades comerciales específicas.
Próximos pasos
Para comenzar a crear sus propios agentes de IA utilizando este enfoque, recomendamos los siguientes recursos:
Si sigue los pasos descritos en esta publicación, puede crear agentes de IA sofisticados que puedan aprovechar todo el poder de la infraestructura flexible de SageMaker AI y las capacidades integrales de observabilidad de MLflow. ¡Estamos emocionados de ver lo que construirás!