Nexus: un marco Python de nueva generación para construir sistemas corporales multiinteligentes escalables

En los últimos años, con el rápido desarrollo de los grandes modelos lingüísticos (LLM), las capacidades de los sistemas multiagente (MAS) han aumentado considerablemente. Estos sistemas no sólo son capaces de automatizar tareas, sino también de demostrar capacidades de razonamiento casi humanas. Sin embargo, los MAS Las arquitecturas suelen venir acompañadas de complejas implementaciones de código, lo que limita enormemente su reutilización. Para resolver este problema se desarrolló Nexus.Nexus es un framework ligero de Python diseñado para construir MAS escalables y reutilizables basados en LLM. Admite una arquitectura en capas, un diseño de flujo de trabajo supervisado y es fácil de usar, incluso sin una profunda formación técnica.

 

Visión general de los sistemas multiagente (MAS)

Los sistemas multiagente (MAS) son los cimientos de la Inteligencia Artificial (IA) distribuida. Permiten descomponer tareas complejas en componentes más manejables que luego son ejecutados por inteligencias autónomas (Agentes). Estas inteligencias utilizan el conocimiento histórico, las interacciones con otras inteligencias y la información del entorno para tomar decisiones sin intervención humana. Esta autonomía distingue a los MAS de los sistemas tradicionales de resolución distribuida de problemas y mejora su capacidad para operar eficazmente en entornos dinámicos e inciertos.

En los MAS, las inteligencias tienen cierto grado de autonomía y colaboran entre sí para formar un todo unificado que resuelva los problemas.Los componentes clave de la arquitectura MAS incluyen inteligencias, entornos e interacciones. Las inteligencias son actores centrales con funciones, capacidades y modelos de conocimiento. El entorno es el mundo exterior en el que viven las inteligencias, que perciben la información del entorno y actúan sobre ella. La comunicación entre inteligencias se denomina interacción y puede adoptar la forma de coordinación, negociación o cualquier otra basada en los requisitos del sistema.

Las arquitecturas MAS pueden adoptar diversas formas, como las tradicionales, las basadas en ReAct y las basadas en LLM. Las arquitecturas MAS tradicionales consisten en inteligencias que interactúan con el entorno mediante la observación y la acción, mientras que las arquitecturas de inteligencias de tipo ReAct (razonamiento y actuación) introducen capacidades avanzadas de razonamiento. Por su parte, las arquitecturas basadas en LLM utilizan los LLM como inteligencias para el razonamiento y la toma de decisiones.

Nexus:构建可扩展多智能体系统的新一代 Python 框架

Arquitectura MAS

Los principales retos a los que se enfrentan las arquitecturas MAS incluyen la coordinación entre múltiples inteligencias, la asignación de tareas y la escalabilidad de sistemas de gran tamaño. Para hacer frente a estos retos, los investigadores han propuesto varios enfoques, como la jerarquía Líder-Seguidor (LF), en la que la Inteligencia Líder define objetivos globales y delega tareas, y el marco de Inteligencia de Nivel Medio simplifica el descubrimiento de servicios y la coordinación entre las Inteligencias.

Los recientes avances en el campo de la modelización de grandes lenguajes (LLM) están mejorando la arquitectura de las MAS y sus capacidades de aplicación, como el razonamiento casi humano. Cuando se integran en la arquitectura de los MAS, los LLM pueden actuar como inteligencias centrales de razonamiento, mejorando la adaptabilidad, la colaboración y la toma de decisiones en entornos dinámicos. Estos avances también han facilitado la aplicación de las MAS en áreas como el razonamiento multimodal, la resolución de problemas matemáticos complejos y la navegación autónoma, que antes estaban fuera del alcance de los enfoques MAS.

Los MAS basados en LLM se basan en dos principios importantes: una arquitectura específica de la tarea para maximizar la eficiencia del LLM, y una metodología para implementar el conocimiento específico del dominio y su aplicación en las inteligencias. Sin embargo, la integración de conocimiento externo en los MAS basados en LLM puede aumentar la complejidad global y provocar problemas de escalabilidad debido a las restricciones de conocimiento y a la limitada adaptabilidad a diferentes dominios. Además, desarrollar e implantar MAS basados en LLM desde cero es muy difícil, especialmente para personas sin conocimientos técnicos.

Nexus, un novedoso marco de trabajo en Python de código abierto, permite a los usuarios diseñar fácilmente arquitecturas MAS utilizando estándares de diseño de bajo código. Nexus es ligero, extensible y agnóstico en cuanto a dominios de aplicación y LLM, lo que permite la automatización inteligente en una gran variedad de tareas y problemas.

 

Mayor comprensión del marco Nexus

