El panorama de las arquitecturas emergentes de agentes de IA para el razonamiento, la planificación y la llamada de herramientas: una encuesta |  de Sandi Besen |  abril de 2024

Desde el lanzamiento de ChatGPT, la ola inicial de aplicaciones de IA generativa ha girado en gran medida en torno a chatbots que utilizan el patrón de recuperación de generación aumentada (RAG) para responder a las indicaciones de los usuarios. Si bien se está trabajando para mejorar la solidez de estos sistemas basados ​​en RAG, la comunidad de investigación ahora está explorando la próxima generación de aplicaciones de IA; un tema común es el desarrollo de agentes de IA autónomos.

Los sistemas agentes incorporan capacidades avanzadas como planificación, iteración y reflexión, que aprovechan las capacidades de razonamiento inherentes del modelo para realizar tareas de un extremo a otro. Junto con la capacidad de utilizar herramientas, complementos y llamadas de función, los agentes están capacitados para abordar una gama más amplia de trabajos de propósito general.

El razonamiento es un componente fundamental de la mente humana. Sin razonamiento, uno no sería capaz de tomar decisiones, resolver problemas o refinar planes cuando se aprende nueva información, esencialmente malinterpretando el mundo que nos rodea. Si los agentes no tienen fuertes habilidades de razonamiento, entonces podrían malinterpretar su tarea, generar respuestas sin sentido o no considerar las implicaciones de varios pasos.

Descubrimos que la mayoría de las implementaciones de agentes contienen una fase de planificación que invoca una de las siguientes técnicas para crear un plan: descomposición de tareas, selección de planes múltiples, planificación asistida por módulos externos, reflexión y refinamiento y planificación con memoria aumentada. [1].

Otro beneficio de utilizar la implementación de un agente en lugar de solo un modelo de lenguaje base es la capacidad del agente para resolver problemas complejos llamando a herramientas. Las herramientas pueden permitir que un agente ejecute acciones como interactuar con API, escribir en aplicaciones de terceros y más.. El razonamiento y la llamada de herramientas están estrechamente entrelazados y la llamada de herramientas eficaz depende de un razonamiento adecuado. En pocas palabras, no se puede esperar que un agente con poca capacidad de razonamiento comprenda cuándo es el momento adecuado para recurrir a sus herramientas.

Nuestros hallazgos enfatizan que tanto las arquitecturas de agente único como las de múltiples agentes se pueden utilizar para resolver tareas desafiantes mediante el empleo de razonamiento y pasos de llamada de herramientas.

Para las implementaciones de un solo agente, encontramos que la ejecución exitosa de los objetivos depende de una planificación y autocorrección adecuadas. [1, 2, 3, 4]. Sin la capacidad de autoevaluarse y crear planes eficaces, los agentes individuales pueden quedarse atrapados en un ciclo de ejecución interminable y nunca realizar una tarea determinada o devolver un resultado que no cumpla con las expectativas del usuario. [2]. Descubrimos que las arquitecturas de agente único son especialmente útiles cuando la tarea requiere una llamada de función sencilla y no necesita comentarios de otro agente.

Sin embargo, observamos que los patrones de agente único a menudo tienen dificultades para completar una larga secuencia de subtareas o llamadas a herramientas. [5, 6]. Los patrones de múltiples agentes pueden abordar los problemas de tareas paralelas y solidez, ya que múltiples agentes dentro de la arquitectura pueden trabajar en subproblemas individuales. Muchos patrones de agentes múltiples comienzan tomando un problema complejo y dividiéndolo en varias tareas más pequeñas. Luego, cada agente trabaja de forma independiente para resolver cada tarea utilizando su propio conjunto de herramientas.

Las arquitecturas que involucran a múltiples agentes presentan una oportunidad para una división del trabajo inteligente basada en capacidades, así como en comentarios valiosos de diversos agentes. Numerosas arquitecturas de múltiples agentes operan en etapas donde los equipos de agentes se forman y reorganizan dinámicamente para cada fase de planificación, ejecución y evaluación. [7, 8, 9]. Esta reorganización produce resultados superiores porque se utilizan agentes especializados para tareas específicas y se eliminan cuando ya no son necesarios. Al hacer coincidir los roles y habilidades de los agentes con la tarea en cuestión, los equipos de agentes pueden lograr una mayor precisión y reducir el tiempo necesario para lograr el objetivo. Las características cruciales de las arquitecturas multiagente eficaces incluyen un liderazgo claro dentro de los equipos de agentes, una construcción dinámica de equipos y un intercambio eficiente de información entre los miembros del equipo para evitar que se pierda información importante en medio de comunicaciones superfluas.

