Die Schwarmarchitektur vereint spezialisierte KI-Agenten, die zusammenarbeiten, um komplexe Datenprobleme zu lösen. Inspiriert von natürlichen Schwärmen, kombiniert es einen Datenanalysten-Agenten für die Verarbeitung mit einem Visualisierungsagenten für die Diagrammerstellung, um klarere und effizientere Erkenntnisse zu liefern.

Dieses kollaborative Design spiegelt Teamarbeit wider, bei der sich jeder Agent auf seine Stärken konzentriert, um die Ergebnisse zu verbessern. In diesem Artikel untersuchen wir die Schwarmgrundlagen und gehen Schritt für Schritt durch den Entwurf und Aufbau eines praktischen Analyseagentensystems.

Was sind Schwarmagenten?

Schwarmagenten fungieren als selbstoperierende KI-Einheiten, die dedizierte Aufgaben erfüllen und dabei nach definierten Verfahren zusammenarbeiten, anstatt ein zentrales Befehlssystem zu verwenden. Das System nutzt diese Methodik, um die Schwarmintelligenz zu reproduzieren, die in natürlichen Umgebungen wie Ameisenkolonien und Vogelschwärmen vorhanden ist.

Schwarmagenten nutzen ihre unvollständige Informationsbasis für den Betrieb ihres Programs, weshalb sie mit anderen kommunizieren müssen, um bessere Ergebnisse zu erzielen. Durch den Entwurfsprozess entsteht ein effizientes System, das Inhalts- und Systemfehler verarbeitet und gleichzeitig qualitativ hochwertige Ergebnisse bei Datenanalyse- und Visualisierungsaufgaben liefert.

Grundprinzipien von Schwarmagenten

Schwarmsysteme basieren auf einigen Grundprinzipien, die eine Koordination ohne zentralisierte Intelligenz ermöglichen. Das Verständnis dieser Prinzipien hilft Ihnen beim Entwerfen robuster Agentenarchitekturen.

  • Dezentrale Entscheidungsfindung
    Agenten agieren unabhängig und ohne eine einzige Kontrollbehörde. Sie tauschen Informationen aus und koordinieren durch Kommunikation, was eine versatile Aufgabenverteilung und eine schnellere Entscheidungsfindung ermöglicht.
  • Auf Rollen spezialisierte Agenten
    Jeder Agent konzentriert sich auf eine bestimmte Aufgabe, beispielsweise Datenanalyse oder Visualisierung. Eine klare Rollentrennung steigert die Effizienz und sorgt für qualitativ hochwertige Ergebnisse.
  • Kommunikations- und Koordinationsmuster
    Agenten koordinieren sich durch strukturierte Kommunikationsmuster wie sequentielle oder parallele Arbeitsabläufe. Gemeinsamer Kontext oder gemeinsame Nachrichten sorgen dafür, dass die Aufgaben aufeinander abgestimmt sind.
  • Fehlertoleranz und Skalierbarkeit
    Die Arbeitslasten werden auf die Agenten verteilt, sodass das System problemlos skaliert werden kann. Fällt ein Agent aus, arbeiten andere ohne Unterbrechung weiter.

Entwerfen eines Datenanalysten- und Datenvisualisierungsschwarms

Vor dem Codieren entwerfen wir das System auf hohem Niveau. Der Schwarm umfasst mindestens zwei Rollen: einen Datenanalysten-Agenten und einen Datenvisualisierungsagenten. Der Koordinator leitet Anfragen an Spezialisten weiter und sammelt deren Ergebnisse. Nachfolgend finden Sie eine Übersicht über die Architektur und den Datenfluss.

Excessive-Stage-Systemarchitektur

Wir implementieren unser System über ein Orchestrator-Employee-Framework. Die Benutzeranfrage erreicht zunächst den Lead Agent. Der Agent unterteilt die Aufgabe in Teile, die er spezialisierten Agenten zuweist.

