Frameworks de Agentes
Frameworks de Agentes: Las herramientas para construir autónomos
Si quieres construir agentes (no solo usarlos como usuario), necesitas un framework. Aquí están los principales.
Comparativa general
| Framework | Lenguaje | Complejidad | Mejor para | Gratis? |
|---|---|---|---|---|
| LangChain | Python/JS | Media-Alta | Apps RAG, pipelines complejos | Sí |
| CrewAI | Python | Baja-Media | Multi-agentes colaborativos | Sí |
| AutoGen | Python | Media | Investigación, multi-agentes | Sí |
| OpenAI Agents SDK | Python | Baja | Agentes con tools de OpenAI | Sí |
| Anthropic SDK | Python/TS | Baja | Agentes con Claude | Sí |
| PydanticAI | Python | Baja | Agentes tipados y validados | Sí |
LangChain
El framework más popular y completo. como el “Django de los agentes de IA”.
Pros
- Ecosistema más grande (plugins, integraciones, templates)
- Documentación extensa
- Soporta cualquier LLM
- LangSmith para observabilidad
Contras
- Puede ser over-engineering para tareas simples
- La abstracción a veces complica en vez de ayudar
- Cambios de API frecuentes (v1 → v2 fue doloroso)
Ejemplo mínimo
from langchain.chat_models import ChatOpenAIfrom langchain.agents import AgentExecutor, create_tool_calling_agentfrom langchain.tools import tool
@tooldef get_weather(location: str) -> str: """Get weather for a location.""" return f"Sunny in {location}, 25°C"
tools = [get_weather]llm = ChatOpenAI(model="gpt-4o-mini")agent = create_tool_calling_agent(llm, tools)executor = AgentExecutor(agent=agent, tools=tools)
result = executor.invoke({"input": "What's the weather in Mexico City?"})print(result["output"]) # "Sunny in Mexico City, 25°C"Cuándo usar LangChain
- Proyectos RAG complejos
- Cuando necesitas muchas integraciones (vectores, APIs, tools)
- Equipos que quieren observabilidad con LangSmith
CrewAI
Framework para crear equipos de agentes que colaboran. Como un equipo de trabajoreal.
Pros
- Interfaz simple y pythonic
- Multi-agentes por diseño
- Roles y tareas claras
- Fácil de aprender
Contras
- Menos integraciones que LangChain
- Menos flexible para casos no estándar
- Comunidad más pequeña
Ejemplo mínimo
from crewai import Agent, Task, Crew
researcher = Agent( role="Researcher", goal="Find information about {topic}", backstory="You are a senior researcher", llm="gpt-4o-mini")
writer = Agent( role="Writer", goal="Write an article about {topic}", backstory="You are a skilled writer", llm="gpt-4o-mini")
research_task = Task( description="Research {topic} thoroughly", agent=researcher)
write_task = Task( description="Write an article based on research", agent=writer)
crew = Crew(agents=[researcher, writer], tasks=[research_task, write_task])result = crew.run(inputs={"topic": "IA generativa"})Cuándo usar CrewAI
- Multi-agentes con roles especializados
- Workflows de pipeline (investigador → escritor → editor)
- Prototipos rápidos de sistemas multi-agente
AutoGen (Microsoft)
Framework de Microsoft para conversaciones multi-agente.
Pros
- Agentes que conversan entre sí
- Ejecución de código integrada
- Buena para investigación
- Backing de Microsoft
Contras
- Más complejo que CrewAI
- Documentación puede ser confusa
- Menos intuitivo para tareas simples
Ejemplo mínimo
from autogen import AssistantAgent, UserProxyAgent
assistant = AssistantAgent("assistant", llm_config={"model": "gpt-4o-mini"})user_proxy = UserProxyAgent("user", code_execution_config={"work_dir": "coding"})
user_proxy.initiate_chat( assistant, message="Write a Python script that sorts a list using merge sort")Cuándo usar AutoGen
- Investigación de multi-agentes
- Cuando los agentes necesitan ejecutar código
- Prototipos where agents talk to each other
OpenAI Agents SDK
El SDK oficial de OpenAI para construir agentes con tools, handoffs y guardrails.
Pros
- Oficial de OpenAI (mejor integración con GPT)
- Simple y bien documentado
- Handoffs entre agentes
- Guardrails de seguridad
Contras
- Solo funciona bien con OpenAI
- Menos flexibles que alternativas open source
- Require OpenAI API key
Ejemplo
from openai import Agent, Runner
agent = Agent( name="Assistant", instructions="You are a helpful assistant that speaks Spanish.", model="gpt-4o-mini")
result = Runner.run_sync(agent, "Hola, ¿cómo estás?")print(result.final_output)Anthropic SDK (Computer Use)
Anthropic’s SDK para agents que pueden usar computadoras.
Pros
- Integración nativa con Claude
- Computer use (manejar mouse y teclado)
- Tool use robusto
- Buen manejo de context largo
Contras
- Atado al ecosistema Anthropic
- Computer use aún en beta
- Requiere API key de Anthropic
Recomendación por perfil
| Si eres… | Usa… | Porque… |
|---|---|---|
| Principiante | CrewAI | Más fácil de aprender |
| Desarrollador Python | LangChain | Más integraciones y comunidad |
| Investigador | AutoGen | Conversaciones multi-agente |
| Ya usas OpenAI | OpenAI Agents SDK | Integración nativa |
| Ya usas Claude | Anthropic SDK | Integración nativa |
| Quieres algo simple | PydanticAI | Tipado y validación sin overhead |
[!TIP] Para most personas que empiezan: CrewAI es el más accessible. Para proyectos serios de producción: LangChain tiene el ecosistema más maduro. Para usar agents directamente sin construir: Hermes Agent o OpenCode (ver capítulos siguientes).
En los siguientes capítulos veremos agentes listos para usar que no requieren programar un framework.