Desarrollo de Agentes y Herramientas en Azure AI Foundry
Esta lección aborda los agentes de IA y las herramientas en Azure AI Foundry. Se define su propósito para la automatización de tareas complejas y la extensión de capacidades de modelos de lenguaje. Aprenderá a construir y orquestar estos componentes para ejecutar flujos de trabajo autónomos y semi-autónomos.

Concepto de Agentes de IA
Un agente de IA es un sistema autónomo o semi-autónomo diseñado para percibir su entorno, tomar decisiones y ejecutar acciones para lograr un objetivo específico. En el contexto de Azure AI Foundry, un agente se construye alrededor de un modelo de lenguaje grande (LLM) que actúa como su "cerebro" o "razonador". Este LLM interpreta la solicitud, descompone la tarea en subtareas, decide qué herramientas utilizar y en qué orden, y finalmente formula una respuesta o ejecuta una acción.
La capacidad clave de un agente reside en su ciclo de percepción-razonamiento-acción. No solo genera texto, sino que interactúa con sistemas externos a través de herramientas. Esto permite a los LLM ir más allá de la generación de texto puro, habilitando la automatización de flujos de trabajo complejos que requieren interacción con bases de datos, APIs, sistemas de archivos o servicios web.
Herramientas: Extendiendo las Capacidades del LLM
Las herramientas son funciones o servicios externos que un agente puede invocar. Son la interfaz entre el LLM y el mundo exterior. Cada herramienta tiene una descripción clara de su propósito y los parámetros que acepta, lo que permite al LLM decidir cuándo y cómo usarla. Sin herramientas, un agente es solo un LLM; con ellas, se convierte en un sistema capaz de interactuar con cualquier sistema digital.
Ejemplos de herramientas comunes incluyen:
- Búsqueda de información: Herramientas que interactúan con motores de búsqueda o bases de datos internas (como Azure AI Search) para recuperar datos relevantes.
- Ejecución de código: Herramientas para ejecutar código Python o scripts para cálculos, manipulación de datos o interacción con APIs.
- Interacción con APIs: Herramientas que encapsulan llamadas a servicios web externos, como sistemas de gestión de clientes (CRM), sistemas de planificación de recursos empresariales (ERP) o servicios meteorológicos.
- Manipulación de archivos: Herramientas para leer, escribir o modificar archivos en un sistema de almacenamiento.
- Generación de contenido estructurado: Herramientas que invocan otros modelos de IA para generar imágenes, audio o video.
Diseñe herramientas con granularidad adecuada. Una herramienta debe tener una función única y bien definida. Evite herramientas monolíticas que intenten hacer demasiadas cosas, ya que esto dificulta que el LLM comprenda su propósito y la utilice correctamente. La claridad en la descripción de la herramienta es tan crítica como su funcionalidad.
Construcción de Agentes en Azure AI Foundry
Azure AI Foundry proporciona un entorno para definir, probar y desplegar agentes. El proceso generalmente implica:
- Definición del LLM base: Seleccionar el modelo de lenguaje que actuará como el razonador del agente. Azure AI Foundry permite el uso de modelos propios o de terceros (ej. GPT-4, Llama 3).
- Creación de herramientas: Desarrollar las funciones o clases que encapsulan la lógica de interacción con sistemas externos. Estas herramientas deben ser descritas de manera que el LLM pueda entender su propósito y cómo invocar sus parámetros. Azure AI Foundry soporta la integración de herramientas personalizadas.
- Configuración del agente: Especificar el prompt del sistema que guía el comportamiento del agente, las herramientas disponibles y cualquier configuración adicional (ej. temperatura del modelo, límites de tokens). El prompt del sistema es crucial para definir el rol, los objetivos y las restricciones del agente.
- Evaluación y depuración: Probar el agente con diversos escenarios y solicitudes para asegurar que razona correctamente y utiliza las herramientas de manera efectiva. Azure AI Foundry ofrece capacidades de trazabilidad para inspeccionar el flujo de razonamiento del agente y las llamadas a herramientas.
Un ejemplo conceptual de cómo se define una herramienta para que un LLM la use podría ser:
{
"name": "obtener_precio_producto",
"description": "Obtiene el precio actual de un producto específico del catálogo.",
"parameters": {
"type": "object",
"properties": {
"id_producto": {
"type": "string",
"description": "Identificador único del producto."
}
},
"required": ["id_producto"]
}
}El LLM, al recibir una solicitud como "¿Cuál es el precio del producto con ID 'XYZ123'?", interpretaría la intención, identificaría la herramienta obtener_precio_producto y generaría los parámetros necesarios (id_producto='XYZ123') para invocarla.
Orquestación y Flujos de Trabajo
La verdadera potencia de los agentes reside en su capacidad para orquestar múltiples herramientas y pasos de razonamiento para resolver problemas complejos. Un agente no solo usa una herramienta una vez, sino que puede encadenar llamadas a herramientas, procesar resultados intermedios y tomar decisiones secuenciales. Esto permite construir flujos de trabajo dinámicos que se adaptan a la entrada del usuario y a los resultados de las herramientas.
La orquestación puede ser explícita (definida por el desarrollador en un flujo preestablecido) o implícita (el LLM decide dinámicamente el siguiente paso basado en su razonamiento y las herramientas disponibles). Azure AI Foundry facilita ambos enfoques, permitiendo a los desarrolladores diseñar flujos de trabajo complejos que pueden incluir ramificaciones condicionales, bucles y manejo de errores.
La orquestación de agentes es fundamental para automatizar procesos empresariales, como la gestión de tickets de soporte, la generación de informes personalizados o la automatización de tareas de aprovisionamiento de infraestructura, donde se requiere interactuar con múltiples sistemas y APIs.
Aplicación Práctica (Qué hacer el lunes)
Para aplicar estos conceptos, identifique un proceso interno en su equipo que sea repetitivo y que involucre la interacción con dos o más sistemas distintos (ej. consultar una base de datos, luego llamar a una API de un sistema de tickets). No busque un proceso completo para automatizar, sino una micro-tarea.
Acción 1: Seleccione un modelo de lenguaje en Azure AI Foundry para actuar como el "cerebro" de un agente. Empiece con un modelo robusto como GPT-4 o uno de los modelos Llama 3 disponibles.
Acción 2: Defina al menos dos herramientas hipotéticas que el agente podría usar para interactuar con los sistemas identificados. Escriba una descripción clara y los parámetros esperados para cada herramienta, siguiendo el formato conceptual JSON mostrado. No es necesario implementarlas, solo definirlas lógicamente.
Acción 3: Escriba un prompt de sistema para el agente que le indique su rol, el objetivo de la micro-tarea y la forma en que debe usar las herramientas definidas. Por ejemplo, si el objetivo es "consultar el estado de un pedido y notificar al cliente", el prompt debe guiar al agente para usar herramientas de consulta de pedidos y de envío de notificaciones.
Este ejercicio le permitirá conceptualizar la arquitectura de un agente y sus herramientas, preparando el terreno para la implementación real en Azure AI Studio, tema de la próxima lección.
No hay comentarios por ahora.