Das Design ähnelt einer Teambildung, da der Koordinator als Teamleiter fungiert und Aufgaben an Spezialisten delegiert. Jeder Agent hat Zugriff auf den gemeinsamen Kontext (z. B. die Anfrage, frühere Ergebnisse usw.), was es ihm ermöglicht, ein umfassendes Verständnis der State of affairs zu bewahren, während er an der Reihe ist, das Drawback zu lösen. Die Systemarchitektur sieht wie folgt aus:

  • Datenanalyst-Agent: Ruft Rohdaten entsprechend der Abfrage ab und analysiert sie.
  • Datenvisualisierungsagent: Empfängt Analyseergebnisse und generiert Diagramme.

Dieser modulare Aufbau kann bei Bedarf um weitere Agenten erweitert werden:

Rollen und Verantwortlichkeiten der Agenten

Datenanalyst-Agent

Der Information Analyst Agent verwaltet die Finish-to-Finish-Datenverarbeitung, einschließlich der Bereinigung von Datensätzen, dem Abrufen von Daten aus Quellen wie CSV-Dateien oder Datenbanken und der Durchführung statistischer Analysen. Es nutzt Python Bibliotheken und Datenbanktools zur Berechnung von Metriken und zur Bereitstellung klarer numerischer Erkenntnisse.

Seine Systemaufforderung weist ihn an, als Datenanalyseexperte zu agieren und Fragen durch strukturierte Berechnungen zu beantworten. Mithilfe von Instruments wie Statistik- und Regressionsfunktionen extrahiert es relevante Muster und fasst die Ergebnisse für nachgelagerte Agenten zusammen.

Flussdiagramm

Datenvisualisierungsagent

Der Information Visualization Agent wandelt Analyseergebnisse in übersichtliche visuelle Diagramme wie Balken-, Linien- oder Kreisdiagramme um. Es wählt geeignete Diagrammtypen aus, um Muster und Vergleiche in den Daten hervorzuheben.

Geleitet von einer Eingabeaufforderung, die ihn als Visualisierungsexperten darstellt, verwendet der Agent Plottools, um Diagramme aus eingehenden Ergebnissen zu erstellen. Es gibt visuelle Elemente als eingebettete Diagramme oder Bildlinks aus, die die Anfrage des Benutzers direkt unterstützen.

Orchestrator/Koordinator-Agent

Der Orchestrator-Agent fungiert als erster Zugriffspunkt für Benutzer. Das System verarbeitet Benutzeranfragen, um auszuwählen, welche spezifischen Agenten bei der Aufgabe unterstützen. Anschließend verwendet es seine Übergabefunktion, um seine Arbeitsaufgaben zu verteilen. Es analysiert zunächst die Benutzerabfrage durch Parsen, bevor es bestimmt, welche Datenanalyse- und Visualisierungsaufgaben die Ausführung durch den Information Analyst Agent erfordern.

Datenfluss zwischen Agenten

  • Benutzeranfrage an den Koordinator: Der Benutzer stellt eine Anfrage (z. B. „Wie hoch ist der durchschnittliche Umsatz professional Area und zeigen Sie ihn an„). Der Koordinatoragent nimmt dies als Eingabe.
  • Koordinator des Datenanalysten: Der Koordinator verwendet ein Übergabetool, um den Information Analyst Agent aufzurufen und übergibt die Abfrage und den erforderlichen Kontext (z. B. eine Datensatzreferenz).
  • Datenanalyst verarbeitet Daten: Der Information Analyst Agent lädt die relevanten Daten oder fragt sie ab, führt Berechnungen durch (z. B. Gruppierung nach Area, Berechnung von Durchschnittswerten) und gibt Ergebnisse zurück (z. B. eine Tabelle mit Durchschnittswerten).
  • Koordinator des Visualisierungsagenten: Der Koordinator ruft nun den Information Visualization Agent auf und versorgt ihn mit den Analyseergebnissen.

