Las últimas tendencias de IA presentadas por expertos
Obtenga insights curados 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 .
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.
Obtenga insights curados 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 .
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.
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.
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.
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.
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.
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.
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.
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.
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 (crewAI ofrece varios parámetros opcionales, incluidos atributos para elegir qué LLM y dependencias de herramientas utiliza el agente.17
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.
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:
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.
crewAI ofrece una integración sencilla con las herramientas de LangChain . Estos son algunos ejemplos de las herramientas integradas disponibles de LangChain:
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.
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.
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(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.
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
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.
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
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(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
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.
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:
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
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.
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.
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.
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.