ai-agents-for-beginners

Explorando Frameworks de Agentes de IA

(Haz clic en la imagen de arriba para ver el video de esta lección)

Explorar Frameworks de Agentes de IA

Los frameworks de agentes de IA son plataformas de software diseñadas para simplificar la creación, implementación y gestión de agentes de IA. Estos frameworks proporcionan a los desarrolladores componentes preconstruidos, abstracciones y herramientas que agilizan el desarrollo de sistemas de IA complejos.

Estos frameworks ayudan a los desarrolladores a enfocarse en los aspectos únicos de sus aplicaciones al proporcionar enfoques estandarizados para desafíos comunes en el desarrollo de agentes de IA. Mejoran la escalabilidad, accesibilidad y eficiencia en la construcción de sistemas de IA.

Introducción

Esta lección cubrirá:

Objetivos de aprendizaje

Los objetivos de esta lección son ayudarte a entender:

¿Qué son los Frameworks de Agentes de IA y qué permiten hacer a los desarrolladores?

Los Frameworks de IA tradicionales pueden ayudarte a integrar IA en tus aplicaciones y mejorar estas aplicaciones de las siguientes maneras:

Todo eso suena muy bien, ¿entonces por qué necesitamos el Framework de Agentes de IA?

Los frameworks de agentes de IA representan algo más que solo frameworks de IA. Están diseñados para permitir la creación de agentes inteligentes que puedan interactuar con usuarios, otros agentes y el entorno para alcanzar metas específicas. Estos agentes pueden exhibir comportamiento autónomo, tomar decisiones y adaptarse a condiciones cambiantes. Veamos algunas capacidades clave habilitadas por los Frameworks de Agentes de IA:

En resumen, los agentes te permiten hacer más, llevar la automatización al siguiente nivel, crear sistemas más inteligentes que pueden adaptarse y aprender de su entorno.

¿Cómo prototipar rápidamente, iterar y mejorar las capacidades del agente?

Este es un panorama que avanza rápidamente, pero hay elementos comunes en la mayoría de los Frameworks de Agentes de IA que pueden ayudarte a prototipar e iterar con rapidez, como componentes modulares, herramientas colaborativas y aprendizaje en tiempo real. Profundicemos en estos:

Usar Componentes Modulares

SDKs como Microsoft Agent Framework ofrecen componentes preconstruidos como conectores de IA, definiciones de herramientas y gestión de agentes.

Cómo pueden usarlos los equipos: Los equipos pueden ensamblar rápidamente estos componentes para crear un prototipo funcional sin empezar desde cero, permitiendo una experimentación e iteración rápidas.

Cómo funciona en la práctica: Puedes usar un parser preconstruido para extraer información del input del usuario, un módulo de memoria para almacenar y recuperar datos, y un generador de prompts para interactuar con los usuarios, todo sin necesidad de construir estos componentes desde cero.

Código de ejemplo. Veamos un ejemplo de cómo usar Microsoft Agent Framework con AzureAIProjectAgentProvider para que el modelo responda al input del usuario con llamadas a herramientas:

# Ejemplo de Microsoft Agent Framework en Python

import asyncio
import os
from typing import Annotated

from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential


# Definir una función de herramienta de muestra para reservar viajes
def book_flight(date: str, location: str) -> str:
    """Book travel given location and date."""
    return f"Travel was booked to {location} on {date}"


async def main():
    provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())
    agent = await provider.create_agent(
        name="travel_agent",
        instructions="Help the user book travel. Use the book_flight tool when ready.",
        tools=[book_flight],
    )

    response = await agent.run("I'd like to go to New York on January 1, 2025")
    print(response)
    # Ejemplo de salida: Su vuelo a Nueva York el 1 de enero de 2025 ha sido reservado exitosamente. ¡Buen viaje! ✈️🗽


if __name__ == "__main__":
    asyncio.run(main())

Lo que ves en este ejemplo es cómo puedes aprovechar un parser preconstruido para extraer información clave del input del usuario, como origen, destino y fecha de una solicitud de reserva de vuelo. Este enfoque modular te permite enfocarte en la lógica de alto nivel.

Aprovechar las Herramientas Colaborativas

Frameworks como Microsoft Agent Framework facilitan la creación de múltiples agentes que pueden trabajar en conjunto.