El marco Nexus se basa en un diseño modular que integra un único Agente Supervisor Raíz con múltiples Supervisores de Tareas y Agentes Trabajadores. Estos componentes están diseñados de acuerdo con un gráfico de ejecución jerárquica para una delegación de tareas eficiente, escalabilidad y flexibilidad. El Supervisor Raíz se encarga de coordinar la comunicación entre usuarios e inteligencias, y sus principales responsabilidades incluyen la descomposición de tareas, la selección de inteligencias y la agregación de resultados.

La descomposición de tareas consiste en desglosar las indicaciones de alto nivel en subtareas procesables. La selección del organismo inteligente consiste en delegar las tareas en las inteligencias de trabajo más adecuadas en función de su especialización. Por otro lado, la agregación de resultados consiste en recopilar los resultados de las subtareas delegadas y combinarlos en una respuesta final. Las inteligencias de trabajo son solucionadores de problemas especializados a los que el supervisor asigna tareas. Cada cuerpo de inteligencia de trabajo opera en un entorno aislado que consiste en una especialización única definida por sus mensajes de sistema, las herramientas y funciones asociadas y los datos del entorno. Las capacidades de las inteligencias de trabajo incluyen el uso de herramientas especializadas (por ejemplo, búsquedas en Internet) o bases de conocimiento para realizar tareas específicas del dominio, refinar iterativamente los resultados de la transición interactuando con las herramientas o bases de conocimiento, y devolver los resultados al supervisor una vez completada la tarea asignada.

Nexus contiene una memoria global y un conjunto de herramientas externas. La memoria almacena resultados parciales con instrucciones y garantiza que todas las inteligencias conozcan el progreso de la tarea.La memoria del Nexus es un repositorio compartido al que el supervisor tiene acceso global, las inteligencias que trabajan se limitan a su historial de eventos y el supervisor de la tarea tiene acceso a todas las ubicaciones de memoria asociadas a sus inteligencias asignadas. Por otro lado, las herramientas externas permiten a las inteligencias realizar tareas específicas de forma dedicada, como búsquedas web o acceso a recursos externos (cubos de almacenamiento en la nube, etc.).

Nexus:构建可扩展多智能体系统的新一代 Python 框架

Arquitectura Nexus

Nexus introduce un proceso iterativo para la descomposición y ejecución de tareas, dividido en tres bucles de interacción principales:

  1. interacción usuario-supervisorEn este bucle, el usuario proporciona un mensaje de alto nivel al supervisor. El supervisor explica y esboza el plan de ejecución de la tarea y continúa alineando el plan con los objetivos del usuario. Este intercambio es iterativo y continúa hasta que el supervisor está preparado para delegar subtareas a otras inteligencias o finalizar una solución.
  2. Supervisor - Coordinación corporal inteligenteEn este bucle, los supervisores asignan subtareas a las inteligencias laborales en función de su grado de especialización. A continuación, las inteligencias laborales utilizan las herramientas disponibles y generan resultados intermedios.
  3. Funcionamiento interno del cuerpo inteligenteEl último bucle funciona en el entorno interno de cada inteligencia operativa. Las inteligencias de trabajo mejoran los resultados intermedios basándose en el uso iterativo de herramientas y recursos externos. Una vez obtenida una solución, se reenvía al supervisor para su síntesis final.

Estos bucles permiten a Nexus soportar una gran variedad de patrones de interacción entre las inteligencias y sus entornos operativos. Es escalable, modular y robusto, ya que el marco puede incorporar nuevas inteligencias a medida que aumenta la complejidad de las tareas, las inteligencias de trabajo pueden operar de forma independiente y la delegación jerárquica con bucles de retroalimentación iterativos reduce el impacto de los fallos de las inteligencias, ya que las tareas pueden reasignarse o mejorarse fácilmente.

 

Evaluación y análisis del rendimiento de Nexus

La evaluación del rendimiento de Nexus se basa en el índice de aprobados, es decir, la relación entre el número de muestras que superan todas las comprobaciones y el número total de muestras de la prueba de referencia. En las tareas de codificación, la eficacia del marco Nexus se evaluó en función de su eficiencia a la hora de resolver tareas relacionadas con la programación. Para la evaluación se utilizaron las pruebas de referencia HumanEval y VerilogEval-Human.

La referencia HumanEval se basa en una colección de 164 problemas centrados en la generación de código Python, mientras que VerilogEval-Human contiene 156 retos relacionados con la generación y verificación de código Verilog. La siguiente figura ilustra la arquitectura MAS basada en Nexus para resolver tareas relacionadas con el código.

Nexus:构建可扩展多智能体系统的新一代 Python 框架

Arquitectura MAS basada en Nexus para tareas relacionadas con el código

 

La tabla siguiente muestra la eficacia del flujo de trabajo propuesto en función de las tasas de aprobación de los estudios de ablación.

