programa
Los agentes de IA son asistentes capaces de realizar tareas e interactuar con el mundo. A diferencia de los sistemas tradicionales que siguen reglas fijas, pueden aprender y adaptarse a nuevas situaciones. Piensa en ellos como programas capaces de percibir su entorno y actuar en consecuencia.
Pero, ¿qué distingue a los agentes de IA de otros sistemas de IA, como los populares modelos de lenguaje de los que todos hemos oído hablar?
En este artículo, voy a responder a esta pregunta y a presentar CrewAI, un framework de Python gratuito y de código abierto diseñado para simplificar el desarrollo de sistemas de IA multiagente. Veremos la diferencia entre agentes y modelos de lenguaje, por qué los frameworks de agentes son clave para crear aplicaciones de IA y cómo CrewAI permite que los agentes colaboren para lograr grandes resultados.
Agentes de IA vs. LLMs
Aclaremos un malentendido habitual sobre la diferencia entre los agentes y los grandes modelos de lenguaje (LLMs). Ambos pertenecen a la familia de la inteligencia artificial, pero tienen capacidades distintas.

Los modelos de lenguaje, como ChatGPT y Gemini, dominan el uso del lenguaje. Se han entrenado con enormes cantidades de texto y código, lo que les permite comprender y generar lenguaje de forma muy cercana a la comunicación humana.
Los LLMs son los grandes "artesanos de la palabra" de la IA: generan traducciones, resúmenes, relatos creativos o incluso poesía. Su alcance suele limitarse a tareas relacionadas con el lenguaje.
Los agentes, en cambio, se centran ante todo en pasar a la acción. Son capaces de navegar, interactuar con objetos y tomar decisiones a partir de lo que perciben.
En pocas palabras: los modelos de lenguaje son el cerebro y los agentes, las manos. Juntos forman un tándem potentísimo.
Dado que los agentes son tan importantes en las aplicaciones de IA, ¿cómo gestionamos su complejidad cuando varios deben trabajar en equipo? Aquí es donde entran los frameworks de agentes.
La necesidad de un framework de agentes
La necesidad de frameworks de agentes surge por la creciente complejidad de las aplicaciones de IA, especialmente aquellas en las que múltiples agentes colaboran para lograr un objetivo común. Veamos por qué son esenciales.
Orquestación y coordinación
A medida que los sistemas de IA escalan, suelen incorporar numerosos agentes con capacidades diversas. Gestionar estas interacciones y garantizar que trabajen en armonía se vuelve cada vez más difícil.
Los frameworks de agentes ofrecen un entorno estructurado para orquestar las actividades de los agentes, definir sus roles y responsabilidades y mejorar la comunicación.
En los sistemas multiagente, es clave asignar las tareas de forma eficiente a los agentes más adecuados y gestionar bien los recursos compartidos. Los frameworks de agentes proporcionan mecanismos dinámicos para asignación de tareas, negociación de recursos y resolución de conflictos.
Modularidad y reutilización
Estos frameworks fomentan un enfoque modular del desarrollo de IA, donde los agentes se diseñan e implementan como componentes independientes. Esta modularidad mejora la organización del código y permite reutilizar módulos de agentes en distintos proyectos, simplificando así el desarrollo y el mantenimiento de sistemas complejos. Con esta estructura basada en componentes, los desarrolladores pueden centrarse en agentes concretos sin afectar al sistema global.
Además, suelen adoptar una arquitectura basada en roles, lo que permite asignar a cada agente capacidades y permisos específicos. Este diseño por roles da lugar a un sistema más organizado y manejable, donde se pueden añadir, quitar o modificar agentes con un impacto mínimo en la arquitectura general. Esta flexibilidad garantiza que los sistemas evolucionen y se adapten a nuevos requisitos sin grandes reingenierías.
Adaptabilidad y aprendizaje
Los entornos reales suelen ser dinámicos, impredecibles y están en constante cambio. Los frameworks de agentes preparan a los agentes para percibir cambios a su alrededor y adaptar su comportamiento en consecuencia. Esta adaptabilidad les permite funcionar con eficacia incluso en escenarios complejos y cambiantes, enfrentándose mejor a los retos del mundo real.
Además, es frecuente que incorporen mecanismos de aprendizaje para que los agentes mejoren su rendimiento con el tiempo. Al aprender de la retroalimentación y la experiencia, optimizan continuamente su toma de decisiones y se adaptan a nuevos desafíos a medida que surgen. Esta mejora continua los hace más eficaces y valiosos, contribuyendo a la eficiencia y el éxito a largo plazo del sistema.
Y, hablando de frameworks de agentes, veamos uno que está dando que hablar en la comunidad de IA: CrewAI.
¿Qué es CrewAI?
CrewAI es un framework de Python de código abierto construido sobre dos bloques complementarios:
- Crews — equipos de agentes de IA que colaboran de forma autónoma mediante toma de decisiones basada en roles — y
- Flows — flujos de trabajo listos para producción y dirigidos por eventos que te dan control sobre las automatizaciones.
Juntos, te permiten crear desde una simple canalización de investigación hasta un sistema multiagente totalmente autónomo.

