¿Qué es crewAI?

Autores

Vanna Winland

AI Advocate & Technology Writer

Meredith Syed

Technical Content, Editorial Lead

IBM

Anna Gutowska

AI Engineer, Developer Advocate

IBM

crewAI es un marco de orquestación multiagente de código abierto creado por João Moura. Este marco basado en Python aprovecha la colaboración de inteligencia artificial (IA) al orquestar agentes de IA autónomos que desempeñan roles y trabajan juntos como un conjunto cohesivo o “crew” para completar tareas. El objetivo de crewAI es proporcionar un marco sólido para automatizar los flujos de trabajo multiagente1.

El término "crew" se refiere a los agentes de IA que trabajan juntos para delegar tareas de forma autónoma y hacer preguntas entre ellos, de forma similar a un equipo de trabajo de la vida real. Cada equipo multiagente se compone de agentes de IA complementarios que desempeñan papeles y aprovechan las herramientas existentes y personalizadas para completar un conjunto de tareas asignadas. Los modelos de lenguaje actúan como un motor de razonamiento para los agentes seleccionando una serie de acciones2. Los agentes de crewAI se pueden configurar para utilizar cualquier modelo de lenguaje de gran tamaño (LLM) de código abierto o interfaz de programación de aplicaciones (API).

Investigaciones recientes amplían el alcance de los modelos LLM más allá de la mera generación de texto, demostrando que pueden servir como agentes versátiles para interacciones conversacionales, toma de decisiones y realización de tareas3. En el floreciente campo de la IA y la investigación en torno a los agentes de IA y los marcos agénticos, han aparecido en la escena de la IA gen los marcos multiagente, entre ellos crewAI.

La próxima generación de aplicaciones de IA utilizará la arquitectura agéntica para construir sistemas autónomos basados en agentes4. Estos marcos agénticos abordan tareas complejas para multitud de soluciones de IA mediante la mejora de las tareas de IA generativa. Por ejemplo, los chatbots de IA pueden ser una modalidad para implementar marcos de IA agentiva. Los chatbots agenticos, a diferencia de los no agenticos, pueden usar sus herramientas disponibles, planificar acciones antes de ejecutarlas y retener la memoria. Estas capacidades producen conversaciones más refinadas y significativas.

Las últimas tendencias en IA, presentadas por expertos

Obtenga conocimientos organizados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM.

¡Gracias! Está suscrito.

Su suscripción se enviará en inglés. Encontrará un enlace para darse de baja en cada boletín. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

Marcos de agentes de IA (agénticos)

Los marcos agenéticos son arquitecturas de agentes de IA que utilizan la llamada a herramientas y la orquestación para aplicaciones de IA. Los sistemas agenticos utilizan la planificación, el refinamiento iterativo, la reflexión y otros mecanismos de control para aprovechar al máximo las capacidades de razonamiento integradas del modelo para completar las tareas de principio a fin5. La implementación de agentes de IA dentro de los sistemas de IA automatiza los procesos necesarios para que funcionen las aplicaciones de IA gen.

Los marcos agénticos también proporcionan capacidades mejoradas de aprendizaje y rendimiento. Afinar los LLM para tareas de toma de decisiones personalizadas requiere muchos recursos y puede disminuir las capacidades de generalización de los modelos6. Los agentes de IA pueden aprender de sus acciones y experiencias anteriores, lo que alivia el gasto computacional necesario para ajustar los modelos.

Agentes de IA

Cinco tipos de agentes de IA: funciones autónomas y aplicaciones del mundo real

Descubra cómo la IA basada en objetivos y servicios se adapta a flujos de trabajo y entornos complejos.

Arquitectura de sistemas agénticos

Los marcos agénticos pueden utilizar sistemas de agente único o de múltiples agentes.

Un solo agente frente a varios

