¿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 juegan roles y trabajan juntos como un ensamblaje cohesivo o “equipo” para completar tareas. El objetivo de crewAI es proporcionar un marco sólido para automatizar los flujos de trabajo de múltiples agentes.1

El término "crew" se refiere a los agentes de AI que trabajan juntos para delegar tareas de forma autónoma y hacer preguntas entre ellos, de forma similar a una tripulación de trabajo de la vida real. Cada equipo multiagente está compuesto por agentes de AI de rol complementarios que 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 acciones.2 Los agentes de CrewAI se pueden configurar para usar cualquier modelo de lenguaje extenso / grande (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 simple generación de texto, demostrando que pueden servir como agentes versátiles para interacciones conversacionales, toma de decisiones y finalización de tareas.3 En el floreciente campo de la IA y la investigación en torno a los agentes de IA y los marcos agénticos, aparecieron en la escena de la IA generativa los marcos multiagente, entre ellos infraestructura/marco de crewAI.

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

Las últimas noticias tecnológicas, respaldadas por los insights de expertos

Manténgase al día sobre las tendencias más importantes e intrigantes de la industria sobre IA, automatización, datos y más con el boletín Think. Consulte la Declaración de privacidad de IBM.

¡Gracias! Ya está suscrito.

Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. 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 (agenticos)

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 fin.5 La implementación de agentes de IA dentro de los sistemas de IA automatiza los procesos necesarios para que funcionen las aplicaciones de IA generativa.

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

Agentes de IA

Cinco tipos de agentes de IA: funciones autónomas y aplicaciones reales

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

Arquitectura del sistema Agentic

Los infraestructuras de agentes pueden emplear sistemas de agente único o de múltiples agentes.

Agente único frente a multiagente

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 AI; por lo tanto, se recomiendan opciones de feedback humana para guiar al agente para mejorar la precisión con el tiempo. Las arquitecturas de agente único funcionan mejor para problemas bien definidos donde la retroalimentación de otros agentes o usuarios es innecesaria.7

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 pasos.8 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 para usar dependen de los detalles de la aplicación general y el caso de uso. Los sistemas de agente único son mejores para resolver problemas limitados. 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 conocimientos individuales de cada agente. Los sistemas multiagente pueden resolver problemas que son demasiado grandes para los sistemas de un solo agente. La investigación sugiere que los sistemas multiagente tienen ventajas significativas, incluida una mayor velocidad y confiabilidad, y toleran datos y conocimientos inciertos.9 Los beneficios clave de los sistemas multiagente similares a crewAI incluyen la colaboración de agentes, los flujos de trabajo autónomos y la escalabilidad.

Colaboración con 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 papel junto con instrucciones específicas para su comportamiento.10 Los marcos de infraestructura multiagente emplean las habilidades de los agentes para gestionar tareas dentro de un equipo mientras actúan en sus roles específicos 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 en que esto se está implementando es a través de agentes generativos colaborativos. Los infraestructuras multiagente pueden proporcionar las facultades esenciales necesarias para una colaboración eficaz.11 Algunos infraestructuras 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 agrupar a los agentes en equipos o cuadrillas 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 complejas.13 Los sistemas agenticos 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 cuando el número total de agentes aumenta en un sistema o aplicación, aumenta la diversidad de los agentes y aumenta el tamaño de los datos en los que los agentes están operando o con ellos.14 Muchos entornos multiagente vienen con herramientas como monitoreo y métricas para ayudar a evaluar si el sistema se está escalando correctamente. CrewAI permite la integración con herramientas métricas y monitoreo de recursos de terceros para configurar la observabilidad y evaluaciones para LLM, marcos LLM y bases de datos vectoriales.

Agentes de IA

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

Cómo funciona CrewAI

crewAI está construida sobre LangChain con un principio de diseño modular en mente. Sus principales componentes son los agentes, las herramientas, las tareas, los procesos y las tripulaciones.

Agentes

Los agentes son los componentes fundamentales del marco de trabajo de crewAI. Cada agente es una unidad autónoma con distintas funciones que contribuyen al objetivo general de la tripulación. Cada agente está programado para realizar tareas, tomar decisiones y comunicar 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 complejos.16 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 características del agente se definen mediante atributos. Los agentes de crewAI tienen tres atributos principales: rol, objetivo y historia de fondo.

Por ejemplo, una instanciación de un agente en CrewAI puede verse así:

    agent = 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".
         )
 

crewAI ofrece varios parámetros opcionales, incluidos atributos para elegir qué LLM y dependencias de herramientas utiliza el agente.17

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 de la kit de herramientas crewAI y LangChain Tools.

Las herramientas amplían las capacidades de los agentes al permitirles realizar un amplio espectro de tareas, incluido el manejo de errores, mecanismos de almacenamiento en caché y personalización a través de argumentos de herramientas flexibles.

herramientas de crewAI

