OpenAgents Framework Vollständiger Leitfaden: Leichte Multi-Agenten-Systeme in der Praxis
Was ist OpenAgents?
OpenAgents ist ein Open-Source-KI-Agenten-Framework, das Anfang 2026 erschienen ist und für den Aufbau leichter Multi-Agenten-Kollaborationssysteme entwickelt wurde. Im Gegensatz zu LangGraphs komplexen Zustandsgraphen und CrewAIs Rollenspiel-Paradigma setzt OpenAgents auf eine nachrichtengetriebene Architektur, die die Kommunikation zwischen Agenten intuitiver und flexibler macht.
Hauptmerkmale
- 🚀 Leichtes Design: Kernbibliothek nur 5MB groß, 40% schnellerer Start als vergleichbare Frameworks
- 💬 Nachrichtengetrieben: Strukturierte nachrichtenbasierte Agentenkommunikation mit asynchroner Gesprächsunterstützung
- 🔌 Plugin-System: Eingebaute Tool-Bibliothek + Custom Tools mit Hot-Swapping
- 📊 Beobachtbarkeit: Eingebautes Tracing und Logging, keine zusätzliche Konfiguration nötig
- 🌐 Multi-Modell-Support: Kompatibel mit OpenAI, Anthropic, Ollama und lokalen Modellen
Warum OpenAgents wählen?
| Merkmal | OpenAgents | LangGraph | CrewAI | AutoGen |
|---|---|---|---|---|
| Lernkurve | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ |
| Laufzeit-Overhead | Niedrig | Mittel | Mittel | Hoch |
| Multi-Agenten-Kollaboration | Native Unterstützung | Manuelles Orchestrieren | Feste Rollen | Flexibel aber komplex |
| Beobachtbarkeit | Eingebaut | Erfordert LangSmith | Begrenzt | Erfordert Konfiguration |
| Community-Ökosystem | Schnell wachsend | Ausgereift | Ausgereift | Ausgereift |
Schnellstart
Installation
# Basisinstallation
pip install openagents
# Vollständiger Funktionsumfang (inkl. Vector Stores und erweiterte Tools)
pip install openagents[full]
# Installation überprüfen
python -c "import openagents; print(openagents.__version__)"
Erster Agent
Erstellen Sie einen einfachen Q&A-Agenten:
from openagents import Agent, Runner
# Agent definieren
researcher = Agent(
name="Recherche-Assistent",
description="Verantwortlich für Suche und Organisation von Informationen",
instructions="Sie sind ein professioneller Recherche-Assistent, der auf das Finden und Zusammenfassen technischer Dokumentationen spezialisiert ist.",
tools=["web_search", "file_reader"],
model="gpt-4o"
)
# Einzelaufgabe ausführen
result = Runner.run(
agent=researcher,
input="Bitte fassen Sie die Kernfunktionen des OpenAgents-Frameworks zusammen"
)
print(result.output)
Multi-Agenten-Kollaboration
Die Kernstärke von OpenAgents liegt in der Multi-Agenten-Kollaboration. Hier ist ein Content-Erstellungs-Workflow:
from openagents import Agent, Runner, Handoff
# Spezialisierte Agenten definieren
planner = Agent(
name="Planer",
instructions="Anforderungen analysieren, Content-Gliederungen und Schreibpläne erstellen",
handoffs=["writer", "reviewer"]
)
writer = Agent(
name="Autor",
instructions="Hochwertige Inhalte basierend auf der Gliederung verfassen",
handoffs=["reviewer"]
)
reviewer = Agent(
name="Gutachter",
instructions="Inhaltsqualität prüfen, Änderungsvorschläge machen",
handoffs=["writer"] # Kann zur Überarbeitung zurückgesendet werden
)
# Workflow erstellen
workflow = Runner(
agents=[planner, writer, reviewer],
entry_point="planner"
)
# Aufgabe ausführen
result = workflow.run(
input="Schreibe einen technischen Blogbeitrag über KI-Agenten-Frameworks"
)
print(f"Ausgabe: {result.output}")
print(f"Anzahl Iterationen: {result.metadata['turns']}")
Erweiterte Funktionen
Tool-Definition
OpenAgents unterstützt flexible Tool-Definitionen:
from openagents import tool
@tool
def calculate_readability(text: str) -> dict:
"""Lesbarkeits-Score des Textes berechnen"""
words = len(text.split())
sentences = text.count('.') + text.count('!') + text.count('?')
if sentences == 0:
return {"score": 0, "level": "N/A"}
avg_sentence_length = words / sentences
# Vereinfachte Flesch-Lesbarkeitsformel
score = 206.835 - 1.015 * avg_sentence_length
return {
"score": round(score, 2),
"level": "Einfach" if score > 70 else "Mittel" if score > 50 else "Schwierig"
}
# In einem Agenten verwenden
editor = Agent(
name="Redakteur",
instructions="Textqualität und Lesbarkeit optimieren",
tools=[calculate_readability]
)
Zustandsverwaltung
from openagents import Agent, Runner, State
# Gemeinsamen Zustand definieren
class ArticleState(State):
topic: str
outline: list = []
draft: str = ""
revisions: int = 0
feedback: list = []
# Agenten können Zustand lesen und schreiben
writer = Agent(
name="Autor",
state_schema=ArticleState,
instructions="""
1. Aktuellen state.topic und state.outline lesen
2. Entwurf verfassen und state.draft aktualisieren
3. Bei Feedback state.revisions erhöhen
"""
)
Streaming-Ausgabe
from openagents import Agent, Runner
agent = Agent(name="Assistent", instructions="Erkläre komplexe Konzepte Schritt für Schritt")
# Antwort streamen
for chunk in Runner.run_stream(
agent=agent,
input="Erkläre die Grundprinzipien des Quantencomputings"
):
print(chunk.delta, end="", flush=True)
Praxisbeispiel: Automatischer technischer Blog-Generator
Hier ist ein vollständiges Multi-Agenten-Content-Generierungssystem:
from openagents import Agent, Runner, tool
from typing import List
# Tool: Trending-Themen abrufen
@tool
def get_trending_topics(category: str) -> List[str]:
"""Beliebte Themen für eine gegebene Kategorie abrufen"""
# Tatsächliche Implementierung könnte RSS, GitHub Trends etc. anbinden
return ["KI-Agenten-Frameworks", "RAG-Optimierung", "LLM-Sicherheitstests"]
# Tool: SEO-Analyse
@tool
def analyze_seo(content: str) -> dict:
"""SEO-Freundlichkeit des Inhalts analysieren"""
return {
"keyword_density": 2.3,
"readability_score": 68,
"suggestions": ["H2-Überschriften hinzufügen", "Interne Links hinzufügen"]
}
# Agenten-Team definieren
topic_researcher = Agent(
name="Themen-Rechercheur",
instructions="Beliebte technische Themen entdecken und analysieren",
tools=[get_trending_topics]
)
outline_creator = Agent(
name="Gliederungsplaner",
instructions="Detaillierte Schreibgliederung basierend auf Themen erstellen",
handoffs=["writer"]
)
content_writer = Agent(
name="Content-Autor",
instructions="Technische Artikel mit 1500+ Wörtern verfassen",
handoffs=["seo_optimizer"]
)
seo_optimizer = Agent(
name="SEO-Optimierer",
instructions="Artikel-SEO optimieren und Änderungsvorschläge liefern",
tools=[analyze_seo],
handoffs=["content_writer"] # Zur Optimierung zurücksendbar
)
final_reviewer = Agent(
name="Schlussredakteur",
instructions="Finale Qualitätsprüfung, Freigabe zur Veröffentlichung",
)
# Workflow aufbauen
blog_workflow = Runner(
agents=[
topic_researcher,
outline_creator,
content_writer,
seo_optimizer,
final_reviewer
],
entry_point="topic_researcher"
)
# Ausführen
result = blog_workflow.run(
input="Erzeuge einen KI-Technologie-Blogbeitrag",
max_turns=10 # Maximale Iterationsanzahl begrenzen
)
print(f"✅ Fertig! Insgesamt {result.metadata['turns']} Kollaborationsrunden")
print(f"📄 Finale Wortanzahl: {len(result.output)}")
Vergleich mit Wettbewerbs-Frameworks
OpenAgents vs LangGraph
LangGraph-Vorteile: - Tiefe Integration mit dem LangChain-Ökosystem - Feingranulare Kontrolle über komplexe Zustandsgraphen - Umfassende Enterprise-Support
OpenAgents-Vorteile: - Einfachere API, niedrigere Lernkurve - Nachrichtengetriebenes Modell passt besser zur Intuition der Agentenkollaboration - Eingebaute Beobachtbarkeit, kein LangSmith nötig
OpenAgents vs CrewAI
CrewAI-Vorteile: - Ausgereiftes Rollenspiel-Paradigma - Reiche vordefinierte Rollenvorlagen - Umfangreiche Community-Beispiele
OpenAgents-Vorteile: - Flexiblere Agentenkommunikationsmuster - Unterstützt dynamische Handoffs (CrewAI erfordert vordefinierte Flüsse) - Bessere Performance (keine redundanten Abstraktionsschichten)
OpenAgents vs AutoGen
AutoGen-Vorteile: - Microsoft-Unterstützung, hohe Stabilität - Code-Execution-Sandbox-Unterstützung - Mehrsprachige Agentenunterstützung
OpenAgents-Vorteile: - Einfachere Konfiguration (AutoGen erfordert viel Boilerplate-Code) - Besseres Debugging-Erlebnis - Benutzerfreundlichere Dokumentation
Produktions-Deployment
Docker-Deployment
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install openagents[full]
COPY . .
ENV OPENAI_API_KEY=${OPENAI_API_KEY}
ENV OPENAGENTS_LOG_LEVEL=info
CMD ["python", "main.py"]
Monitoring und Logging
import openagents
from openagents.tracing import TracingConfig
# Tracing konfigurieren
openagents.configure(
tracing=TracingConfig(
enabled=True,
export_to="otel", # OpenTelemetry
sample_rate=1.0
),
logging={
"level": "INFO",
"format": "json"
}
)
FAQ
F: Welche Modelle unterstützt OpenAgents?
A: Es unterstützt alle wichtigen Modellanbieter: - OpenAI (GPT-4o, GPT-4 Turbo) - Anthropic (Claude 3.5/3) - Google (Gemini Pro) - Ollama (lokale Modelle) - Custom API-Endpunkte
F: Wie werden lange Kontexte behandelt?
A: OpenAgents hat eingebaute Context-Komprimierung:
agent = Agent(
name="Assistent",
context_window=128000, # Kontextfenster setzen
truncate_strategy="summary" # Bei Überschreitung automatisch zusammenfassen
)
F: Kann es offline verwendet werden?
A: Ja, in Kombination mit Ollama oder lokalen Modellen:
agent = Agent(
name="Lokaler Assistent",
model="ollama/llama3.1:8b",
base_url="http://localhost:11434"
)
Zusammenfassung
Als 2026 aufkommendes KI-Agenten-Framework findet OpenAgents eine gute Balance zwischen Einfachheit und Flexibilität. Besonders empfohlen für:
✅ Empfohlene Szenarien: - Schnelles Prototyping - Kleine bis mittlere Multi-Agenten-Systeme - Projekte mit flexiblem Agentenkommunikationsbedarf - Teams, die den Lernaufwand reduzieren möchten
❌ Nicht empfohlen für: - Tiefe LangChain-Ökosystem-Integration - Ultra-komplexe Zustandsgraph-Steuerung - Enterprise-SLA-Support-Anforderungen
Ressourcen-Links
Nächste Schritte: Bauen Sie Ihren ersten Multi-Agenten-Workflow mit OpenAgents und erleben Sie die Kraft der nachrichtengetriebenen Architektur!