CrewAI Tutorial en Español: Crear Equipos de Agentes IA [2026]
CrewAI es un framework revolucionario que te permite crear equipos de agentes de IA autónomos que trabajan juntos para resolver problemas complejos. En este tutorial completo en español, aprenderás desde lo básico hasta proyectos avanzados.
¿Qué es CrewAI?
CrewAI es un framework de Python que facilita la creación de sistemas multi-agente donde varios agentes de IA trabajan de forma coordinada. Cada agente tiene roles específicos, herramientas asignadas y capacidades de comunicación con otros agentes.
Características Principales
- Multi-agente: Coordina múltiples agentes simultáneamente
- Herramientas integradas: Acceso a APIs y funciones personalizadas
- Memoria compartida: Los agentes pueden recordar contexto entre interacciones
- Flujos de trabajo: Define procesos secuenciales o jerárquicos
- Escalabilidad: Maneja equipos de cualquier tamaño
Instalación y Configuración
Requisitos Previos
Necesitas Python 3.10+ y tener una API key de OpenAI o similar.
Paso 1: Instalar CrewAI
1pip install crewai crewai-tools
Paso 2: Configurar Variables de Entorno
Crea un archivo .env en tu proyecto:
1OPENAI_API_KEY=tu_clave_api_aqui2OPENAI_MODEL_NAME=gpt-4-turbo
Paso 3: Crear tu Primer Proyecto
1crewai create-crew mi_primer_equipo2cd mi_primer_equipo
Esto genera una estructura base con directorios y archivos de configuración.
Conceptos Fundamentales
1. Agentes
Un agente es una entidad autónoma que puede ejecutar tareas. Tiene:
1from crewai import Agent2from crewai_tools import tool3 4# Crear un agente5investigador = Agent(6 role="Investigador Senior",7 goal="Investigar y recopilr información verificada sobre temas específicos",8 backstory="""Eres un investigador experimentado con 15 años en journalism.9 Tienes acceso a fuentes confiables y sabes cómo verificar información.""",10 verbose=True,11 allow_delegation=False,12 tools=[tool_busqueda], # Herramientas disponibles13)
2. Tareas
Las tareas son trabajos específicos que deben completarse:
1from crewai import Task2 3tarea_investigacion = Task(4 description="Investiga sobre los últimos avances en IA generativa en 2026",5 expected_output="Un informe detallado con 5 hallazgos clave",6 agent=investigador,7)
3. Crews (Equipos)
Un crew es la coordinación de múltiples agentes:
1from crewai import Crew, Process2 3equipo = Crew(4 agents=[investigador, escritor, editor],5 tasks=[tarea_investigacion, tarea_escritura, tarea_revision],6 process=Process.sequential, # O hierarchical7 verbose=True,8)9 10resultado = equipo.kickoff()11print(resultado)
Creando Herramientas Personalizadas
Las herramientas permiten a los agentes interactuar con el mundo real:
1from crewai_tools import tool2 3@tool("Buscar en Google")4def buscar_google(query: str) -> str:5 """Busca información en Google sobre un tema específico"""6 import requests7 # Implementación de búsqueda8 return f"Resultados para: {query}"9 10@tool("Calcular ROI")11def calcular_roi(inversion_inicial: float, ganancia: float) -> float:12 """Calcula el retorno de inversión (ROI)"""13 roi = ((ganancia - inversion_inicial) / inversion_inicial) * 10014 return f"ROI: {roi:.2f}%"15 16# Asignar herramientas al agente17agente_financiero = Agent(18 role="Analista Financiero",19 goal="Analizar rentabilidad de inversiones",20 tools=[calcular_roi],21 verbose=True,22)
Memoria en CrewAI
CrewAI proporciona diferentes tipos de memoria:
1from crewai import Agent2from crewai_memory import EntityMemory, ShortTermMemory, LongTermMemory3 4agente_inteligente = Agent(5 role="Consultor",6 goal="Proporcionar asesoría personalizada",7 memory=True, # Habilita memoria por defecto8 verbose=True,9)10 11# Para proyectos avanzados:12equipo = Crew(13 agents=[agente1, agente2],14 tasks=[tarea1, tarea2],15 memory=EntityMemory(), # Recuerda entidades y relaciones16)
Procesos: Secuencial vs Jerárquico
Proceso Secuencial
Los agentes ejecutan tareas en orden, uno después del otro:
1from crewai import Crew, Process2 3equipo_secuencial = Crew(4 agents=[investigador, escritor, revisor],5 tasks=[tarea1, tarea2, tarea3],6 process=Process.sequential,7 verbose=True,8)
Proceso Jerárquico
Un agente manager coordina a otros agentes:
1equipo_jerarquico = Crew(2 agents=[manager, investigador, desarrollador],3 tasks=[tarea1, tarea2, tarea3],4 process=Process.hierarchical,5 manager_llm=gpt4,6 verbose=True,7)
Proyecto Práctico: Equipo de Investigación
Vamos a crear un equipo de 3 agentes para investigar, escribir y revisar un artículo sobre IA:
1from crewai import Agent, Task, Crew, Process2from crewai_tools import tool3import os4from dotenv import load_dotenv5 6load_dotenv()7 8# Definir herramientas personalizadas9@tool("Buscar información web")10def buscar_web(tema: str) -> str:11 """Simula búsqueda en internet sobre un tema"""12 fuentes = {13 "IA generativa": "ChatGPT, Claude, Gemini son los líderes del mercado en 2026",14 "Python": "Python es el lenguaje #1 para IA y ciencia de datos",15 "Agentes IA": "Los equipos multi-agente revolucionan la automatización",16 }17 return fuentes.get(tema, f"Información sobre {tema}")18 19@tool("Verificar hechos")20def verificar_hechos(afirmacion: str) -> str:21 """Verifica la precisión de una afirmación"""22 return f"Afirmación verificada: {afirmacion}"23 24# Crear agentes25investigador = Agent(26 role="Investigador Senior",27 goal="Investigar y recopilar información precisa sobre temas de IA",28 backstory="""Eres un investigador especializado en inteligencia artificial.29 Con 10 años de experiencia, sabes cómo encontrar y verificar información30 de fuentes confiables. Tu objetivo es proporcionar datos precisos.""",31 verbose=True,32 tools=[buscar_web, verificar_hechos],33)34 35escritor = Agent(36 role="Escritor Técnico",37 goal="Escribir artículos claros, técnicos y atractivos",38 backstory="""Eres un escritor técnico experimentado que puede explicar39 conceptos complejos de IA de manera comprensible. Tu prosa es clara,40 bien estructurada y mantiene el interés del lector.""",41 verbose=True,42 allow_delegation=False,43)44 45revisor = Agent(46 role="Editor y Revisor",47 goal="Asegurar la calidad, precisión y coherencia del contenido",48 backstory="""Eres un editor experto con ojo para los detalles.49 Revisas cada párrafo para asegurar claridad, gramática perfecta50 y que el contenido sigue las mejores prácticas de periodismo.""",51 verbose=True,52 allow_delegation=False,53)54 55# Crear tareas56tarea_investigacion = Task(57 description="""Investiga el estado actual de los agentes IA multi-agente en 2026.58 Busca información sobre:59 1. Las herramientas principales (CrewAI, AutoGen, LangGraph)60 2. Casos de uso reales en empresas61 3. Tendencias y predicciones62 63 Proporciona al menos 5 hallazgos clave verificados.""",64 expected_output="Un informe detallado con investigación verificada",65 agent=investigador,66 tools=[buscar_web, verificar_hechos],67)68 69tarea_escritura = Task(70 description="""Usando la investigación proporcionada, escribe un artículo71 de blog profesional sobre agentes IA. El artículo debe:72 1. Tener una introducción atractiva73 2. Explicar los conceptos clave de manera clara74 3. Incluir ejemplos prácticos75 4. Finalizar con conclusiones y predicciones76 77 Usa un tono profesional pero accesible.""",78 expected_output="Un artículo completo listo para publicar",79 agent=escritor,80)81 82tarea_revision = Task(83 description="""Revisa el artículo completo. Verifica:84 1. Claridad y coherencia85 2. Exactitud técnica de cada afirmación86 3. Gramática y puntuación87 4. Estructura y flujo lógico88 89 Proporciona un artículo final pulido.""",90 expected_output="Artículo final revisado y listo para publicación",91 agent=revisor,92)93 94# Crear y ejecutar el equipo95equipo_contenido = Crew(96 agents=[investigador, escritor, revisor],97 tasks=[tarea_investigacion, tarea_escritura, tarea_revision],98 process=Process.sequential,99 verbose=True,100 memory=True,101)102 103# Ejecutar el equipo104resultado = equipo_contenido.kickoff(105 inputs={106 "tema": "Agentes IA Multi-Agente en 2026",107 "audiencia": "Desarrolladores y profesionales de tecnología",108 }109)110 111print("=" * 80)112print("RESULTADO FINAL DEL EQUIPO:")113print("=" * 80)114print(resultado)
Comparación: CrewAI vs AutoGen vs LangGraph
| Característica | CrewAI | AutoGen | LangGraph |
|---|---|---|---|
| Facilidad de uso | Muy alta | Media | Media |
| Curva aprendizaje | Baja | Media | Alta |
| Flexibilidad | Buena | Excelente | Máxima |
| Comunidad | En crecimiento | Establecida | En crecimiento |
| Documentación | Buena | Excelente | Buena |
| Multi-agente | Nativa | Excelente | Manual |
| Caso de uso ideal | Flujos de trabajo coordinados | Conversaciones complejas | Flujos personalizados |
Mejores Prácticas
1. Definir Roles Claros
Cada agente debe tener un rol específico y bien definido:
1agente = Agent(2 role="Especialista en [área específica]", # Rol claro3 goal="Lograr [objetivo medible]", # Objetivo concreto4 backstory="Soy un experto con [experiencia relevante]", # Contexto5)
2. Usar Herramientas Apropiadas
Asigna solo herramientas relevantes a cada agente:
1agente_tech = Agent(2 role="Desarrollador",3 tools=[herramienta_codigo, herramienta_testing], # Solo lo necesario4)
3. Iterar y Optimizar
Experimenta con diferentes configuraciones:
1# Prueba diferentes modelos LLM2from langchain_openai import ChatOpenAI3 4gpt4 = ChatOpenAI(model="gpt-4-turbo", temperature=0.3)5agente = Agent(llm=gpt4, ...)6 7# Ajusta la temperatura según necesites8# 0.3 = Respuestas consistentes y precisas9# 0.7 = Respuestas creativas y variadas
4. Monitorear y Registrar
Usa verbose=True durante el desarrollo:
1equipo = Crew(2 agents=[...],3 tasks=[...],4 verbose=True, # Ver cada paso5 output_file="resultados.txt", # Guardar output6)
Solución de Problemas Comunes
Problema: Agentes se quedan en bucles infinitos
1# Solución: Establecer límites de iteración2tarea = Task(3 description="...",4 agent=agente,5 expected_output="Respuesta concisa en máximo 5 párrafos",6)
Problema: Herramientas no se ejecutan
1# Solución: Asegurar que tools está definido correctamente2agente = Agent(3 tools=[herramienta1, herramienta2],4 verbose=True, # Ver qué herramientas se llaman5)
Problema: Rendimiento lento
1# Solución: Usar proceso jerárquico con límites2equipo = Crew(3 agents=[...],4 tasks=[...],5 process=Process.hierarchical,6 max_iterations=5, # Limitar iteraciones7)
Recursos Adicionales
- Documentación oficial: https://docs.crewai.com
- GitHub: https://github.com/joaomdmoura/crewAI
- Discord Community: Comunidad activa de usuarios
- Ejemplos: Repositorio de ejemplos funcionales
Conclusiones
CrewAI es una herramienta poderosa para crear sistemas multi-agente en Python. Su facilidad de uso y capacidades nativas lo hacen ideal para:
- Automatización de flujos de trabajo complejos
- Sistemas de investigación y análisis
- Generación de contenido coordinada
- Consultoría y análisis de datos
Con lo que has aprendido en este tutorial, estás preparado para crear equipos de IA sofisticados que resuelvan problemas reales.
FAQ
¿Cuál es la diferencia entre un agente y una tarea en CrewAI?
Un agente es una entidad autónoma que ejecuta trabajo, con un rol, objetivo y herramientas específicas. Una tarea es un trabajo específico que debe completarse, asignada a un agente. Un agente puede ejecutar múltiples tareas, y las tareas se coordinan a través del proceso del equipo.
¿Puedo usar CrewAI con modelos locales en lugar de OpenAI?
Sí, CrewAI es agnóstico respecto al modelo LLM. Puedes usar Ollama, Llama 2, Mistral u otros modelos locales configurando el parámetro llm en el agente. Esto es útil para privacidad o costos reducidos.
¿Qué es mejor: proceso secuencial o jerárquico?
Secuencial: Para flujos lineales y simples donde el orden importa. Jerárquico: Para sistemas complejos donde se necesita coordinación inteligente. El proceso jerárquico usa un agente manager (más caro en tokens) pero produce mejor calidad en sistemas complejos.
¿Cómo puedo hacer que mis agentes recuerden información entre ejecuciones?
Habilita la memoria en el nivel del Crew: Crew(agents=[...], memory=True). Para persistencia de largo plazo, configura un backend de memoria como PostgreSQL o Redis en la inicialización de CrewAI.
¿Cuáles son los costos típicos de ejecutar un equipo de CrewAI?
Los costos dependen del modelo LLM y complejidad de tareas. Con GPT-4-turbo: $0.01-$0.30 por ejecución. Con GPT-3.5: $0.001-$0.03 por ejecución. Usa verbose=True para monitorear uso de tokens y optimizar prompts para reducir costos.