Este framework incluye un conjunto de herramientas, como buscadores web y modelos de lenguaje, que permiten a los agentes relacionarse con el mundo exterior, recopilar información y actuar para cumplir sus objetivos.
El diseño y la escalabilidad de CrewAI lo hacen perfecto para desarrollar aplicaciones multiagente tanto básicas como complejas, fomentando un enfoque colaborativo para afrontar retos y tomar decisiones dentro de los sistemas de IA.
Veamos algunas de las funcionalidades clave que hacen de CrewAI una herramienta potente para crear sistemas multiagente.
- Orquestación de agentes: CrewAI se asegura de que cada agente tenga claro su papel. Ofrece las herramientas para definir y coordinar su comportamiento, logrando que todo el mundo toque en sincronía.
- Arquitectura basada en roles: Igual que asignas instrumentos a los músicos, CrewAI te permite asignar roles concretos a los agentes, definiendo sus capacidades y permisos. Así se crea un sistema modular y bien estructurado, incluso cuando la complejidad aumenta.
- Comunicación flexible: CrewAI admite varios canales de comunicación para que los agentes intercambien información sin fricciones. Es como tener un chat privado, un grupo y un altavoz, todo en uno.
- Integración de herramientas: CrewAI permite a los agentes interactuar con el mundo mediante diversas herramientas. Así pueden buscar en la web, comprender lenguaje, analizar datos y ejecutar tareas personalizadas.
- Escalabilidad: CrewAI está diseñado para escalar sin esfuerzo, manteniendo tu sistema multiagente ágil y eficiente a medida que crece.
¿Y qué beneficios concretos aporta CrewAI? Vamos a verlos.
Flows y Crews en CrewAI
CrewAI se apoya en dos bloques complementarios que trabajan juntos para cubrir desde tareas simples de agentes hasta canalizaciones complejas en producción.
Crews son equipos de agentes de IA que colaboran de forma autónoma. Cada agente en un Crew tiene un rol, un objetivo y una historia definidos, y trabajan juntos para completar tareas, delegar entre sí y tomar decisiones sin que tengas que programar cada paso. Recurres a un Crew cuando quieres que los agentes decidan cómo conseguir algo.
Flows son la capa de orquestación por encima de los Crews. Un Flow te permite encadenar varios Crews, añadir lógica condicional entre pasos, gestionar el estado a lo largo de la canalización y activar acciones basadas en eventos. Donde un Crew te da autonomía, un Flow te da control.
| Crews | Flows | |
|---|---|---|
| Ideal para | Tareas de agentes autónomas y colaborativas | Canalizaciones en varias fases con ejecución controlada |
| Nivel de control | Impulsado por los agentes | Definido por el desarrollador |
| Úsalo cuando | Quieres que los agentes decidan el cómo | Necesitas controlar el qué, cuándo y si |
Para la mayoría de principiantes, empezarás con Crews. Solo cuando necesites fiabilidad de nivel producción usarás Flows. Los Flows son cómo escalas.
Ventajas de usar CrewAI
CrewAI hace posible que varios agentes de IA colaboren, compartan conocimiento y coordinen sus acciones hacia un objetivo común.
Automatizando la distribución de tareas y la gestión de recursos, CrewAI permite que los agentes se centren en sus roles con un sobrecoste mínimo.
El framework también favorece la adaptabilidad, de modo que los agentes ajustan su comportamiento según cambien las condiciones u objetivos.
Además, simplifica el desarrollo con una plataforma sencilla para crear y gestionar sistemas multiagente.