Todas las herramientas contienen mecanismos de manejo de errores y soporte de almacenamiento en caché.

El kit de herramientas de crewAI contiene una suite 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: Busca en los repositorios de GitHub.
  • YouTubeChannelSearchTool: Busca 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 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 shell.18
  • Comparación de documentos: emplee un agente para comparar dos documentos.19
  • Python: Permite a los agentes escribir y ejecutar código Python para responder a las preguntas.20

Herramientas personalizadas

Los usuarios pueden crear sus propias herramientas para optimizar aún más las capacidades del agente. Como parte del paquete de herramientas CrewAI, los usuarios pueden crear una herramienta definiendo una descripción clara de para qué se utilizará la herramienta. 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 se puede ajustar 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 la tarea

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

A continuación, se muestra un ejemplo de una 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 se pueden preprocesar',
agent=data_science_agent,
)

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

Características de la tarea

Entre las características de las tareas se incluyen la integración de herramientas, la ejecución asíncrona, la revisión de la entrada humana y la personalización de los resultados.

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

Las tareas pueden definir para que se ejecuten de forma asíncrona. Esto es útil para tareas que tardan mucho tiempo en completar o que no son necesarias para realizar las siguientes tareas. El atributo de contexto se puede utilizar para definir en una tarea futura que debe esperar a que se complete la salida de la tarea asincrónica.21

Procesos

Los procesos permiten a los agentes individuales de IA operar como una unidad cohesiva orquestando la ejecución de tareas. Los procesos en la infraestructura agéntica definen cómo trabajarán juntos los agentes 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árquica, y planifica una tercera llamada proceso consensual. 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 de acuerdo con el orden predefinido en la lista de tareas, y la salida de una tarea sirve como 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 administrador. 22 El agente administrador 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 (planeado): al momento de escribir este artículo, el proceso consensual no está implementado actualmente en el código base, pero tiene como objetivo proporcionar una forma de toma de decisiones colaborativa entre agentes sobre la ejecución de tareas. Este proceso introduce un enfoque democrático a la gestión de tareas.

Tripulaciones

Un equipo representa un conjunto colectivo de agentes que colaboran para realizar un conjunto predefinido de tareas.23 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 dicte su orden de ejecución e interacción.24

Atributos de la tripulación

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

He aquí un ejemplo de 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(
agent=[data_science_agent, customer_support_agent],
task=[customer_support_task, data_collection_task],
process=Process.secuencial,
full_output=True,
verbose=True,
)

Entre los atributos adicionales se incluyen funciones de devolución de llamada, ajustes de idioma y memoria y opciones para establecer un agente gestor y LLM a emplear en función del flujo del proceso (por ejemplo, secuencial, jerárquico). Una vez reunida la tripulación, el flujo de trabajo se inicia mediante un método de puesta en marcha. crewAI ofrece varios métodos de puesta en marcha para controlar el proceso, incluida la ejecución asíncrona e individual de tareas.25

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 infraestructuras de agentes de IA como crewAI sirven como herramientas fundamentales para que investigadores y desarrolladores creen sistemas inteligentes en varios dominios, que van desde chatbot de IA 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í mismos.26 Estos ejemplos también incluyen introducciones para que los principiantes utilicen el marco.

Aquí hay una lista de algunos de esos ejemplos y otros casos de uso que surgen de la comunidad CrewAI:

  • Planeación y creación de contenidos: Un caso de uso emplea 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
  • Automatizar la verificación y redacción de correos electrónicos: Diseñado como una introducción para principiantes, un equipo de agentes completa las tareas de analizar y filtrar correos electrónicos, sacar los hilos completos, investigar y crear borradores de correo electrónico utilizando la biblioteca LangGraph para automatizar los flujos de trabajo multiagente.28
  • Análisis bursátil: a los agentes se les asignan roles específicos para colaborar a fin de brindar un análisis bursátil completo y una recomendación de inversión utilizando GPT 3.5 en lugar del GPT-4 predeterminado.29

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 ChatDev.30

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 LLM.31 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 emplea la colaboración multiagente de juegos de rol, incluida 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. Infraestructuras como crewAI están diseñadas para integrar 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 sitio web.32

Como infraestructura de orquestación multiagente, crewAI proporciona otra innovación hacia el objetivo de la inteligencia artificial. Las arquitecturas de agentes mejorarán el rendimiento y las capacidades de los agentes de IA, lo que permitirá 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, desplegar y monitorear 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 en IA líder en la industria y la cartera de soluciones de IBM a su lado.

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

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

Conozca los servicios de IA
Dé el siguiente paso

Ya sea que elija personalizar aplicaciones y habilidades predefinidas o crear y desplegar servicios agénticos personalizados utilizando un estudio de IA, la plataforma IBM watsonx responde a sus necesidades.

Explore watsonx Orchestrate Explore watsonx.ai