Beispiel: Der Datenanalyst schließt seine Arbeit ab, indem er Ergebnisse liefert, die dann dem gemeinsamen Kontext hinzugefügt werden. Der Visualisierungsagent verwendet diese abgeschlossene Arbeit, um zu bestimmen, welche Daten er anzeigen soll. Das System verwendet dieses Übergabemuster, da es den Agenten ermöglicht, ihre spezifischen Aufgaben auf organisierte Weise abzuarbeiten. Das gemeinsam genutzte Kontextobjekt fungiert im Code als gemeinsamer Zustand, den Agenten zum Übertragen von Informationen während ihrer Funktionsaufrufe verwenden.

Implementierung des Swarm Agent Programs

Das Workforce muss seine Implementierungsarbeit mit LangGraph Swarm auf der Grundlage der im bereitgestellten Notizbuch enthaltenen Particulars durchführen.

Das System arbeitet mit zwei Agenten, darunter einem Textual content-to-SQL-Datenanalyseagenten und einem EDA-Visualisierungsagenten, die eine echte Bankendatenbank analysieren. Der Schwarm ermöglicht den Agenten die Zusammenarbeit mithilfe strukturierter Übergabemethoden, die den Bedarf an vorgefertigten Betriebssystemen überflüssig machen.

Umgebungseinrichtung und Abhängigkeiten

Wir beginnen den Prozess mit der Set up aller notwendigen Abhängigkeiten für unser Projekt. Das Projekt erfordert LangChain- und LangGraph Swarm- und OpenAI-Modelle zusammen mit Commonplace-Information-Science-Bibliotheken.

pip set up langchain==1.2.4  
           langgraph==1.0.6  
           langgraph-swarm  
           langchain-openai==1.1.4  
           langchain-community==0.4.1  
           langchain-experimental==0.4.0

Wir installieren auch SQLite, da das System eine lokale Bankdatenbank abfragt.

apt-get set up sqlite3 -y 

Nach der Set up importieren wir die erforderlichen Module für Agenten-Orchestrierung, SQL-Abfragen und Visualisierung.

from langchain_openai import ChatOpenAI 
from langgraph_swarm import create_swarm, create_handoff_tool, SwarmState 
from langgraph.checkpoint.reminiscence import MemorySaver 
from langchain_community.utilities import SQLDatabase 
from langchain_community.agent_toolkits import SQLDatabaseToolkit 
from langchain_experimental.utilities import PythonREPL

In dieser Part initialisieren wir auch die LLM- und Datenbankverbindung.

llm = ChatOpenAI(mannequin="gpt-4.1-mini", temperature=0) 
db = SQLDatabase.from_uri("sqlite:///banking_insights.db") 
sql_toolkit = SQLDatabaseToolkit(db=db, llm=llm) 
sql_tools = sql_toolkit.get_tools()

Dadurch erhalten unsere Agenten strukturierten Zugriff auf die Datenbank, ohne Roh-SQL manuell schreiben zu müssen.

Definieren von Agent-Systemaufforderungen

Das LangGraph Swarm-System verwendet Eingabeaufforderungen, um Agentenaktionen im gesamten Betriebsrahmen zu diktieren. Jeder Agent hat eine ganz klare Verantwortung.

Eingabeaufforderung des Datenanalysten-Agenten

Der Information Analyst-Agent wandelt gesprochene Fragen in SQL-Abfragen um, mit denen er Ergebniszusammenfassungen generiert.

DATA_ANALYST_PROMPT = """ 

You're a Information Analyst specialised in SQL queries for retail banking analytics. 

Your main duties: 
- Convert consumer questions into appropriate SQL queries 
- Retrieve correct information from the database 
- Present concise, factual summaries 
- Hand off outcomes to the EDA Visualizer when visualization is required 
"""

Dieser Agent zeichnet niemals Diagramme. Seine Aufgabe ist rein analytischer Natur.

EDA Visualizer Agent-Eingabeaufforderung