Los marcos de agente único se basan en un modelo de lenguaje para ejecutar una amplia gama de tareas y responsabilidades. Al agente se le proporciona una instrucción del sistema y las herramientas necesarias para completar sus tareas, como búsqueda, API e incluso otros agentes. Aunque los sistemas de agente único pueden interactuar con otros agentes mediante herramientas, no cooperan del mismo modo que los sistemas multiagente.

En los sistemas de agente único no existe un mecanismo de feedback de otros agentes de IA; por tanto, se recomiendan las opciones de feedback humano para guiar al agente y mejorar la precisión a lo largo del tiempo. Las arquitecturas de agente único funcionan mejor para problemas bien definidos donde no es necesaria la feedback de otros agentes o usuarios7.

En lugar de tratar de abarcar todas las capacidades dentro de un solo modelo, los sistemas multiagente (MAS) dividen las tareas entre varios agentes especializados. Las arquitecturas multiagente involucran dos o más agentes, que pueden usar el mismo modelo de lenguaje o diferentes. Sin importar el tamaño, los agentes trabajan dentro del mismo entorno para modelar los objetivos, la memoria y el plan de acción de cada uno. Estas arquitecturas demuestran ventajas notables sobre el modelo de cadena de pensamiento (CoT), donde el modelo necesita dividir las tareas en una serie de pasos8. Las arquitecturas multiagente tienden a prosperar más cuando se requiere colaboración y múltiples rutas de ejecución distintas.

Las mejores arquitecturas de agentes a utilizar dependen de las características específicas de la aplicación general y del caso de uso. Los sistemas de agente único son mejores para resolver problemas específicos. Se puede pensar en los agentes como solucionadores de problemas. Algunos problemas requieren las capacidades individuales de un agente especializado, otros pueden requerir un equipo de solucionadores de problemas o un equipo de múltiples agentes. Los sistemas multiagente son un equipo de agentes que trabajan juntos para resolver problemas que están más allá de las capacidades o el conocimiento individual de cada agente. Los sistemas multiagente pueden resolver problemas que son demasiado grandes para los sistemas de un único agente. Las investigaciones sugieren que los sistemas multiagente tienen ventajas significativas, incluida una mayor velocidad y confiabilidad, y toleran datos y conocimientos inciertos9. Los beneficios clave de los sistemas multiagente similares a crewAI incluyen la colaboración de agentes, flujos de trabajo autónomos y escalabilidad.

Colaboración entre agentes

Los agentes de IA se pueden optimizar a través de sus versátiles parámetros personalizables. A cada agente se le asigna una persona que describe su función junto con las instrucciones específicas para su comportamiento10. Los marcos multiagente utilizan las capacidades de los agentes para gestionar tareas dentro de un equipo mientras actúan en sus funciones específicas e interactúan entre sí. Las composiciones de estos equipos se pueden adaptar y optimizar en función de la aplicación y los objetivos generales.

Una forma de implementarlo es a través de agentes generativos colaborativos. Los marcos multiagente pueden proporcionar las facultades esenciales necesarias para una colaboración eficaz11. Algunos marcos multiagente proporcionan plantillas para la colaboración de agentes basadas en el objetivo general. crewAI facilita la colaboración de los agentes al permitir a los usuarios reunir a los agentes en equipos, o equipos que trabajan para ejecutar un objetivo o tarea común.

Comportamiento autónomo

Los agentes de IA autónomos pueden completar una tarea o una serie de tareas complejas sin dirección. El potencial de los agentes autónomos basados en LLM es reconocido como un enfoque líder para lograr la inteligencia general artificial (AGI)12. Estos agentes con sede en LLM pueden ejecutar tareas mediante una planificación y acciones autodirigidas. Aunque han demostrado unas capacidades impresionantes, los agentes de IA aún se enfrentan a desafíos a la hora de ampliar sus competencias para tareas que requieren formas de razonamiento más complejas13. Los sistemas de agencia ayudan a mitigar estos desafíos al proporcionar un marco para los flujos de trabajo autónomos. crewAI ofrece un comportamiento autónomo a través de su proceso jerárquico que utiliza un agente administrador generado de forma autónoma que supervisa la ejecución y asignación de tareas del agente.

