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 centrarse en los aspectos únicos de sus aplicaciones al proporcionar enfoques estandarizados para los 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 tradicionales de IA pueden ayudarte a integrar IA en tus aplicaciones y mejorar estas aplicaciones de las siguientes maneras:

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

Los frameworks de agentes de IA representan algo más que simples frameworks de IA. Están diseñados para habilitar la creación de agentes inteligentes que pueden interactuar con usuarios, otros agentes y el entorno para alcanzar objetivos específicos. 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 campo en rápido movimiento, pero hay algunas cosas comunes en la mayoría de los Frameworks de Agentes de IA que pueden ayudarte a prototipar e iterar rápidamente, principalmente componentes modulares, herramientas colaborativas y aprendizaje en tiempo real. Vamos a profundizar en estos aspectos:

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 usar esto los equipos: Los equipos pueden armar 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 de la entrada del usuario, un módulo de memoria para almacenar y recuperar datos, y un generador de indicaciones 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 FoundryChatClient para que el modelo responda a la entrada del usuario mediante llamadas a herramientas:

# Ejemplo de Python del Marco de Agente de Microsoft

import asyncio
import os

from agent_framework import tool
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential


# Definir una función de herramienta de muestra para reservar viajes
@tool(approval_mode="never_require")
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 = FoundryChatClient(
        project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
        model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
        credential=AzureCliCredential(),
    )
    agent = provider.as_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)
    # Salida de ejemplo: Su vuelo a Nueva York el 1 de enero de 2025 ha sido reservado con éxito. ¡Buen viaje! ✈️🗽


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

Lo que se observa en este ejemplo es cómo puedes aprovechar un parser preconstruido para extraer información clave de la entrada 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 Herramientas Colaborativas

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

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

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

Código de ejemplo (Microsoft Agent Framework):

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

import os
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential

provider = FoundryChatClient(
    project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
    model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
    credential=AzureCliCredential(),
)

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

# Agente de Análisis de Datos
agent_analyze = provider.as_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 múltiples agentes trabajando juntos para analizar datos. Cada agente realiza una función específica, y la tarea se ejecuta coordinando a los agentes para lograr el resultado deseado. Creando agentes dedicados con roles especializados, puedes mejorar la eficiencia y el rendimiento de las tareas.

Aprender en Tiempo Real

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

Cómo pueden usar esto los equipos: Los equipos pueden implementar bucles de retroalimentación donde los agentes aprenden de las interacciones y ajustan su comportamiento dinámicamente, conduciendo a una mejora y refinamiento continuo de las 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 conocimientos, ajustar algoritmos de toma de decisiones y mejorar el rendimiento con el tiempo. Este proceso iterativo de aprendizaje permite a los agentes adaptarse a condiciones cambiantes y preferencias de los usuarios, mejorando la efectividad general del sistema.

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

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

Microsoft Agent Framework (MAF)

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

Casos de uso: Construcción de agentes de IA listos para producción con uso de herramientas, flujos de trabajo de múltiples pasos y escenarios de integración empresarial.

Aquí algunos conceptos clave del Microsoft Agent Framework:

Microsoft Foundry Agent Service

Microsoft Foundry Agent Service es una adición más reciente, introducida en Microsoft Ignite 2024. Permite el desarrollo y despliegue de agentes de IA con modelos más flexibles, como llamadas directas a LLMs de código abierto como Llama 3, Mistral y Cohere.

Microsoft Foundry Agent Service ofrece mecanismos más robustos de seguridad empresarial y métodos de almacenamiento de datos, haciéndolo adecuado para aplicaciones empresariales.

Funciona listo para usarse 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 Microsoft Foundry 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-4.1-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 clave

Microsoft Foundry Agent Service tiene los siguientes conceptos clave:

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

¿Cuál es la diferencia entre estos enfoques?

Parece que hay solapamiento, pero hay diferencias clave en términos de diseño, capacidades y casos de uso:

¿Aún no sabes cuál elegir?

Casos de Uso

Veamos si podemos ayudarte repasando algunos casos comunes:

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

R: Microsoft Agent Framework es una excelente opción. Proporciona una API sencilla y Pythonica vía FoundryChatClient que permite definir agentes con herramientas e instrucciones en solo unas pocas líneas de código.

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

R: Microsoft Foundry Agent Service es la mejor opción. Es un servicio de plataforma que ofrece 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: Aún estoy confundido, solo dame una opción

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

Resumamos las diferencias clave en una tabla:

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

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

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

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

Códigos de muestra

¿Tiene más preguntas sobre AI Agent Frameworks?

Únase a Microsoft Foundry Discord para encontrarse con otros aprendices, asistir a horas de oficina y obtener respuestas a sus preguntas sobre los Agentes de IA.

Referencias

Lección anterior

Introducción a Agentes de IA y Casos de Uso de Agentes

Próxima lección

Comprendiendo los Patrones de Diseño Agentes


Descargo de responsabilidad: Este documento ha sido traducido utilizando el servicio de traducción automática Co-op Translator. Aunque nos esforzamos por la precisión, tenga en cuenta que las traducciones automatizadas 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 humana. No somos responsables de cualquier malentendido o interpretación errónea que surja del uso de esta traducción.