Nexus:构建可扩展多智能体系统的新一代 Python 框架

Resultados - 1

La siguiente tabla compara el rendimiento del flujo de trabajo propuesto basado en Nexus con las soluciones existentes relacionadas.

Nexus:构建可扩展多智能体系统的新一代 Python 框架

Resultados - 2

La eficacia de Nexus en la resolución de problemas matemáticos se demostró con el conjunto de datos MATH. Se utilizó el siguiente flujo de trabajo, en el que se emplearon las inteligencias de supervisor, matemático y revisor. Todas ellas se apoyan en el Claude 3.5v2 LLM proporciona apoyo.

Nexus:构建可扩展多智能体系统的新一代 Python 框架

Arquitectura MAS basada en nexos para problemas matemáticos

Nexus:构建可扩展多智能体系统的新一代 Python 框架

Resultados de los estudios de ablación en el conjunto de datos MATH

 

Nexus Hands-on: Revisión y refactorización del código

A continuación, demostramos cómo construir una arquitectura MAS con Nexus para la revisión y refactorización de código, utilizando un ejemplo del mundo real.

Paso 1: Instale las bibliotecas necesarias

!git clone https://github.com/PrimisAI/nexus.git
%cd nexus
!pip install -e .

Paso 2: Importar la biblioteca y establecer la configuración de LLM

from primisai.nexus.core import Agent, Supervisor
from google.colab import userdata
import os
os.environ["OPENAI_API_KEY"] = userdata.get("OPENAI_API_KEY")
llm_config = {
"api_key": os.getenv("OPENAI_API_KEY"),
"model": "gpt-4o",
"base_url": "https://api.openai.com/v1"
}

Paso 3: Crear tres inteligencias: Supervisor, CodeReviewer y CodeRefactor.

# 创建主管智能体
coordinator = Supervisor("ProgrammingCoordinator", llm_config)
# 创建代码审查智能体,并设置其系统消息
code_reviewer = Agent(
"CodeReviewer",
llm_config,
system_message="你是一位专注于代码分析的编码专家。你的任务是审查代码,识别错误并提出改进建议。"
)
# 创建代码重构智能体,并设置其系统消息
code_refactor = Agent(
"CodeRefactor",
llm_config,
system_message="你是一位专注于代码重构的编码专家。你的目标是提高代码的可读性和效率。"
)

Paso 4: Registrar la Inteligencia con el Coordinador

coordinator.register_agent(code_reviewer)
coordinator.register_agent(code_refactor)

Paso 5: Mostrar la jerarquía de la Intelligentsia

coordinator.display_agent_graph()

Paso 6: Inicie una sesión interactiva y proporcione ejemplos de código Python para su revisión y refactorización.

coordinator.start_interactive_session()

exportaciones

Nexus:构建可扩展多智能体系统的新一代 Python 框架Nexus:构建可扩展多智能体系统的新一代 Python 框架

Como se puede ver en el resultado, Nexus fue capaz de revisar y refactorizar nuestro código Python suministrado basándose en la arquitectura MAS y llegó a una versión más robusta, eficiente y fácil de usar que incluía la documentación adecuada.

 

Resumen y perspectivas

Nexus, un framework ligero de Python, simplifica enormemente el desarrollo y la gestión de sistemas de inteligencia múltiple basados en LLM. Permite una integración perfecta, escalabilidad y flexibilidad mediante un diseño modular a través de un enfoque por capas y definiciones de arquitectura y flujo de trabajo basadas en YAML.Nexus representa un avance significativo en el desarrollo de MAS y promete mejorar aún más las capacidades de resolución de problemas basadas en LLM.

En el futuro, a medida que la tecnología LLM siga evolucionando, se espera que el Nexo desempeñe un papel más importante en los siguientes ámbitos:

  • Procesamiento de tareas más complejasGracias a las capacidades de razonamiento LLM mejoradas, Nexus puede realizar tareas más complejas y exigentes, como la integración de conocimientos entre dominios, la planificación a largo plazo, etc.
  • Mayor variedad de aplicacionesLa flexibilidad y escalabilidad de Nexus permiten utilizarlo en una amplia gama de aplicaciones, como la fabricación inteligente, las ciudades inteligentes, la tecnología financiera, etc.
  • Mayor apoyo comunitarioA medida que Nexus sea de código abierto y se promueva, más desarrolladores participarán en el desarrollo y perfeccionamiento de Nexus, y juntos ampliarán los límites de la tecnología MAS.

En definitiva, Nexus proporciona una plataforma potente y flexible para construir y gestionar sistemas corporales multiinteligentes, y su aparición acelerará el desarrollo del campo de la IA y aportará nuevas ideas y métodos para resolver problemas complejos en el mundo real.

Referencia:https://arxiv.org/pdf/2502.19091

© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...