CrewAI: equipos de agentes
CrewAI permite crear equipos de agentes que colaboran, cada uno con un rol especializado. Es como un equipo de trabajo donde cada miembro es un experto en algo.
Instala: pip install crewai crewai-tools
Conceptos de CrewAI:
• Agent: Un "empleado" con rol, objetivo y herramientas • Task: Un trabajo especifico asignado a un agente • Crew: El equipo completo que coordina agentes y tareas • Process: Como se ejecutan las tareas (secuencial o jerarquico)
Ejemplo real: Equipo de contenido • Investigador: Busca tendencias y datos en internet • Escritor: Crea articulos basados en la investigacion • Editor: Revisa calidad, gramatica y SEO • El resultado final pasa por los 3 agentes automaticamente
from crewai import Agent, Task, Crew, Process
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4o-mini")
# Agentes especializados
researcher = Agent(
role="Investigador de Mercado",
goal="Encontrar datos y tendencias relevantes",
backstory="Analista senior con 10 anos en tech",
llm=llm,
verbose=True,
)
writer = Agent(
role="Escritor de Contenido",
goal="Crear articulos atractivos y utiles",
backstory="Copywriter tech con experiencia en startups",
llm=llm,
verbose=True,
)
editor = Agent(
role="Editor y SEO",
goal="Asegurar calidad, claridad y optimizacion SEO",
backstory="Editor senior, experto en SEO tecnico",
llm=llm,
verbose=True,
)
# Tareas encadenadas
task1 = Task(
description="Investiga las 5 tendencias principales de IA en educacion para 2026",
agent=researcher,
expected_output="Reporte con 5 tendencias, datos y fuentes",
)
task2 = Task(
description="Escribe un articulo de blog de 800 palabras basado en la investigacion",
agent=writer,
expected_output="Articulo completo con titulo, subtitulos y conclusion",
context=[task1], # Recibe el output de task1
)
task3 = Task(
description="Revisa el articulo: corrige errores, mejora SEO, sugiere titulo optimizado",
agent=editor,
expected_output="Articulo final pulido con sugerencias de SEO",
context=[task2],
)
# Crew ejecuta todo
crew = Crew(
agents=[researcher, writer, editor],
tasks=[task1, task2, task3],
process=Process.sequential,
verbose=True,
)
result = crew.kickoff()
print(result)
Practica esta lección
Resuelve los ejercicios del curso de Agentes de IA en la app, gratis y con corrección automática.
Empezar a practicar