Was macht harness-style-multi-agent-framework?
Selbst implementiertes Multi-Agenten-System mit Harness-Architektur, basierend auf LangGraph und einem selbst entwickelten MCP-Protokoll, mit platzierbaren Fähigkeiten, Resilienz-Governance, RAG und Konversationsspeicher.
Übersicht
Dieses Framework implementiert eine Multi-Agenten-Architektur nach dem Harness-Ansatz, bei dem ein zentraler Koordinator (Harness) mehrere spezialisierte Agenten verwaltet. Die Agenten kommunizieren über ein selbst entwickeltes MCP-Protokoll, das eine flexible und erweiterbare Schnittstelle bietet.
Hauptmerkmale
- Harness-Architektur: Ein zentraler Koordinator delegiert Aufgaben an spezialisierte Agenten.
- LangGraph-Integration: Verwendet gerichtete Graphen zur Modellierung von Agenten-Workflows und -Interaktionen.
- Eigenes MCP-Protokoll: Einfaches und effizientes Protokoll für die Agentenkommunikation.
- Platzierbare Fähigkeiten: Fügen oder entfernen Sie Skills dynamisch zur Laufzeit.
- Resilienz-Governance: Automatische Wiederherstellung und Fehlerbehandlung bei Agentenausfällen.
- RAG (Retrieval-Augmented Generation): Kontextbewusste Antworten durch Abruf von relevanten Informationen.
- Konversationsspeicher: Langfristige Speicherung und Abruf von Dialoghistorie.
Verwendete Technologien
- LangGraph: Zur Erstellung von Workflows und Agentenkoordination.
- Python: Hauptsprache für die Implementierung.
- MCP-Protokoll: Selbst definiertes Kommunikationsprotokoll.
- Vector-Datenbanken: Für RAG (z.B. FAISS oder Chroma).
- LLM-Integration: Unterstützt verschiedene Large Language Models.
Installation
pip install langgraph langchain-core
# Abhängigkeiten für MCP-Protokoll und RAG
pip install chromadb faiss-cpu
Schnellstart
- Klonen Sie das Repository.
- Installieren Sie die Abhängigkeiten.
- Starten Sie den Harness-Koordinator.
- Fügen Sie spezialisierte Agenten hinzu.
- Starten Sie Aufgaben.
from harness import Harness
from agents import BasicAgent
# Harness initialisieren
harness = Harness()
# Agenten hinzufügen
agent1 = BasicAgent("coder", skills=["python", "javascript"])
agent2 = BasicAgent("researcher", skills=["web_search", "rag"])
harness.register_agent(agent1)
harness.register_agent(agent2)
# Aufgabe ausführen
result = harness.run_task("Erstelle eine Python-Funktion zur Berechnung der Fibonacci-Zahlen")
print(result)
Konfiguration
Umgebungsvariablen:
HARNESS_LOG_LEVEL: Steuert die Protokollebene (Standard:INFO).HARNESS_MAX_RETRIES: Maximale Anzahl von Wiederholungen bei Agentenfehlern (Standard:3).RAG_EMBEDDING_MODEL: Modell für Embeddings in RAG (Standard:BAAI/bge-small-en-v1.5).MCP_PORT: Port für das MCP-Protokoll (Standard:8765).
Architektur
Das System besteht aus:
- Harness: Zentraler Koordinator, der Aufgaben plant, Agenten registriert und die Ausführung überwacht.
- Agenten: Spezialisierte Einheiten, die bestimmte Fähigkeiten oder Domänen abdecken.
- MCP-Protokoll: Socket-basiertes Protokoll für Nachrichtenaustausch zwischen Agenten und Harness.
- Resilienz-Schicht: Überwacht Agenten und startet sie bei Bedarf neu.
- RAG-Modul: Ermöglicht kontextgesteuerte Informationsabrufe.
- Speicher: Persistentes Modul für Konversationshistorie.
Beispiele
Beispiel 1: Multi-Agenten-Zusammenarbeit
from harness import Harness
harness = Harness()
harness.add_skill("code_review")
harness.add_skill("logging")
result = await harness.run_async("Überprüfe Code und protokolliere Fehler")
Beispiel 2: RAG-Integration
from rag import RAGModule
rag = RAGModule(data_source="Dokumente/")
harness.set_rag(rag)
# Agenten können jetzt kontextbasierte Abfragen durchführen
Beitrag leisten
Beiträge sind willkommen! Bitte öffnen Sie Issues oder Pull-Requests auf GitHub.