Escalabilidad

Los sistemas multiagente deben escalar en varias dimensiones diferentes. Esas dimensiones incluyen cuándo aumenta el número total de agentes en un sistema o aplicación, aumenta la diversidad de los agentes y aumenta el tamaño de los datos en los que operan los agentes14. Muchos marcos multiagente vienen con herramientas como monitorización y métricas para ayudar a evaluar si el sistema está escalando exitosamente. crewAI permite la integración con herramientas de métricas y monitorización de recursos de terceros para configurar la observabilidad y las evaluaciones para LLM, marcos LLM y bases de datos vectoriales.

Agentes de IA

Los agentes de IA son sistemas o programas basados en LLM que pueden desarrollarse para realizar diversas tareas complejas. Los agentes poseen memoria y capacidades que les permiten tomar decisiones independientes y realizar acciones basadas en su experiencia previa15. Los agentes mejoran las capacidades tradicionales mediante el uso de resultados de LLM para invocar otras herramientas de software (como la recuperación de datos) y volver a reproducir los resultados en un LLM hasta que se cumpla el objetivo general. Lo que diferencia a los agentes de IA de los LLM tradicionales es su capacidad para navegar, interactuar y adaptarse a su entorno a través de la planificación de acciones, el uso de la memoria y el enfriamiento de herramientas. Los sistemas agenticos proporcionan herramientas y orquestación para que los agentes ejecuten algoritmos de machine learning asociados a sus tareas.

Cómo funciona crewAI

crewAI se basa en LangChain con un principio de diseño modular en mente. Sus componentes principales consisten en agentes, herramientas, tareas, procesos y equipos.

Agentes

Los agentes son los componentes fundamentales del marco crewAI. Cada agente es una unidad autónoma con diferentes roles que contribuyen al objetivo general de la tripulación. Cada agente está programado para realizar tareas, gestionar la toma de decisiones y comunicarse con otros agentes.

crewAI anima a los usuarios a pensar en los agentes como miembros de un equipo. Los agentes pueden tener diferentes funciones, como "Científico de datos", "Investigador" o "Gestor de productos". El equipo multiagente colabora eficazmente para realizar flujos de trabajo automatizados.
 
Esta forma de sistema multiagente pretende mejorar las capacidades de razonamiento de los LLM a través de discusiones interagentes utilizando una estructura de juego de roles para facilitar la resolución de problemas complejos16. Los agentes se relacionan entre sí a través de los mecanismos de delegación y comunicación inherentes a crewAI, que les dan la capacidad innata de comunicarse entre sí para delegar trabajo o hacer preguntas.

Atributos del agente

Los objetivos y las características del agente se definen mediante atributos. Los agentes de CrewAI tienen tres atributos principales: función, objetivo y trasfondo.

Por ejemplo, la instanciación de un agente en crewAI puede tener este aspecto:

    agente = Agente (
         función= "Atención al cliente",
         objetivo= "Gestionar las consultas y los problemas de los clientes",
         antecedentes= "Es especialista en atención al cliente en una cadena de restaurantes. Usted es responsable de atender las llamadas de los clientes y proporcionar
la atención al cliente y la entrada de datos de feedback.
         )
 

crewAI ofrece varios parámetros opcionales que incluyen atributos para elegir qué LLM y dependencias de herramientas utiliza el agente17.

Herramientas

Las herramientas son habilidades o funciones que los agentes utilizan para realizar diferentes tareas. Los usuarios pueden aprovechar tanto las herramientas personalizadas como las existentes del kit de herramientas de crewAI y las herramientas de LangChain.

Las herramientas amplían las capacidades de los agentes permitiéndoles realizar un amplio espectro de tareas, como la gestión de errores, los mecanismos de almacenamiento en caché y la personalización mediante argumentos de herramientas flexibles.

Herramientas de crewAI

