Los Agentes de IA representan un desarrollo emocionante en la IA Generativa, permitiendo que los Modelos de Lenguaje Grandes (LLMs) evolucionen de asistentes a agentes capaces de tomar acciones. Los marcos de trabajo de Agentes de IA permiten a los desarrolladores crear aplicaciones que brindan a los LLMs acceso a herramientas y gesti贸n del estado. Estos marcos tambi茅n mejoran la visibilidad, permitiendo a los usuarios y desarrolladores monitorear las acciones planificadas por los LLMs, mejorando as铆 la gesti贸n de la experiencia.
La lecci贸n cubrir谩 las siguientes 谩reas:
- Entender qu茅 es un Agente de IA - 驴Qu茅 es exactamente un Agente de IA?
- Explorar cinco diferentes marcos de trabajo para Agentes de IA - 驴Qu茅 los hace 煤nicos?
- Aplicar estos Agentes de IA a diferentes casos de uso - 驴Cu谩ndo deber铆amos usar Agentes de IA?
Despu茅s de tomar esta lecci贸n, podr谩s:
- Explicar qu茅 son los Agentes de IA y c贸mo pueden ser usados.
- Tener comprensi贸n de las diferencias entre algunos de los marcos de trabajo populares para Agentes de IA, y c贸mo difieren.
- Entender c贸mo funcionan los Agentes de IA para construir aplicaciones con ellos.
Los Agentes de IA son un campo muy emocionante en el mundo de la IA Generativa. Con esta emoci贸n a veces viene una confusi贸n sobre t茅rminos y su aplicaci贸n. Para mantener las cosas simples e incluir la mayor铆a de las herramientas que se refieren a Agentes de IA, utilizaremos esta definici贸n:
Los Agentes de IA permiten que los Modelos de Lenguaje Grandes (LLMs) realicen tareas d谩ndoles acceso a un estado y herramientas.
Definamos estos t茅rminos:
Modelos de Lenguaje Grandes - Estos son los modelos mencionados a lo largo de este curso como GPT-5, GPT-4o, y Llama 3.3, etc.
Estado - Se refiere al contexto en el que el LLM est谩 trabajando. El LLM utiliza el contexto de sus acciones pasadas y el contexto actual para guiar su toma de decisiones para las acciones subsecuentes. Los marcos de trabajo de Agentes de IA permiten a los desarrolladores mantener este contexto m谩s f谩cilmente.
Herramientas - Para completar la tarea que el usuario ha solicitado y que el LLM ha planificado, el LLM necesita acceso a herramientas. Algunos ejemplos de herramientas pueden ser una base de datos, una API, una aplicaci贸n externa o incluso otro LLM.
Estas definiciones, esperamos, te dar谩n una buena base para avanzar mientras exploramos c贸mo se implementan. Vamos a explorar algunos diferentes marcos de trabajo para Agentes de IA:
Agentes LangChain es una implementaci贸n de las definiciones que proporcionamos arriba.
Para gestionar el estado , utiliza una funci贸n incorporada llamada AgentExecutor. Esta acepta el agent definido y las tools disponibles para 茅l.
El Agent Executor tambi茅n almacena el historial de chat para proporcionar el contexto de la conversaci贸n.
LangChain ofrece un cat谩logo de herramientas que pueden importarse a tu aplicaci贸n y a las que el LLM puede acceder. Estas son hechas por la comunidad y por el equipo de LangChain.
Luego puedes definir estas herramientas y pasarlas al Agent Executor.
La visibilidad es otro aspecto importante cuando hablamos de Agentes de IA. Es importante para los desarrolladores de aplicaciones entender qu茅 herramienta est谩 usando el LLM y por qu茅. Para eso, el equipo de LangChain ha desarrollado LangSmith.
El siguiente marco de trabajo para Agentes de IA que discutiremos es AutoGen. El enfoque principal de AutoGen son las conversaciones. Los agentes son tanto conversables como personalizables.
Conversable - Los LLMs pueden iniciar y continuar una conversaci贸n con otro LLM para completar una tarea. Esto se hace creando AssistantAgents y d谩ndoles un mensaje de sistema espec铆fico.
autogen.AssistantAgent( name="Coder", llm_config=llm_config, ) pm = autogen.AssistantAgent( name="Product_manager", system_message="Creative in software product ideas.", llm_config=llm_config, )Personalizables - Los agentes pueden definirse no solo como LLMs sino tambi茅n como usuario o herramienta. Como desarrollador, puedes definir un UserProxyAgent que es responsable de interactuar con el usuario para obtener retroalimentaci贸n en la realizaci贸n de una tarea. Esta retroalimentaci贸n puede continuar la ejecuci贸n de la tarea o detenerla.
user_proxy = UserProxyAgent(name="user_proxy")Para cambiar y gestionar el estado, un Agente asistente genera c贸digo Python para completar la tarea.
Aqu铆 hay un ejemplo del proceso:
system_message="For weather related tasks, only use the functions you have been provided with. Reply TERMINATE when the task is done."Este mensaje de sistema dirige a este LLM espec铆fico cu谩les funciones son relevantes para su tarea. Recuerda, con AutoGen puedes tener m煤ltiples AssistantAgents definidos con diferentes mensajes de sistema.
user_proxy.initiate_chat( chatbot, message="I am planning a trip to NYC next week, can you help me pick out what to wear? ", )Este mensaje del user_proxy (Humano) es lo que iniciar谩 el proceso del Agente para explorar las posibles funciones que debe ejecutar.
chatbot (to user_proxy):
***** Suggested tool Call: get_weather ***** Arguments: {"location":"New York City, NY","time_periond:"7","temperature_unit":"Celsius"} ******************************************************** --------------------------------------------------------------------------------
>>>>>>>> EXECUTING FUNCTION get_weather... user_proxy (to chatbot): ***** Response from calling function "get_weather" ***** 112.22727272727272 EUR ****************************************************************
Una vez que se procesa el chat inicial, el Agente enviar谩 la herramienta sugerida para llamar. En este caso, es una funci贸n llamada get_weather. Dependiendo de tu configuraci贸n, esta funci贸n puede ejecutarse autom谩ticamente y ser le铆da por el Agente o puede ejecutarse seg煤n la entrada del usuario.
Puedes encontrar una lista de ejemplos de c贸digo de AutoGen para explorar m谩s c贸mo comenzar a construir.
Microsoft Agent Framework es el SDK de c贸digo abierto de Microsoft para construir Agentes de IA y sistemas multiagente en Python y .NET. Re煤ne las fortalezas de dos proyectos anteriores de Microsoft, las caracter铆sticas empresariales de Semantic Kernel y la orquestaci贸n multiagente de AutoGen, en un solo marco de trabajo soportado. Si est谩s comenzando un nuevo proyecto de agente hoy, esta es la sucesora recomendada de AutoGen.
El marco escala desde un solo agente de chat hasta complejos flujos de trabajo multiagente y se integra directamente con Microsoft Foundry, Azure OpenAI y OpenAI. Tambi茅n proporciona observabilidad incorporada a trav茅s de OpenTelemetry para que puedas trazar exactamente lo que est谩n haciendo tus agentes.
Estado - El marco gestiona el contexto de la conversaci贸n por ti a trav茅s de hilos. Un agente mantiene el historial de mensajes (solicitudes de usuario, llamadas a herramientas y sus resultados), para que cada turno se construya sobre los anteriores. Los hilos tambi茅n pueden persistirse, permitiendo pausar y reanudar la conversaci贸n despu茅s.
Herramientas - Le das herramientas a un agente pasando funciones Python simples. Los par谩metros anotados con tipos se convierten autom谩ticamente en un esquema, as铆 el modelo sabe c贸mo y cu谩ndo llamarlas (llamado de funci贸n). El marco tambi茅n soporta servidores del Protocolo de Contexto de Modelo (MCP) y herramientas alojadas como un int茅rprete de c贸digo.
Aqu铆 hay un ejemplo de un agente 煤nico con una herramienta personalizada:
import asyncio
from typing import Annotated
from pydantic import Field
from agent_framework import Agent
from agent_framework.openai import OpenAIChatClient
def get_weather(
location: Annotated[str, Field(description="The location to get the weather for.")],
) -> str:
"""Get the weather for a given location."""
return f"The weather in {location} is sunny with a high of 22掳C."
async def main():
agent = Agent(
client=OpenAIChatClient(),
instructions="You are a helpful assistant that can answer weather questions.",
tools=[get_weather],
)
response = await agent.run("What's the weather in Amsterdam?")
print(response)
asyncio.run(main())Para conectarte a Azure OpenAI en Microsoft Foundry en cambio, pasa tu endpoint y credenciales al cliente:
from azure.identity.aio import AzureCliCredential
from agent_framework.openai import OpenAIChatClient
client = OpenAIChatClient(
model="my-gpt-5-mini-deployment",
azure_endpoint="https://my-resource.openai.azure.com",
credential=AzureCliCredential(),
)Donde el marco realmente destaca es en la orquestaci贸n de varios agentes juntos. Por ejemplo, puedes ejecutar agentes uno tras otro (cada uno pasando su contexto al siguiente) o repartir a varios agentes en paralelo y agregar sus resultados:
from agent_framework.orchestrations import SequentialBuilder, ConcurrentBuilder
# Ejecutar agentes en secuencia, pasando el contexto de la conversaci贸n a lo largo de la cadena
sequential = SequentialBuilder(participants=[researcher, writer, editor]).build()
# Expandir a agentes en paralelo, luego agregar sus respuestas
concurrent = ConcurrentBuilder(participants=[analyst_a, analyst_b, analyst_c]).build()Para instalar el marco y comenzar:
pip install agent-framework-core
# Integraciones opcionales
pip install agent-framework-openai # OpenAI y Azure OpenAI
pip install agent-framework-foundry # Microsoft FoundryPuedes explorar m谩s en el repositorio Microsoft Agent Framework y la documentaci贸n oficial.
El siguiente marco de agentes que exploraremos es Taskweaver. Es conocido como un agente "orientado al c贸digo" porque en lugar de trabajar estrictamente con strings, puede trabajar con DataFrames en Python. Esto se vuelve extremadamente 煤til para tareas de an谩lisis y generaci贸n de datos. Esto puede incluir crear gr谩ficos y tablas o generar n煤meros aleatorios.
Para gestionar el estado de la conversaci贸n, TaskWeaver usa el concepto de un Planner. El Planner es un LLM que toma la solicitud de los usuarios y mapea las tareas que deben completarse para cumplir con esta solicitud.
Para completar las tareas, el Planner tiene acceso a la colecci贸n de herramientas llamadas Plugins. Esto pueden ser clases de Python o un int茅rprete de c贸digo general. Estos plugins se almacenan como embeddings para que el LLM pueda buscar mejor el plugin correcto.
Aqu铆 hay un ejemplo de un plugin para manejar la detecci贸n de anomal铆as:
class AnomalyDetectionPlugin(Plugin): def __call__(self, df: pd.DataFrame, time_col_name: str, value_col_name: str):El c贸digo es verificado antes de ejecutarse. Otra caracter铆stica para gestionar el contexto en Taskweaver es la experiencia. La experiencia permite que el contexto de una conversaci贸n se almacene a largo plazo en un archivo YAML. Esto puede configurarse para que el LLM mejore con el tiempo en ciertas tareas dado que se expone a conversaciones previas.
El 煤ltimo marco de agentes que exploraremos es JARVIS. Lo que hace que JARVIS sea 煤nico es que usa un LLM para gestionar el estado de la conversaci贸n y las herramientas son otros modelos de IA. Cada uno de los modelos de IA son modelos especializados que realizan ciertas tareas como detecci贸n de objetos, transcripci贸n o subtitulado de im谩genes.
El LLM, siendo un modelo de prop贸sito general, recibe la solicitud del usuario y identifica la tarea espec铆fica y cualquier argumento/dato que se necesite para completar la tarea.
[{"task": "object-detection", "id": 0, "dep": [-1], "args": {"image": "e1.jpg" }}]Luego el LLM formatea la solicitud de una manera que el modelo de IA especializado pueda interpretar, como JSON. Una vez que el modelo de IA ha devuelto su predicci贸n basada en la tarea, el LLM recibe la respuesta.
Si se requieren m煤ltiples modelos para completar la tarea, tambi茅n interpretar谩 la respuesta de esos modelos antes de reunirlas para generar la respuesta al usuario.
El siguiente ejemplo muestra c贸mo funcionar铆a esto cuando un usuario solicita una descripci贸n y conteo de objetos en una imagen:
Para continuar aprendiendo sobre Agentes de IA puedes construir con Microsoft Agent Framework:
- Una aplicaci贸n que simule una reuni贸n de negocios con diferentes departamentos de una startup educativa.
- Crear mensajes de sistema que gu铆en a los LLMs a entender diferentes personas y prioridades, y permitir al usuario presentar una nueva idea de producto.
- El LLM deber铆a luego generar preguntas de seguimiento de cada departamento para refinar y mejorar la presentaci贸n y la idea del producto.
Despu茅s de completar esta lecci贸n, consulta nuestra colecci贸n de aprendizaje sobre IA Generativa para continuar mejorando tu conocimiento en IA Generativa.
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.