Otra gran fortaleza de CrewAI es su integración con una amplia gama de herramientas. Esto amplía las capacidades de los agentes, permitiéndoles interactuar con el mundo exterior y recopilar información.
CrewAI es compatible con herramientas como motores de búsqueda web, modelos de lenguaje, utilidades de análisis de datos e incluso funcionalidades personalizadas. Así, los agentes pueden ir más allá de sus capacidades básicas, por ejemplo recuperando información de la web o realizando análisis de datos complejos.
Práctica: crear una herramienta de búsqueda web con CrewAI
Vamos a arremangarnos y construir un flujo usando herramientas de CrewAI para extraer contenido de una web y después aplicar RAG sobre él.
Necesitamos escribir el código que hará que la herramienta funcione. Antes de empezar, instalemos los paquetes crewai-tools y crewai con pip:
# Instalar CrewAI con soporte de herramientas
pip install 'crewai[tools]'
# O usando uv (recomendado por CrewAI para la gestión de dependencias)
uv add 'crewai[tools]'
Una vez instalados los paquetes, sigue estos pasos. En este ejemplo usaremos tres herramientas: ScrapeWebsiteTool para extraer la web, FileWriterTool para escribir el archivo y TXTSearchTool para buscar el contexto para RAG. Vamos allá.
Paso 1: extraer una web
Primero importamos las librerías necesarias e inicializamos ScrapeWebsiteTool. Esta herramienta sirve para extraer contenido de una web. En este caso, está configurada para raspar la página de Wikipedia sobre "Inteligencia artificial":
from crewai_tools import ScrapeWebsiteTool, FileWriterTool, TXTSearchTool
import requests
# Inicializar la herramienta, pasando la sesión si hace falta
tool = ScrapeWebsiteTool(website_url='https://en.wikipedia.org/wiki/Artificial_intelligence')
# Extraer el texto
text = tool.run()
print(text)
Paso 2: escribir el texto extraído en un archivo
Ahora usamos FileWriterTool para guardar el texto extraído en un archivo llamado ai.txt.
# Inicializar la herramienta
file_writer_tool = FileWriterTool()
# Escribir contenido en un archivo en el directorio indicado
result = file_writer_tool._run(filename='ai.txt', content = text, directory = '', overwrite=True)
print(result)
Paso 3: configurar la herramienta de búsqueda de texto
Configuramos otra herramienta para buscar en el contenido del archivo ai.txt que acabamos de guardar. También establecemos la variable de entorno para la clave de la API de OpenAI.
import os
from crewai_tools import TXTSearchTool
os.environ['OPENAI_API_KEY'] = 'API-KEY'
# Inicializar la herramienta con un archivo de texto concreto, para que el agente busque dentro de su contenido
tool = TXTSearchTool(txt='ai.txt')
Paso 4: crear un agente para la tarea y ejecutarlo
Creamos un agente analista de datos con el rol de educador. Su tarea es responder a la pregunta "¿Qué es el procesamiento del lenguaje natural?" basándose en el texto que hemos buscado en el archivo.
from crewai import Agent, Task, Crew
context = tool.run('What is natural language processing?')
data_analyst = Agent(
role='Educator',
goal=f'Based on the context provided, answer the question - What is Natural Language Processing? Context - {context}',
backstory='You are a data expert',
verbose=True,
allow_delegation=False,
tools=[tool]
)
test_task = Task(
description="Using the provided context, answer the question: What is Natural Language Processing?",
tools=[tool],
agent=data_analyst,
expected_output='A clear, 2-3 paragraph explanation of Natural Language Processing, covering its definition, key techniques, and common applications.'
)
crew = Crew(
agents=[data_analyst],
tasks=[test_task]
)
output = crew.kickoff()

Cómo se compara CrewAI con LangGraph y AutoGen
Las principales alternativas a CrewAI son LangGraph y AutoGen de Microsoft. La mayor ventaja de CrewAI es su paradigma de agentes basados en roles. Es decir, al definir agentes con roles, objetivos e historias, obtienes un comportamiento que se parece mucho a cómo colaboran los equipos humanos.
LangGraph ofrece más control sobre el flujo de ejecución mediante un enfoque basado en grafos, pero requiere entender grafos dirigidos y conceptos de gestión de estado. Para la mayoría de desarrolladores nuevos en sistemas multiagente, CrewAI es la vía más rápida hacia un prototipo funcional.
Conclusión
CrewAI ofrece una plataforma práctica para gestionar sistemas multiagente. Ya sea para extraer contenido o delegar tareas, este framework favorece la colaboración entre agentes y les ayuda a adaptarse y mejorar.
Al integrar herramientas y aportar una estructura organizada, CrewAI facilita a los desarrolladores gestionar interacciones entre agentes, distribuir tareas y asegurar el mejor rendimiento.
Sistemas multiagente con LangGraph
Ingeniero Senior de GenAI y creador de contenidos que ha conseguido 20 millones de visitas compartiendo conocimientos sobre GenAI y ciencia de datos.