Todas las herramientas contienen la gestión de errores y admiten mecanismos de almacenamiento en caché.

El kit de herramientas de crewAI contiene un conjunto de herramientas de búsqueda que utilizan la metodología de generación aumentada por recuperación (RAG) en diferentes fuentes. Algunos ejemplos incluyen:

  • JSONSearchTool: realice búsquedas de precisión dentro de archivos JSON.
  • GithubSearchTool: busque dentro de los repositorios de GitHub.
  • YouTubeChannelSearchTool: busque en los canales de YouTube.

Más allá de las herramientas RAG, el kit también contiene varias herramientas de raspado web para la recopilación y extracción de datos.

Herramientas de LangChain

crewAI ofrece una integración sencilla con las herramientas de LangChain. Estos son algunos ejemplos de las herramientas integradas disponibles de LangChain:

  • Shell (bash): da acceso al shell, lo que permite que el LLM ejecute comandos de shell18.
  • Comparación de documentos: utilice un agente para comparar dos documentos19.
  • Python: permita a los agentes escribir y ejecutar código Python para responder a las preguntas20.

Herramientas personalizadas

Los usuarios pueden crear sus propias herramientas para optimizar aún más las capacidades de los agentes. Como parte del paquete de herramientas crewAI, los usuarios pueden crear una herramienta definiendo una descripción clara de para qué se utilizará. El agente utilizará la descripción definida por el usuario para utilizar la herramienta personalizada. Las herramientas personalizadas pueden implementar opcionalmente un mecanismo de almacenamiento en caché que puede ajustarse para un control granular.

Tareas

Las tareas son asignaciones específicas completadas por los agentes. Los detalles de la ejecución se facilitan a través de los atributos de la tarea. Se pueden asignar varios agentes para trabajar juntos para completar la misma tarea.

Atributos de tarea

Los atributos de tarea requeridos incluyen descripción, agente y resultado esperado. Estos atributos definen el alcance de la tarea, el agente responsable y el objetivo. Una tarea puede asignarse directamente a un agente o gestionarse a través del proceso jerárquico de crewAI que decide en función de los roles y la disponibilidad.

Este es un ejemplo de tarea:

data_collection = Task(
     description= 'Recopilar datos de interacciones con clientes, historial de transacciones y tickets de soporte'
     expected_output= 'Una colección organizada de datos que pueden ser preprocesados',
     agent=data_science_agent,
)

Los atributos de tarea opcionales incluyen la integración de herramientas, la ejecución asincrónica para la simultaneidad y los formatos de salida, incluidos JSON, modelos Pydantic y salidas de archivos para los resultados de las tareas.

Características de las tareas

Las características de las tareas incluyen la integración, la ejecución asíncrona, la revisión de la entrada humana y la personalización de la salida.

Los resultados de una tarea pueden establecer el contexto para una tarea futura. Por ejemplo, los resultados de una tarea de "investigación" pueden utilizarse como contexto para completar una tarea de "escritor". Consideremos un ejemplo sencillo: un equipo de dos agentes, uno "investigador" y otro "escritor". Al agente investigador se le encomienda la tarea de encontrar ejemplos de los mejores casos de uso de la IA generativa, el agente escritor puede utilizar la investigación resultante como contexto para realizar la tarea de escribir un breve blog sobre el mismo tema o uno similar.

Se pueden definir tareas para que se ejecuten de forma asincrónica. Esto es útil para tareas que tardan mucho tiempo en completarse o que no son necesarias para las siguientes tareas a realizar. El atributo de contexto puede utilizarse para definir en una tarea futura que debe esperar a que se complete la output de la tarea asíncrona21.

Procesos

Los procesos permiten a los agentes individuales de la IA operar como una unidad cohesionada orquestando la ejecución de tareas. Los procesos en los marcos agenticos definen cómo los agentes trabajarán juntos y qué tareas se les asignarán. crewAI compara los procesos con la gestión de proyectos porque garantizan que las tareas se distribuyan y ejecuten con eficacia y se mantengan alineadas con una estrategia predefinida para completar el objetivo.