Cómo pueden usarlos los equipos: Los equipos pueden diseñar agentes con roles y tareas específicos, permitiéndoles probar y mejorar flujos de trabajo colaborativos y mejorar la eficiencia general del sistema.

Cómo funciona en la práctica: Puedes crear un equipo de agentes donde cada agente tiene una función especializada, como recuperación de datos, análisis o toma de decisiones. Estos agentes pueden comunicarse y compartir información para lograr un objetivo común, como responder una consulta del usuario o completar una tarea.

Código de ejemplo (Microsoft Agent Framework):

# Creando múltiples agentes que trabajan juntos utilizando el Microsoft Agent Framework

import os
from agent_framework.azure import AzureAIProjectAgentProvider
from azure.identity import AzureCliCredential

provider = AzureAIProjectAgentProvider(credential=AzureCliCredential())

# Agente de Recuperación de Datos
agent_retrieve = await provider.create_agent(
    name="dataretrieval",
    instructions="Retrieve relevant data using available tools.",
    tools=[retrieve_tool],
)

# Agente de Análisis de Datos
agent_analyze = await provider.create_agent(
    name="dataanalysis",
    instructions="Analyze the retrieved data and provide insights.",
    tools=[analyze_tool],
)

# Ejecutar agentes en secuencia en una tarea
retrieval_result = await agent_retrieve.run("Retrieve sales data for Q4")
analysis_result = await agent_analyze.run(f"Analyze this data: {retrieval_result}")
print(analysis_result)

Lo que ves en el código anterior es cómo puedes crear una tarea que involucra a múltiples agentes trabajando juntos para analizar datos. Cada agente desempeña una función específica y la tarea se ejecuta coordinando los agentes para lograr el resultado deseado. Al crear agentes dedicados con roles especializados, puedes mejorar la eficiencia y el desempeño de la tarea.

Aprender en Tiempo Real

Frameworks avanzados proporcionan capacidades para comprensión contextual y adaptación en tiempo real.

Cómo pueden usarlos los equipos: Los equipos pueden implementar bucles de retroalimentación donde los agentes aprenden de las interacciones y ajustan dinámicamente su comportamiento, llevando a una mejora continua y refinamiento de capacidades.

Cómo funciona en la práctica: Los agentes pueden analizar la retroalimentación del usuario, datos ambientales y resultados de tareas para actualizar su base de conocimiento, ajustar algoritmos de toma de decisiones y mejorar el desempeño con el tiempo. Este proceso iterativo de aprendizaje permite a los agentes adaptarse a condiciones cambiantes y preferencias del usuario, mejorando la efectividad general del sistema.

¿Cuáles son las diferencias entre Microsoft Agent Framework y Azure AI Agent Service?

Hay muchas formas de comparar estos enfoques, pero veamos algunas diferencias clave en cuanto a diseño, capacidades y casos de uso objetivo:

Microsoft Agent Framework (MAF)

Microsoft Agent Framework provee un SDK simplificado para construir agentes de IA usando AzureAIProjectAgentProvider. Permite a los desarrolladores crear agentes que aprovechan modelos Azure OpenAI con llamadas integradas a herramientas, gestión de conversaciones y seguridad de nivel empresarial mediante identidad Azure.

Casos de uso: Construir agentes de IA listos para producción con uso de herramientas, flujos de trabajo multietapa y escenarios de integración empresarial.

Aquí algunos conceptos centrales importantes del Microsoft Agent Framework:

Azure AI Agent Service

Azure AI Agent Service es una incorporación más reciente, presentada en Microsoft Ignite 2024. Permite el desarrollo e implementación de agentes de IA con modelos más flexibles, como llamadas directas a LLMs de código abierto como Llama 3, Mistral y Cohere.

Azure AI Agent Service ofrece mecanismos más fuertes de seguridad empresarial y métodos de almacenamiento de datos, haciéndolo adecuado para aplicaciones empresariales.

Funciona listo para usar con Microsoft Agent Framework para construir y desplegar agentes.

Este servicio está actualmente en vista previa pública y soporta Python y C# para construir agentes.

Usando el SDK Python de Azure AI Agent Service, podemos crear un agente con una herramienta definida por el usuario:

import asyncio
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient

# Definir funciones de herramientas
def get_specials() -> str:
    """Provides a list of specials from the menu."""
    return """
    Special Soup: Clam Chowder
    Special Salad: Cobb Salad
    Special Drink: Chai Tea
    """