Der EDA Visualizer-Agent wandelt Abfrageergebnisse mithilfe von Python in Diagramme um.

EDA_VISUALIZER_PROMPT = """ 

You might be an EDA Visualizer — an professional in information evaluation and visualization. 

Your duties: 
- Create clear and business-ready charts 
- Use Python for plotting 
- Return visible insights that help decision-making 
"""

Diese Trennung stellt sicher, dass jeder Agent konzentriert und vorhersehbar bleibt.

Erstellen von Übergabetools zwischen Agenten

Schwarmagenten kommunizieren über Übergabewerkzeuge statt direkter Anrufe. Dies ist eine der wesentlichen Stärken von LangGraph Schwarm.

handoff_to_eda = create_handoff_tool(
    agent_name="eda_visualizer",
    description="Switch to the EDA Visualizer for charts and visible evaluation",
)

handoff_to_analyst = create_handoff_tool(
    agent_name="data_analyst",
    description="Switch again to the Information Analyst for added SQL evaluation",
)

Mit diesen Instruments können Agenten entscheiden Wann Ein anderer Agent sollte übernehmen.

Erstellen der Agenten

Jetzt erstellen wir die eigentlichen Agenten mit create_agent.

data_analyst_agent = create_agent( 
   llm, 
   instruments=sql_tools + (handoff_to_eda), 
   system_prompt=DATA_ANALYST_PROMPT, 
   identify="data_analyst" 
)

Der Information Analyst-Agent erhält:

  • SQL Werkzeuge
  • Ein Übergabetool an den Visualizer
eda_visualizer_agent = create_agent( 
   llm, 
   instruments=(python_repl_tool, handoff_to_analyst), 
   system_prompt=EDA_VISUALIZER_PROMPT, 
   identify="eda_visualizer" 
)

Der Visualizer-Agent erhält:

  • Eine Python-REPL zum Plotten
  • Ein Übergabetool zurück an den Analysten

Diese bidirektionale Übergabe ermöglicht iteratives Denken.

Erstellen des Schwarmdiagramms

Wenn die Agenten bereit sind, fügen wir sie nun zu einem zusammen LangGraph Schwarm.

workflow = create_swarm( 
   brokers=(data_analyst_agent, eda_visualizer_agent), 
   default_active_agent="data_analyst", 
   state_schema=SwarmState 
)

Der Information Analyst-Agent ist als Standardeinstiegspunkt festgelegt. Dies ist sinnvoll, da jede Anfrage mit dem Datenverständnis beginnt. Wir aktivieren auch den Speicher, damit der Schwarm den Konversationskontext behalten kann.

checkpointer = MemorySaver() 
swarm_graph = workflow.compile(checkpointer=checkpointer)

Ausführungsfunktion

Die folgende Funktion fungiert als öffentliche Schnittstelle zum Schwarm.

def run_banking_analysis(question: str, thread_id: str = "default", verbose: bool = True):
    return swarm_graph.invoke(
        {"messages": (("consumer", question))},
        config={"configurable": {"thread_id": thread_id}},
    )

Den Schwarm ausführen: Finish-to-Finish-Beispiel

Lassen Sie uns nun ein reales Beispiel durchgehen, um zu verstehen, wie sich der Schwarm verhält.

result4 = run_banking_analysis( 
   "Begin with prospects grouped by state, then drill down into branches    inside that state, and at last into consideration varieties underneath every department —    exhibiting the variety of accounts at every stage", 
   thread_id="test4", 
   verbose=True 
)

Antwort:

======================================================================
SWARM ANALYSIS: 'Begin with prospects grouped by state, then drill down into branches inside that state, and at last into consideration varieties underneath every department — exhibiting the variety of accounts at every stage'
======================================================================

USER: Begin with prospects grouped by state, then drill down into branches inside that state, and at last into consideration varieties underneath every department — exhibiting the variety of accounts at every stage