crewAI incluye dos implementaciones de procesos: secuencial y jerárquico y planifica una tercera llamada proceso consensuado. Los procesos se pueden asignar a un equipo de agentes para permitirles operar como una unidad cohesiva. Al asignar un proceso a un equipo, el tipo de proceso establece la estrategia de ejecución.

  • Secuencial: el proceso secuencial es similar a un flujo de trabajo de equipo dinámico. Las tareas se ejecutan según el orden predefinido en la lista de tareas, y el resultado de una tarea sirve de contexto para la siguiente.
  • Jerárquico: el proceso jerárquico emula una jerarquía corporativa. crewAI genera de forma autónoma un administrador para los usuarios aprovechando un modelo de lenguaje de administrador adaptado para el agente gestor22. El agente gestor supervisa la ejecución de tareas y asigna tareas a los agentes en función de sus capacidades, revisa los resultados y evalúa la finalización de las tareas. Este proceso es un ejemplo de agentes de IA que trabajan de forma autónoma y colaborativa para completar un conjunto de tareas.
  • Consensual (previsto): en el momento de escribir estas líneas, el proceso consensuado no está implementado actualmente en el código base, pero su objetivo es proporcionar una vía para la toma de decisiones colaborativa entre agentes sobre la ejecución de tareas. Este proceso introduce un enfoque democrático en la gestión de las tareas.

Equipos (crews)

Un equipo representa un conjunto colectivo de agentes que colaboran para realizar un conjunto predefinido de tareas23. Cada equipo define la estrategia para la ejecución de tareas, la ejecución de agentes y el flujo de trabajo general. Los equipos tienen varios atributos que ayudan a reunir agentes con roles y herramientas complementarios, asignar tareas y seleccionar un proceso que dicta su orden de ejecución e interacción24.

Atributos del equipo

Los usuarios eligen y definen una lista de agentes para trabajar juntos como un equipo. A los equipos se les asigna una lista de tareas que completar. Los atributos opcionales definen la estrategia de ejecución, la colaboración de los agentes y el flujo de trabajo general.

Este es un ejemplo de un equipo formado por dos agentes con el objetivo de trabajar juntos para recopilar y organizar los datos de atención al cliente:

my_crew = Crew(
    agents=[data_science_agent, customer_support_agent],
    tasks=[customer_support_task, data_collection_task],
    process=Process.sequential,
    full_output=True,
    verbose=True,
)

Los atributos adicionales incluyen funciones de devolución de llamada, configuraciones de idioma y memoria y opciones para configurar un agente administrador y LLM que se utilizará según el flujo del proceso (por ejemplo, secuencial, jerárquico). Una vez que se reúne un equipo, el flujo de trabajo se inicia a través de un método de inicio. crewAI proporciona varios métodos de inicio para controlar el proceso, incluida la ejecución de tareas individuales y asincrónicas25.

Conéctese a cualquier LLM

crewAI puede conectarse a cualquier LLM a través de una variedad de opciones de conexión. Por defecto, los agentes utilizarán el modelo GPT-4 de OpenAI para procesar el lenguaje. Sin embargo, crewAI ofrece flexibilidad a la hora de conectarse a varios LLM, incluidos modelos como la serie IBM Granite. Los modelos locales se pueden conectar a través de ollama u otras API abiertas. En los documentos de crewAI se proporcionan ejemplos de configuraciones de claves de API y tutoriales sobre cómo conectarse a varios LLM. crewAI es compatible con todos los componentes de LLM de LangChain que dan a todos los LLM soporte básico para una interfaz ejecutable.

Casos de uso de crewAI

Los marcos de agentes de IA, como crewAI, son herramientas fundacionales para que investigadores y desarrolladores creen sistemas inteligentes en diversos ámbitos, desde chatbots de IA agentiva hasta complejos sistemas multiagente.