def get_item_price(menu_item: str) -> str:
    """Provides the price of the requested menu item."""
    return "$9.99"


async def main() -> None:
    credential = DefaultAzureCredential()
    project_client = AIProjectClient.from_connection_string(
        credential=credential,
        conn_str="your-connection-string",
    )

    agent = project_client.agents.create_agent(
        model="gpt-4o-mini",
        name="Host",
        instructions="Answer questions about the menu.",
        tools=[get_specials, get_item_price],
    )

    thread = project_client.agents.create_thread()

    user_inputs = [
        "Hello",
        "What is the special soup?",
        "How much does that cost?",
        "Thank you",
    ]

    for user_input in user_inputs:
        print(f"# User: '{user_input}'")
        message = project_client.agents.create_message(
            thread_id=thread.id,
            role="user",
            content=user_input,
        )
        run = project_client.agents.create_and_process_run(
            thread_id=thread.id, agent_id=agent.id
        )
        messages = project_client.agents.list_messages(thread_id=thread.id)
        print(f"# Agent: {messages.data[0].content[0].text.value}")


if __name__ == "__main__":
    asyncio.run(main())

Conceptos centrales

Azure AI Agent Service tiene los siguientes conceptos clave:

Casos de uso: Azure AI Agent Service está diseñado para aplicaciones empresariales que requieren despliegue seguro, escalable y flexible de agentes de IA.

¿Cuál es la diferencia entre estos enfoques?

Parece que hay superposición, pero existen diferencias clave en diseño, capacidades y casos de uso objetivo:

¿Aún no estás seguro cuál elegir?

Casos de uso

Veamos si podemos ayudarte revisando algunos casos de uso comunes:

P: Estoy construyendo aplicaciones de agentes de IA para producción y quiero empezar rápido

R: Microsoft Agent Framework es una excelente opción. Provee una API simple y pythonica vía AzureAIProjectAgentProvider que te permite definir agentes con herramientas e instrucciones en solo unas líneas de código.

P: Necesito despliegue de nivel empresarial con integraciones Azure como Search y ejecución de código

R: Azure AI Agent Service es la mejor opción. Es un servicio de plataforma que provee capacidades integradas para múltiples modelos, Azure AI Search, Bing Search y Azure Functions. Facilita construir tus agentes en el portal Foundry y desplegarlos a escala.

P: Todavía estoy confundido, solo dame una opción

R: Comienza con Microsoft Agent Framework para construir tus agentes y luego usa Azure AI Agent Service cuando necesites desplegarlos y escalarlos en producción. Este enfoque te permite iterar rápido en la lógica del agente mientras tienes un camino claro hacia el despliegue empresarial.

Resumamos las diferencias clave en una tabla:

Framework Enfoque Conceptos Centrales Casos de Uso
Microsoft Agent Framework SDK simplificado para agentes con llamadas a herramientas Agentes, Herramientas, Identidad Azure Construcción de agentes IA, uso de herramientas, flujos multietapa
Azure AI Agent Service Modelos flexibles, seguridad empresarial, generación de código, llamadas a herramientas Modularidad, Colaboración, Orquestación de procesos Despliegue de agentes IA seguro, escalable y flexible

¿Puedo integrar directamente mis herramientas existentes del ecosistema Azure o necesito soluciones independientes?

La respuesta es sí, puedes integrar tus herramientas existentes del ecosistema Azure directamente con Azure AI Agent Service especialmente, ya que ha sido construido para trabajar de manera fluida con otros servicios de Azure. Por ejemplo, podrías integrar Bing, Azure AI Search y Azure Functions. También hay una integración profunda con Microsoft Foundry.

El Microsoft Agent Framework también se integra con los servicios de Azure a través de AzureAIProjectAgentProvider e identidad de Azure, lo que te permite llamar a servicios de Azure directamente desde tus herramientas de agente.

Sample Codes

¿Tienes más preguntas sobre AI Agent Frameworks?

Únete al Microsoft Foundry Discord para encontrarte con otros estudiantes, asistir a horas de oficina y obtener respuestas a tus preguntas sobre AI Agents.

Referencias

Lección Anterior

Introducción a AI Agents y casos de uso de agentes

Próxima Lección

Comprendiendo los patrones de diseño agentic


Descargo de responsabilidad:
Este documento ha sido traducido utilizando el servicio de traducción automática Co-op Translator. Aunque nos esforzamos por lograr precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas derivadas del uso de esta traducción.