In den letzten Jahren wurden mit der raschen Entwicklung von Large Language Models (LLMs) die Fähigkeiten von Multi-Agent-Systemen (MAS) erheblich verbessert. Diese Systeme sind nicht nur in der Lage, Aufgaben zu automatisieren, sondern auch menschenähnliche Denkfähigkeiten zu demonstrieren. Allerdings sind die traditionellen MAS Architekturen sind oft mit komplexen Code-Implementierungen verbunden, was ihre Wiederverwendbarkeit stark einschränkt. Um dieses Problem zu lösen, wurde Nexus entwickelt.Nexus ist ein leichtgewichtiges Python-Framework für die Entwicklung skalierbarer, wiederverwendbarer LLM-basierter MAS. Es unterstützt eine mehrschichtige Architektur, überwachte Arbeitsabläufe und ist einfach zu bedienen, auch ohne einen ausgeprägten technischen Hintergrund.
Überblick über Multi-Agenten-Systeme (MAS)
Multi-Agenten-Systeme (MAS) sind die grundlegenden Systeme für verteilte künstliche Intelligenz (KI). Sie ermöglichen die Zerlegung komplexer Aufgaben in handlichere Komponenten, die dann von autonomen Intelligenzen (Agenten) ausgeführt werden. Diese Intelligenzen nutzen historisches Wissen, Interaktionen mit anderen Intelligenzen und Umweltinformationen, um ohne menschliches Zutun Entscheidungen zu treffen. Diese Autonomie unterscheidet MAS von herkömmlichen verteilten Problemlösungssystemen und verbessert ihre Fähigkeit, in dynamischen und unsicheren Umgebungen effektiv zu arbeiten.
In MAS verfügen die Intelligenzen über ein gewisses Maß an Autonomie und arbeiten miteinander zusammen, um ein einheitliches Ganzes zur Lösung von Problemen zu bilden.Die Schlüsselkomponenten der MAS-Architektur sind Intelligenzen, Umgebungen und Interaktionen. Intelligenzen sind Kernakteure mit Rollen, Fähigkeiten und Wissensmodellen. Die Umgebung ist die Außenwelt, in der die Intelligenzen leben, und sie nehmen die Informationen in der Umgebung wahr und handeln danach. Die Kommunikation zwischen den Intelligenzen wird als Interaktion bezeichnet und kann in Form von Koordinierung, Verhandlung oder einer beliebigen Form auf der Grundlage der Systemanforderungen erfolgen.
MAS-Architekturen können verschiedene Formen annehmen, darunter traditionelle, ReAct- und LLM-basierte. Traditionelle MAS-Architekturen bestehen aus Intelligenzen, die durch Beobachtung und Aktion mit der Umwelt interagieren, während ReAct (Reasoning and Acting)-artige Intelligenz-Architekturen erweiterte Denkfähigkeiten einführen. LLM-basierte Architekturen hingegen nutzen LLMs als Intelligenzen für Schlussfolgerungen und Entscheidungsfindung.
MAS Architektur
Zu den wichtigsten Herausforderungen, denen sich MAS-Architekturen stellen müssen, gehören die Koordination zwischen mehreren Intelligenzen, die Aufgabenzuweisung und die Skalierbarkeit großer Systeme. Zur Bewältigung dieser Herausforderungen haben Forscher verschiedene Ansätze vorgeschlagen, wie z. B. die Leader-Follower-Hierarchie (LF), bei der die Leader-Intelligenz globale Ziele festlegt und Aufgaben delegiert, während der Middle-Tier-Intelligenz-Rahmen die Entdeckung von Diensten und die Koordination zwischen den Intelligenzen vereinfacht.
Jüngste Fortschritte auf dem Gebiet der Large Language Modelling (LLM) verbessern die MAS-Architektur und ihre Anwendungsmöglichkeiten, wie z. B. menschenähnliche Schlussfolgerungen. Wenn LLMs in die MAS-Architektur integriert werden, können sie als zentrale logische Intelligenz fungieren und die Anpassungsfähigkeit, Zusammenarbeit und Entscheidungsfindung in dynamischen Umgebungen verbessern. Diese Fortschritte haben auch die Anwendung von MAS in Bereichen wie multimodales Denken, komplexe mathematische Problemlösung und autonome Navigation erleichtert, die früher außerhalb der Reichweite von MAS-Ansätzen lagen.
LLM-basierte MAS beruhen auf zwei wichtigen Grundsätzen: erstens auf einer aufgabenspezifischen Architektur zur Maximierung der Effizienz von LLM und zweitens auf einer Methodik zur Implementierung von domänenspezifischem Wissen und dessen Anwendung in Intelligenzen. Die Integration von externem Wissen für LLM-basierte MAS kann jedoch die Gesamtkomplexität erhöhen und zu Skalierbarkeitsproblemen aufgrund von Wissensbeschränkungen und begrenzter Anpassungsfähigkeit an verschiedene Domänen führen. Darüber hinaus ist es sehr schwierig, LLM-basierte MAS von Grund auf zu entwickeln und einzusetzen, insbesondere für technisch nicht versierte Personen.
Nexus, ein neuartiges, quelloffenes Python-Framework, ermöglicht es Anwendern, auf einfache Weise MAS-Architekturen unter Verwendung von Low-Code-Design-Standards zu entwerfen. Nexus ist leichtgewichtig, erweiterbar und LLM- und Anwendungsdomänen-unabhängig und ermöglicht eine intelligente Automatisierung für eine Vielzahl von Aufgaben und Problemen.
Tieferes Verständnis des Nexus-Rahmens
Der Nexus-Rahmen basiert auf einem modularen Design, das einen einzelnen Root Supervisor Agent mit mehreren Task Supervisors und Worker Agents integriert. Diese Komponenten sind gemäß einem hierarchischen Ausführungsgraphen für eine effiziente Aufgabendelegation, Skalierbarkeit und Flexibilität konzipiert. Der Root Supervisor ist für die Koordinierung der Kommunikation zwischen Nutzern und Intelligenzen zuständig, und zu seinen Hauptaufgaben gehören die Aufgabenzerlegung, die Auswahl der Intelligenz und die Aggregation der Ergebnisse.
Die Aufgabenzerlegung beinhaltet die Zerlegung von übergeordneten Hinweisen in umsetzbare Teilaufgaben. Die Auswahl der intelligenten Stelle bezieht sich auf die Delegierung von Aufgaben an die am besten geeigneten Arbeitsintelligenzen auf der Grundlage ihrer Spezialisierung. Andererseits werden bei der Ergebnisaggregation die Ergebnisse der delegierten Teilaufgaben gesammelt und zu einer endgültigen Antwort kombiniert. Arbeitsintelligenzen sind spezialisierte Problemlöser, denen vom Vorgesetzten Aufgaben zugewiesen werden. Jede Arbeitsintelligenz arbeitet in einer isolierten Umgebung, die aus einer eindeutigen Spezialisierung besteht, die durch ihre Systemmeldungen, die zugehörigen Werkzeuge und Funktionen sowie die Umgebungsdaten definiert ist. Zu den Fähigkeiten der Arbeitsintelligenzen gehört die Verwendung spezialisierter Tools (z. B. Websuchen) oder Wissensdatenbanken zur Durchführung domänenspezifischer Aufgaben, die iterative Verfeinerung von Übergangsergebnissen durch Interaktion mit den Tools oder Wissensdatenbanken und die Rückgabe von Ergebnissen an den Vorgesetzten nach Abschluss der zugewiesenen Aufgabe.
Nexus enthält einen globalen Speicher und eine Reihe von externen Werkzeugen. Der Speicher im Nexus ist ein gemeinsam genutztes Repository, auf das der Supervisor globalen Zugriff hat, die arbeitenden Intelligenzen sind auf ihre Ereignishistorie beschränkt, und der Task Supervisor hat Zugriff auf alle Speicherplätze, die mit den ihm zugewiesenen Intelligenzen verbunden sind. Andererseits ermöglichen externe Tools den Intelligenzen die Durchführung spezifischer Aufgaben, wie z. B. die Suche im Internet oder den Zugriff auf externe Ressourcen (Cloud-Speicher usw.).
Nexus-Architektur
Nexus führt einen iterativen Prozess zur Aufgabenzerlegung und -ausführung ein, der in drei Hauptinteraktionsschleifen unterteilt ist:
- Interaktion zwischen Benutzer und BetreuerIn dieser Schleife gibt der Benutzer dem Betreuer eine Aufforderung auf hohem Niveau. Der Betreuer erläutert und skizziert den Plan für die Aufgabenausführung und stimmt ihn mit den Zielen des Benutzers ab. Dieser Austausch ist iterativ und wird fortgesetzt, bis der Supervisor bereit ist, Teilaufgaben an andere Intelligenzen zu delegieren oder eine Lösung abzuschließen.
- Supervisor - Intelligente KörperkoordinationIn diesem Kreislauf weist der Vorgesetzte den Arbeitsintelligenzen entsprechend ihrem Spezialisierungsgrad Teilaufgaben zu. Die Arbeitsintelligenzen nutzen dann die verfügbaren Werkzeuge und erzeugen Zwischenergebnisse.
- Intelligenter Körper Interner BetriebDie letzte Schleife funktioniert innerhalb des internen Umfelds jeder Arbeitsintelligenz. Die Arbeitsintelligenzen verbessern die Zwischenergebnisse durch den iterativen Einsatz von externen Werkzeugen und Ressourcen. Sobald eine Lösung erreicht ist, wird sie zur endgültigen Synthese an den Supervisor zurückgesandt.
Diese Schleifen ermöglichen es Nexus, eine Vielzahl von Interaktionsmustern zwischen Intelligenzen und ihren Betriebsumgebungen zu unterstützen. Nexus ist skalierbar, modular und robust. Der Rahmen kann neue Intelligenzen einbeziehen, wenn die Komplexität der Aufgaben zunimmt, Arbeitsintelligenzen können unabhängig voneinander arbeiten, und hierarchische Delegation mit iterativen Rückkopplungsschleifen reduziert die Auswirkungen von Intelligenzausfällen, da Aufgaben leicht neu zugewiesen oder verbessert werden können.
Bewertung und Analyse der Nexus-Leistung
Die Leistungsbewertung von Nexus basiert auf der Bestehensrate, d.h. dem Verhältnis zwischen der Anzahl der Proben, die alle Prüfungen bestehen, und der Gesamtzahl der Proben im Benchmark-Test. Bei Codierungsaufgaben wurde die Effektivität des Nexus-Frameworks anhand seiner Effizienz bei der Lösung von programmierbezogenen Aufgaben bewertet. Für die Bewertung wurden die Benchmarks HumanEval und VerilogEval-Human verwendet.
Der HumanEval-Benchmark basiert auf einer Sammlung von 164 Aufgaben, die sich auf die Generierung von Python-Code konzentrieren, während VerilogEval-Human 156 Aufgaben zur Generierung und Verifikation von Verilog-Code enthält. Die folgende Abbildung zeigt die Nexus-basierte MAS-Architektur für die Lösung von codebezogenen Aufgaben.
Nexus-basierte MAS-Architektur für codebezogene Aufgaben
Die nachstehende Tabelle zeigt die Wirksamkeit des vorgeschlagenen Arbeitsablaufs auf der Grundlage der Erfolgsquoten der Ablationsstudien.
Ergebnisse - 1
In der folgenden Tabelle wird die Leistung des vorgeschlagenen Nexus-basierten Arbeitsablaufs mit ähnlichen bestehenden Lösungen verglichen.
Ergebnisse - 2
Die Effektivität von Nexus bei der Lösung von mathematischen Problemen wurde mit dem MATH-Datensatz demonstriert. Es wurde der folgende Arbeitsablauf verwendet, bei dem die Intelligenzen des Betreuers, des Mathematikers und des Prüfers eingesetzt wurden. Sie alle werden unterstützt durch den Claude 3.5v2 LLM bietet Unterstützung.
Nexus-basierte MAS-Architektur für mathematische Probleme
Ergebnisse von Ablationsstudien mit dem MATH-Datensatz
Nexus Hands-on: Code-Review und Refactoring
Als nächstes demonstrieren wir anhand eines realen Beispiels, wie eine MAS-Architektur mit Nexus für Code-Review und Refactoring aufgebaut werden kann.
Schritt 1: Installation der erforderlichen Bibliotheken
!git clone https://github.com/PrimisAI/nexus.git
%cd nexus
!pip install -e .
Schritt 2: Bibliothek importieren und LLM-Konfiguration einrichten
from primisai.nexus.core import Agent, Supervisor
from google.colab importieren Benutzerdaten
importieren 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"
}
Schritt 3: Erstellen Sie drei Intelligenzen: Supervisor, CodeReviewer und CodeRefactor.
# Erstellen einer Supervisor Intelligence
Koordinator = Supervisor("ProgrammierKoordinator", llm_config)
# Erstellen der Intelligenz "Code Reviewer" und Festlegen ihrer Systemmeldungen
code_reviewer = Agent(
"CodePrüfer",
llm_config.
system_message="Sie sind ein Kodierungsexperte, der sich auf die Codeanalyse konzentriert. Ihre Aufgabe ist es, Code zu überprüfen, Fehler zu identifizieren und Verbesserungen vorzuschlagen."
)
# Erstellen Sie die Code-Refactor-Intelligenz und legen Sie ihre Systemnachricht fest
code_refactor = Agent(
"CodeRefactor",
llm_config.
system_message="Sie sind ein Kodierungsexperte, der sich auf Code-Refactoring spezialisiert hat. Ihr Ziel ist es, die Lesbarkeit und Effizienz Ihres Codes zu verbessern."
)
Schritt 4: Registrierung der Nachrichtendienste beim Koordinator
coordinator.register_agent(code_reviewer)
coordinator.register_agent(code_refactor)
Schritt 5: Anzeige der Hierarchie der Intelligenz
koordinator.display_agent_graph()
Schritt 6: Starten Sie eine interaktive Sitzung und stellen Sie Python-Beispielcode zur Überprüfung und Überarbeitung bereit.
coordinator.start_interactive_session()
Ausfuhren
Wie Sie aus dem Ergebnis ersehen können, war Nexus in der Lage, den von uns gelieferten Python-Code auf der Grundlage der MAS-Architektur zu überprüfen und zu überarbeiten und eine robustere, effizientere und benutzerfreundlichere Version zu erstellen, die eine angemessene Dokumentation enthält.
Zusammenfassung und Ausblick
Nexus, ein leichtgewichtiges Python-Framework, vereinfacht die Entwicklung und Verwaltung von LLM-basierten Multi-Intelligenz-Systemen erheblich. Es ermöglicht eine nahtlose Integration, Skalierbarkeit und Flexibilität durch modularen Aufbau mittels eines mehrschichtigen Ansatzes und YAML-basierter Architektur- und Workflow-Definitionen.Nexus stellt einen bedeutenden Fortschritt in der MAS-Entwicklung dar und verspricht, LLM-basierte Problemlösungsfähigkeiten weiter zu verbessern.
Mit der Weiterentwicklung der LLM-Technologie wird der Nexus in Zukunft voraussichtlich eine größere Rolle in den folgenden Bereichen spielen:
- Komplexere AufgabenbearbeitungMit den erweiterten LLM-Fähigkeiten kann Nexus komplexere und anspruchsvollere Aufgaben bewältigen, wie z.B. die Integration von bereichsübergreifendem Wissen, langfristige Planung usw.
- Breiteres Spektrum an AnwendungsszenarienDie Flexibilität und Skalierbarkeit von Nexus ermöglicht den Einsatz in einem breiteren Spektrum von Anwendungen, z. B. in der intelligenten Fertigung, in intelligenten Städten, in der Finanztechnologie und anderen Bereichen.
- Stärkere Unterstützung durch die GemeinschaftDa Nexus als Open Source verfügbar ist und gefördert wird, werden mehr Entwickler in die Entwicklung und Verbesserung von Nexus einbezogen, und gemeinsam werden sie die Grenzen der MAS-Technologie erweitern.
Alles in allem bietet Nexus eine leistungsstarke und flexible Plattform für den Aufbau und die Verwaltung von multi-intelligenten Körpersystemen, und sein Aufkommen wird die Entwicklung des KI-Bereichs beschleunigen und neue Ideen und Methoden für die Lösung komplexer Probleme in der realen Welt liefern.
Referenz:https://arxiv.org/pdf/2502.19091