Algunos ejemplos reales incluyen proyectos como la creación de páginas de aterrizaje interactivas y el uso de un equipo para automatizar el proceso de impulsar la presencia en las redes sociales. Existe una colección de varios ejemplos del mundo real en un repositorio de GitHub organizado por Moura titulado “crewAI-examples” para que los usuarios los prueben por sí mismos26. Estos ejemplos también incluyen introducciones para que los principiantes utilicen el marco.

Esta es una lista de algunos de esos ejemplos y otros casos de uso surgidos de la comunidad crewAI:

  • Planificación y creación de contenido: un caso de uso utiliza crewAI y groq, un modelo de lenguaje natural, para crear un equipo de agentes especializados para crear contenido atractivo y preciso sobre un tema determinado.27
  • Automatización de la revisión y redacción de correos electrónicos: diseñado como una introducción para principiantes, un equipo de agentes completa las tareas de análisis y filtrado de correos electrónicos, extracción de los hilos completos, investigación y creación de borradores de correo electrónico utilizando la biblioteca LangGraph para automatizar los flujos de trabajo multiagente28.
  • Análisis de valores: se asignan funciones específicas a los agentes para que colaboren en la elaboración de un análisis completo de las acciones y una recomendación de inversión utilizando GPT 3.5 en lugar de GPT-4 por defecto29.

Otros marcos multiagente

crewAI se compara con marcos multiagente, incluidos AutoGen y ChatDev. La mayor ventaja de crewAI es la combinación de lo que estos dos marcos hacen bien individualmente. crewAI combina la flexibilidad de los agentes conversacionales de AutoGen con el enfoque de procesos estructurados de ChatDev30.

crewAI frente a AutoGen

AutoGen es el marco de agencia de código abierto de Microsoft que utiliza algoritmos de procesamiento del lenguaje natural (PNL) para los agentes de IA conversacional. Aunque ambas plataformas se utilizan en aplicaciones similares, cada una tiene sus ventajas y desventajas respectivas. Ambos son sistemas flexibles con agentes de IA personalizables capaces de colaborar. crewAI proporciona una forma más sencilla de organizar las interacciones de los agentes al proporcionar atributos personalizables que controlan los procesos de la aplicación. AutoGen necesita más ajustes de programación para lograrlo. AutoGen ofrece una forma integrada de ejecutar rápidamente el código generado por LLM31. crewAI no ofrece actualmente herramientas para esta habilidad, pero es posible hacerlo con una configuración de programación adicional.

crewAI frente a ChatDev

ChatDev es una plataforma de código abierto que utiliza la colaboración multiagente de rol, incluida la crewAI. La estructura de procesos de ChatDev es rígida, lo que limita la personalización y dificulta la escalabilidad y flexibilidad de los entornos de producción. Marcos como crewAI están diseñados para integrarse con aplicaciones de terceros y flujos de trabajo personalizables para entornos dinámicos y adaptables. Una funcionalidad única de ChatDev es que se extiende como una extensión del navegador para encadenar conversaciones entre varios agentes dentro de un navegador web32.

Como marco de orquestación de múltiples agentes, crewAI proporciona otra innovación hacia el objetivo de la inteligencia artificial. Las arquitecturas agenticas mejorarán el rendimiento y las capacidades de los agentes de IA, permitiendo que las aplicaciones LLM realicen tareas más allá de la generación de lenguaje.

Soluciones relacionadas
Desarrollo de agentes de IA de IBM 

Permita a los desarrolladores crear, implementar y monitorizar agentes de IA con el estudio IBM watsonx.ai.

 

Explore watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Explore los servicios de IA
Dé el siguiente paso

Tanto si opta por personalizar las aplicaciones y habilidades prediseñadas como si prefiere crear e implementar servicios agentivos personalizados mediante un estudio de IA, la plataforma IBM watsonx le ofrece todo lo que necesita.

Explore watsonx Orchestrate Explore watsonx.ai