MLflow es una plataforma de código abierto diseñada para gestionar y realizar un seguimiento de experimentos de machine learning. Al combinarse con el SDK de OpenAI Agents, MLflow registra automáticamente todas las interacciones del agente y llamadas a la API, captura el uso de herramientas, mensajes de entrada y salida, así como decisiones intermedias. Además, permite hacer seguimiento de las ejecuciones para facilitar la depuración, análisis de rendimiento y reproducibilidad. Esto resulta especialmente útil al crear sistemas con múltiples agentes que colaboran o llaman funciones de manera dinámica.
En este tutorial veremos dos ejemplos principales: un sencillo traspaso entre agentes y el uso de barreras de protección (guardrails) para agentes, todo ello mientras se monitoriza el comportamiento con MLflow.
Para comenzar, instala las librerías necesarias con el siguiente comando:
```bash pip install openai-agents mlflow pydantic pydotenv ```
A continuación, consigue una clave de API de OpenAI desde https://platform.openai.com/settings/organization/api-keys. Si eres usuario nuevo, es posible que debas agregar datos de facturación y realizar un pago mínimo de $5 para activar el acceso. Una vez obtenida, crea un archivo `.env` con esta línea, reemplazando `<TU_API_KEY>` por tu clave:
``` OPENAI_API_KEY = <TU_API_KEY> ```
El primer ejemplo es un sistema multi-agente sencillo (archivo `multi_agent_demo.py`), que dirige consultas del usuario a un experto en programación o a uno en cocina, según corresponda. En el código, activamos `mlflow.openai.autolog()`, que registra automáticamente todas las interacciones con la API de OpenAI, incluyendo entradas, salidas y traspasos entre agentes. MLflow se configura para guardar la información localmente en `./mlruns` bajo el experimento llamado “Agent-Coding-Cooking”.
Aquí un resumen del script:
- Se crean dos agentes especializados: uno responde solo preguntas de programación y otro solo de cocina. - Un tercer agente (triage) decide a cuál de los dos enviar la consulta según el tema. - Se utiliza la función asíncrona para ejecutar la interacción y mostrar la respuesta final.
Puedes iniciar la interfaz gráfica de MLflow en una terminal nueva con:
```bash mlflow ui ```
Esto levantará un servidor local, normalmente accesible en http://localhost:5000, donde podrás visualizar todo el flujo de interacciones, desde la pregunta inicial hasta la respuesta del agente correspondiente. Esta trazabilidad es excelente para entender cómo se toman decisiones y detectar posibles problemas.
El segundo ejemplo está basado en crear un agente de soporte al cliente protegido con barreras de seguridad para no responder preguntas médicas (archivo `guardrails.py`). En este caso:
- Se implementa un agente guardián que analiza la entrada para detectar si se trata de síntomas médicos. - Si se identifica una pregunta médica, se activa la barrera y se bloquea la respuesta del agente principal. - MLflow registra todo el proceso, incluyendo activación de la barrera, el razonamiento detrás y la respuesta final, asegurando total transparencia y trazabilidad del mecanismo de seguridad.
Por ejemplo, si el usuario pregunta: “¿Debo tomar aspirina si tengo dolor de cabeza?”, la barrera médica se activará, bloqueando la respuesta. Desde la interfaz de MLflow puedes ver exactamente cómo y por qué se tomó esa decisión, gracias a la explicación que ofrece el agente guardián.
Ambos ejemplos muestran cómo MLflow facilita el monitoreo integral y la depuración en sistemas de agentes inteligentes, permitiendo desarrollar soluciones más seguras y confiables.