Nuestra investigación destaca métodos notables de agente único como ReAct, RAISE, Reflexion, AutoGPT + P, LATS e implementaciones de múltiples agentes como DyLAN, AgentVerse y MetaGPT, que se explican con más detalle en el texto completo.

Patrones de agente único:

Los patrones de agente único generalmente son más adecuados para tareas con una lista de herramientas estrechamente definida y donde los procesos están bien definidos. No se enfrentan a malos comentarios de otros agentes ni a conversaciones que los distraigan y no estén relacionadas con otros miembros del equipo. Sin embargo, los agentes individuales pueden quedarse atrapados en un ciclo de ejecución y no lograr avanzar hacia su objetivo si sus capacidades de razonamiento y refinamiento no son sólidas.

Patrones de agentes múltiples:

Los patrones de múltiples agentes son adecuados para tareas en las que la retroalimentación de varias personas es beneficiosa para realizar la tarea. Son útiles cuando se requiere paralelización entre distintas tareas o flujos de trabajo, lo que permite a los agentes individuales continuar con sus siguientes pasos sin verse obstaculizados por el estado de las tareas manejadas por otros.

Retroalimentación y humanos en el circuito

Los modelos de lenguaje tienden a comprometerse con una respuesta más tempranamente en su respuesta, lo que puede causar un “efecto bola de nieve” al aumentar el desvío de su estado objetivo. [10]. Al implementar la retroalimentación, es mucho más probable que los agentes corrijan su rumbo y alcancen su objetivo. La supervisión humana mejora el resultado inmediato al alinear más estrechamente las respuestas del agente con las expectativas humanas, lo que produce resultados más fiables y dignos de confianza. [11, 8]. Los agentes pueden ser susceptibles a la retroalimentación de otros agentes, incluso si la retroalimentación no es sólida. Esto puede llevar al equipo de agentes a generar un plan defectuoso que los desvíe de su objetivo. [12].

Intercambio de información y comunicación

Los patrones de agentes múltiples tienen una mayor tendencia a quedar atrapados en sutilezas y preguntarse unos a otros cosas como “¿cómo estás?”, mientras que los patrones de agente único tienden a permanecer concentrados en la tarea en cuestión, ya que no hay una dinámica de equipo que gestionar. Esto se puede mitigar mediante indicaciones sólidas. En las arquitecturas verticales, los agentes pueden no enviar información crítica a sus agentes de soporte sin darse cuenta de que los otros agentes no tienen acceso a la información necesaria para completar su tarea. Este fallo puede provocar confusión en el equipo o alucinaciones en los resultados. Un enfoque para abordar este problema es incluir explícitamente información sobre los derechos de acceso en el mensaje del sistema para que los agentes tengan interacciones contextualmente apropiadas.

Impacto de la definición de roles y los equipos dinámicos

Una definición clara de las funciones es fundamental tanto para las arquitecturas de agente único como para las de múltiples agentes. La definición de roles garantiza que los agentes comprendan el rol asignado, se mantengan enfocados en la tarea asignada, ejecuten las herramientas adecuadas y minimice la alucinación de otras capacidades. Establecer un líder de grupo claro mejora el rendimiento general de los equipos de múltiples agentes al optimizar la asignación de tareas. También se ha demostrado que son eficaces los equipos dinámicos en los que los agentes entran y salen del sistema según las necesidades. Esto garantiza que todos los agentes que participan en las tareas sean contribuyentes importantes.

Resumen de ideas clave

Las ideas clave analizadas sugieren que la mejor arquitectura de agente varía según el caso de uso. Independientemente de la arquitectura seleccionada, los sistemas de agentes con mejor rendimiento tienden a incorporar al menos uno de los siguientes enfoques: indicaciones del sistema bien definidas, liderazgo claro y división de tareas, razonamiento/planificación-ejecución dedicado: fases de evaluación, estructuras de equipo dinámicas, humanas o de agencia. retroalimentación y filtrado inteligente de mensajes. Las arquitecturas que aprovechan estas técnicas son más efectivas en una variedad de puntos de referencia y tipos de problemas.

Nuestro metanálisis tiene como objetivo proporcionar una comprensión holística del panorama actual de agentes de IA y ofrecer información para quienes construyen con arquitecturas de agentes existentes o desarrollan arquitecturas de agentes personalizadas. Existen limitaciones notables y áreas para mejoras futuras en el diseño y desarrollo de agentes autónomos de IA, como la falta de puntos de referencia integrales para los agentes, aplicabilidad en el mundo real y la mitigación de sesgos dañinos en los modelos de lenguaje. Estas áreas deberán abordarse en el corto plazo para permitir agentes confiables.