Phase 14 - Lesson 15

CrewAI: Crews y Flows Basados en Roles

CrewAI es el framework multiagente basado en roles de 2026 — Agentes, Tareas, Crews y Procesos como las cuatro primitivas. Orientación de producción de la documentación: "para cualquier aplicación lista para producción, comience con un Flow."

Tipo: Learn + Build Idiomas: Python (stdlib) Prerrequisitos: Phase 14 · 12 (Workflow Patterns), Phase 14 · 14 (Actor Model) Tiempo: ~60 minutos

Objetivos de Aprendizaje

  • Nombrar las cuatro primitivas de CrewAI — Agent, Task, Crew, Process — y el rol de cada una.
  • Distinguir Crews (colaboración autónoma basada en roles) de Flows (flujos de trabajo deterministas basados en eventos).
  • Explicar por qué la documentación recomienda comenzar con Flows para producción y Crews para exploración.
  • Implementar un ejecutor de Crew de la biblioteca estándar (stdlib) y un ejecutor de Flow de la biblioteca estándar; mostrar cuándo brilla cada uno.

El Problema

Los equipos que adoptan frameworks multiagente se enfrentan a la misma barrera: la "colaboración autónoma" suena genial, pero cuando los clientes reportan un error, se necesita una reproducción determinista. CrewAI divide esto explícitamente — Crews para colaboración creativa, Flows para flujos de trabajo basados en eventos, auditables y listos para producción.

El Concepto

Cuatro primitivas

  • Agent. Rol + objetivo + backstory + herramientas. El backstory es fundamental — moldea el tono y el juicio.
  • Task. Descripción + expected_output + agente asignado. Unidad de trabajo reutilizable.
  • Crew. Contenedor que secuencia Agentes y Tareas. Posee el Process de ejecución.
  • Process. Secuencial, Jerárquico (con un Agente gerente) o Consensual.

Crews vs Flows

  • Crew. Autónomo, impulsado por LLM. Bueno para tareas abiertas: investigación, lluvia de ideas, primeros borradores. El framework elige la forma en tiempo de ejecución.
  • Flow. Grafo basado en eventos y propiedad del código. Cada paso se ejecuta con base en un disparador (decorador de función, coincidencia de evento). Bueno para producción: observable, ejecutable con pruebas, determinista.

La documentación de 2026 de CrewAI dice: comience las aplicaciones de producción con Flows; incorpore Crews como subpasos cuando la autonomía compense su costo.

Sistema de memoria

CrewAI incluye cuatro tipos de memoria listos para usar: corto plazo (dentro de la ejecución), largo plazo (entre ejecuciones), entidad (hechos por entidad), contextual (ensamblaje en tiempo de recuperación). Las integraciones con bases de datos vectoriales son nativas.

Integración con AWS Bedrock

CrewAI tiene integración documentada con AWS Bedrock con ganchos de observabilidad de CloudWatch, AgentOps y Langfuse. La documentación de AWS cita una velocidad 5.76x mayor en comparación con LangGraph en tareas de control de calidad en sus benchmarks — considere los números específicos de cada framework como orientativos, no absolutos.

Estructura de dependencias

Independente de LangChain. Python 3.10–3.13. Usa uv para la gestión de dependencias. Más de 30k estrellas en GitHub a principios de 2026.

Dónde falla este patrón

  • Crew como producción. Usar una Crew libre en producción sin un wrapper de Flow. La variabilidad del output es alta; la depuración es dolorosa.
  • Backstory inflado. Los backstories de 2000 palabras consumen el presupuesto de contexto. Manténgalos concisos.
  • Confusión de Procesos. El proceso jerárquico agrega un Agente gerente que realiza el enrutamiento; úselo solo cuando tenga 4+ especialistas.

Construya

code/main.py implementa versiones stdlib de ambos:

  • Agent, Task, Crew, SequentialCrew (una tarea a la vez), HierarchicalCrew (enrutamiento por gerente).
  • Flow con decoradores @start() y @listen() (sustitutos de funciones simples) que se activan ante eventos con nombre.
  • La misma tarea de tres pasos (investigación, esquema, borrador) implementada de ambas formas.

Ejecute:

python3 code/main.py

El rastreo de la Crew es fluido y variable; el rastreo del Flow es fijo y observable. Esa es la elección.

Use

  • CrewAI Flow para producción.
  • CrewAI Crew para exploración, emparejamiento, primeros borradores.
  • LangGraph (Lesson 13) si desea una máquina de estados más explícita.
  • AutoGen v0.4 (Lesson 14) si desea concurrencia basada en el modelo de actores.

Envíe

outputs/skill-crew-or-flow.md elige Crew vs Flow para una tarea y estructura la implementación mínima.

Ejercicios

  1. Convierta una demostración basada en Crew a un Flow. Cuente los puntos de contacto donde disminuye la variabilidad.
  2. Agregue memoria de entidad a la Crew: los hechos sobre un cliente persisten entre tareas.
  3. Implemente un proceso Jerárquico: un Agente gerente elige qué especialista se ejecuta a continuación con base en el output anterior.
  4. Lea la introducción de la documentación de CrewAI. Port su juguete a la API real de crewai. ¿Qué cambia respecto a la capacidad de prueba?
  5. Conecte AgentOps o Langfuse a una de sus ejecuciones. ¿Qué trazas se perdió en la versión stdlib?

Términos Clave

Término Lo que la gente dice Lo que realmente significa
Agent "Persona" Rol + objetivo + backstory + herramientas
Task "Unidad de trabajo" Descripción + output esperado + responsable
Crew "Equipo de agentes" Contenedor para Agentes + Tareas + Proceso
Process "Estrategia de ejecución" Secuencial / Jerárquico / Consensual
Flow "Flujo de trabajo determinista" Basado en eventos, controlado por código, con capacidad de prueba
Backstory "Prompt de persona" Moldeador de tono y juicio para el Agente
Entity memory "Hechos por entidad" Memoria con alcance para un cliente/cuenta/problema

Lecturas Adicionales

0 lifetime access. Curriculum based on AI Engineering from Scratch by Rohit Ghumare (MIT, used under attribution).