Balkendiagramm
EDA VISUALIZER: I've created a grouped bar chart exhibiting the variety of accounts by buyer state, department, and account kind. Every group of bars represents a department, with bars coloured and labeled by the mix of state and account kind.  

Insights:  
- The Dubai Marina department has the next variety of checking accounts within the DL state in comparison with financial savings accounts.  
- Paris Champs-Élysées reveals a balanced distribution of checking and financial savings accounts throughout states, with MH state having the best financial savings accounts there.  
- Sydney Harbour department has a notable variety of checking accounts in DL and KA states, whereas financial savings accounts are extra distinguished in MH and DL states.  

This visualization helps determine which branches and states have extra accounts by kind, enabling focused advertising and marketing or useful resource allocation for account administration.  

If you'd like, I can even put together a hierarchical treemap or sunburst chart to higher visualize the drill-down construction from state to department to account kind. Would you want me to try this? ======================================================================  

EXECUTION COMPLETE (3 steps) ======================================================================

Mehr lesen: Erstellen Sie einen Verdienstberichtsagenten mithilfe der Swarm-Architektur

Abschluss

Die Kombination spezialisierter Agenten ermöglicht es uns, intelligente Pipelines durch schwarmbasierte Multiagentensysteme zu erstellen. In diesem Leitfaden wird gezeigt, wie Sie ein Schwarmsystem erstellen, das einen Information Analyst Agent und einen Information Visualization Agent umfasst, die von einem Orchestrator gesteuert werden. Schwarmagenten bieten Unternehmen zwei Vorteile: Sie ermöglichen es Groups, Entscheidungen ohne zentrale Kontrolle zu treffen, und sie ermöglichen den Teammitgliedern, unterschiedliche Verantwortlichkeiten zu übernehmen, wodurch sie komplexe Projekte effizienter und zuverlässiger abschließen können.

Die definierten Agentenrollen und Kommunikationsmuster liegen als codierte Elemente vor, die wir implementiert haben, um ein System zu entwickeln, das eine Benutzeranfrage entgegennimmt und sowohl eine Analyse als auch eine visuelle Ausgabe erstellt.

Häufig gestellte Fragen

Q1. Was ist eine Schwarmarchitektur in der KI?

A. Es handelt sich um ein System, in dem spezialisierte KI-Agenten zusammenarbeiten und jeweils Aufgaben wie Analyse oder Visualisierung übernehmen, um komplexe Datenprobleme effizient zu lösen.

Q2. Welche Rollen spielen die Agenten in diesem Schwarmsystem?

A. Der Datenanalyst verarbeitet und analysiert Daten, während der Visualisierungsagent Diagramme erstellt, koordiniert von einem Orchestrator, der den Aufgabenfluss verwaltet.

Q3. Warum Schwarmagenten anstelle eines einzelnen KI-Agenten verwenden?

A. Schwarmagenten verbessern die Skalierbarkeit, Fehlertoleranz und Aufgabenspezialisierung, sodass komplexe Arbeitsabläufe schneller und zuverlässiger ausgeführt werden können.

Hallo! Ich bin Vipin, ein leidenschaftlicher Fanatic für Datenwissenschaft und maschinelles Lernen mit fundierten Kenntnissen in Datenanalyse, Algorithmen für maschinelles Lernen und Programmierung. Ich verfüge über praktische Erfahrung in der Modellerstellung, der Verwaltung unübersichtlicher Daten und der Lösung realer Probleme. Mein Ziel ist es, datengesteuerte Erkenntnisse anzuwenden, um praktische Lösungen zu schaffen, die zu Ergebnissen führen. Ich bin bestrebt, meine Fähigkeiten in einer kollaborativen Umgebung einzubringen und gleichzeitig weiterhin in den Bereichen Information Science, maschinelles Lernen und NLP zu lernen und mich weiterzuentwickeln.

Melden Sie sich an, um weiterzulesen und von Experten kuratierte Inhalte zu genießen.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert