LangGraph vs. CrewAI
Was dieser Artikel über LangGraph vs. CrewAI behandelt
- Wo die Gemeinsamkeiten und Unterschiede zwischen LangGraph und CrewAI liegen.
- Welche Architektur jedes Framework wählt und welche Konsequenzen das hat.
- Wie State-Management, Multi-Agent-Setups und Tool-Integration verglichen werden.
- Wann Du LangGraph nutzen solltest und wann CrewAI die bessere Wahl ist.
- Welche typischen Stolpersteine bei der Wahl auftreten und wie Du sie vermeidest.
Einleitung: LangGraph vs. CrewAI verständlich erklärt
LangGraph und CrewAI sind zwei der wichtigsten Frameworks, um KI-Agenten in Python zu bauen. Beide setzen auf Sprachmodelle als Entscheidungszentrale, beide erlauben Tool-Use und Multi-Agent-Setups, beide lassen sich mit Ollama als lokalem Backend betreiben. Aber sie haben unterschiedliche Philosophien: LangGraph ist ein Graph-basiertes Framework für zustandsbehaftete Agenten mit feiner Kontrolle, CrewAI ist ein rollenbasiertes Framework für Multi-Agent-Teams mit hoher Abstraktion.
Dieser Artikel richtet sich an Entwicklerinnen und Entwickler, die KI-Agenten bauen und vor der Wahl stehen, welches Framework sie nutzen. Du solltest verstehen, was KI-Agenten sind und wie man sie lokal mit Ollama betreibt. Grundlagen der Python-Programmierung findest Du auf IRC-Coding.de.
Warum brauche ich diesen Vergleich?
Stell Dir vor, Du willst einen Agenten bauen, der recherchiert, schreibt und veröffentlicht. Du suchst nach dem passenden Framework und findest LangGraph und CrewAI. Beide klingen passend, beide können Multi-Agent-Setups, beide unterstützen Ollama. Welche sollst Du wählen?
Die falsche Wahl kostet Dich Zeit. LangGraph ist mächtiger, aber komplexer. CrewAI ist einfacher, aber weniger flexibel. Wer maximale Kontrolle über den Agenten-Graphen braucht, ist mit LangGraph besser bedient. Wer schnell ein Multi-Agent-Team zusammenstellen will, ist mit CrewAI schneller.
LangGraph vs. CrewAI kurz erklärt
LangGraph ist ein Graph-basiertes Framework, in dem Du Agenten als zustandsbehaftete Graphen modellierst. Jeder Knoten ist eine Funktion, jede Kante ein Übergang. Du hast volle Kontrolle über den State, die Übergänge und die Bedingungen. CrewAI ist ein rollenbasiertes Framework, in dem Du Agenten als Team-Mitglieder mit Rollen, Zielen und Backstories definierst. Du beschreibst, wer was macht, das Framework orchestriert die Zusammenarbeit.
Der Kerngedanke lautet: LangGraph ist die Graph-Engine, CrewAI ist das Team-Board.
Für wen ist dieser Vergleich gedacht?
- Entwicklerinnen und Entwickler, die KI-Agenten bauen und das passende Framework wählen müssen.
- Architektinnen und Architekten, die Multi-Agent-Systeme entwerfen und abstrakte Konzepte vergleichen.
- Forscherinnen und Forscher, die Agenten-Verhalten systematisch untersuchen.
- Teams, die Agenten bauen und verstehen wollen, welches Framework besser zu ihrer Arbeitsweise passt.
Vorkenntnisse in Python, KI-Agenten und Ollama sind erforderlich.
Wichtige Begriffe rund um LangGraph und CrewAI
- LangGraph - Graph-basiertes Agenten-Framework. Wann nützlich: wenn Du maximale Kontrolle brauchst.
- CrewAI - Rollenbasiertes Multi-Agent-Framework. Wann nützlich: wenn Du schnell Teams bauen willst.
- State - Zustand des Agenten, der zwischen Knoten weitergegeben wird. Wann nützlich: für zustandsbehaftete Workflows.
- Graph - Gerichteter Graph mit Knoten und Kanten. Wann nützlich: die Architektur in LangGraph.
- Crew - Team von Agenten in CrewAI. Wann nützlich: die Architektur in CrewAI.
- Agent - Team-Mitglied in CrewAI mit Rolle, Ziel, Backstory. Wann nützlich: die Abstraktionsebene in CrewAI.
- Task - Aufgabe in CrewAI, die ein Agent erledigt. Wann nützlich: die Arbeitseinheit in CrewAI.
- Ollama - Lokaler Modellserver. Wann nützlich: als Backend für beide Frameworks.
- Function Calling - Strukturierte KI-Antworten. Wann nützlich: für Tool-Use in beiden Frameworks.
Direkter Vergleich: LangGraph vs. CrewAI
| Eigenschaft | LangGraph | CrewAI |
|---|---|---|
| Architektur | Graph-basiert | Rollenbasiert |
| Abstraktionsebene | Niedrig (Graph-Knoten) | Hoch (Agenten-Rollen) |
| State-Management | Explizit, typisiert | Implizit, im Task-Kontext |
| Multi-Agent | Als Graph mit mehreren Knoten | Als Crew mit mehreren Agenten |
| Kontrolle | Vollständig | Eingeschränkt auf Rollen-Abstraktion |
| Lernkurve | Steil | Flach |
| Flexibilität | Sehr hoch | Mittel |
| Tool-Integration | Direkt, pro Knoten | Über Agent-Tools |
| Orchestrierung | Manuell (Kanten definieren) | Automatisch (Crew orchestriert) |
| Ollama-Support | Ja (über LangChain) | Ja (über LLM-Konfiguration) |
| Persistenz | Eingebaut (Checkpoints) | Begrenzt |
| Streaming | Ja, granular | Ja, aber weniger granular |
| Dokumentation | Gut, technisch | Gut, anwendungsorientiert |
| Community | Groß (LangChain-Ökosystem) | Wachsend, fokussiert |
Architektur im Vergleich
LangGraph: Graph-basiert
In LangGraph modellierst Du Agenten als Graphen. Jeder Knoten ist eine Funktion, die den State liest und schreibt. Jede Kante ist ein Übergang, optional mit Bedingung.
from langgraph.graph import StateGraph, END
from typing import TypedDict, List
class AgentState(TypedDict):
messages: List[str]
tool_results: List[str]
current_step: str
def call_model(state):
# Modell aufrufen
return {"messages": state["messages"] + ["Antwort"]}
def call_tool(state):
# Tool aufrufen
return {"tool_results": ["Ergebnis"]}
def should_continue(state):
if len(state["tool_results"]) < 3:
return "tool"
return END
# Graph bauen
workflow = StateGraph(AgentState)
workflow.add_node("model", call_model)
workflow.add_node("tool", call_tool)
workflow.set_entry_point("model")
workflow.add_conditional_edges("model", should_continue)
workflow.add_edge("tool", "model")
app = workflow.compile()
Du siehst jeden Knoten, jede Kante, jede Bedingung. Du hast volle Kontrolle über den State und die Übergänge.
CrewAI: Rollenbasiert
In CrewAI definierst Du Agenten als Team-Mitglieder mit Rollen, Zielen und Backstories. Du erstellst Tasks und weist sie Agenten zu. Die Crew orchestriert die Zusammenarbeit.
from crewai import Agent, Task, Crew
researcher = Agent(
role="Rechercheur",
goal="Informationen sammeln und verifizieren",
backstory="Du bist ein erfahrener Rechercheur mit 20 Jahren Erfahrung.",
tools=[search_tool, read_tool]
)
writer = Agent(
role="Autor",
goal="Einen klaren, gut strukturierten Bericht schreiben",
backstory="Du bist ein preisgekrönter Autor.",
tools=[write_tool]
)
research_task = Task(
description="Recherchiere das Thema X und sammle Quellen.",
agent=researcher,
expected_output="Liste von Quellen mit Zusammenfassung"
)
write_task = Task(
description="Schreibe einen Bericht basierend auf den Quellen.",
agent=writer,
expected_output="Strukturierter Bericht mit Quellenangaben",
context=[research_task]
)
crew = Crew(agents=[researcher, writer], tasks=[research_task, write_task])
result = crew.kickoff()
Du beschreibst, wer was macht, das Framework orchestriert die Zusammenarbeit. Du hast weniger Kontrolle über die genaue Reihenfolge.
State-Management im Vergleich
LangGraph State
LangGraph hat ein explizites, typisiertes State-Management. Du definierst einen State-Typ, jeder Knoten liest und schreibt Teile des States.
class AgentState(TypedDict):
messages: List[str]
tool_results: List[str]
iteration: int
def call_model(state):
return {
"messages": state["messages"] + ["Neue Nachricht"],
"iteration": state["iteration"] + 1
}
Vorteile:
- Typsicherheit
- Explizite Nachvollziehbarkeit
- Persistenz über Checkpoints
- Granulare Kontrolle
Nachteile:
- Mehr Boilerplate
- Komplexer bei einfachen Workflows
CrewAI State
CrewAI hat ein implizites State-Management. Der State ist der Kontext der Tasks, der automatisch zwischen Agenten weitergegeben wird.
# Task-Kontext wird automatisch weitergegeben
write_task = Task(
description="Schreibe einen Bericht.",
agent=writer,
context=[research_task] # Ergebnis von research_task ist verfügbar
)
Vorteile:
- Einfach, weniger Boilerplate
- Automatische Weitergabe
- Schneller startklar
Nachteile:
- Weniger Kontrolle
- Keine Typsicherheit
- Begrenzte Persistenz
Multi-Agent-Setups im Vergleich
LangGraph Multi-Agent
In LangGraph modellierst Du Multi-Agent-Setups als Graphen mit mehreren Knoten. Jeder Agent ist ein Knoten, die Kanten definieren die Kommunikation.
workflow = StateGraph(AgentState)
workflow.add_node("researcher", researcher_node)
workflow.add_node("writer", writer_node)
workflow.add_node("reviewer", reviewer_node)
workflow.add_edge("researcher", "writer")
workflow.add_edge("writer", "reviewer")
workflow.add_conditional_edges("reviewer", lambda state: "writer" if state["needs_revision"] else END)
Du hast volle Kontrolle über die Kommunikationsstruktur. Komplex, aber mächtig.
CrewAI Multi-Agent
In CrewAI definierst Du Agenten mit Rollen und Tasks. Die Crew orchestriert die Zusammenarbeit automatisch.
crew = Crew(
agents=[researcher, writer, reviewer],
tasks=[research_task, write_task, review_task],
process=Process.sequential # oder hierarchical
)
Einfacher, aber weniger Kontrolle über die genaue Reihenfolge.
Praxisbeispiel: Wann welches Framework?
Szenario 1: Komplexer Workflow mit Bedingungen
Du willst einen Agenten bauen, der recherchiert, schreibt, prüft und bei Bedarf überarbeitet. Die Reihenfolge hängt vom Ergebnis ab. LangGraph ist die richtige Wahl. Du definierst den Graphen mit bedingten Kanten und hast volle Kontrolle.
Szenario 2: Schnelles Multi-Agent-Team
Du willst schnell ein Team aus Rechercheur, Autor und Lektor zusammenstellen. Die Reihenfolge ist klar: recherchieren, schreiben, lektorieren. CrewAI ist die richtige Wahl. Du definierst Rollen und Tasks, die Crew orchestriert.
Szenario 3: Persistenter Agent mit Checkpoints
Du willst einen Agenten bauen, der über mehrere Sessions läuft und sich an frühere Schritte erinnert. LangGraph ist die richtige Wahl. Die eingebaute Checkpoint-Persistenz erlaubt Dir, den State zu speichern und wiederherzustellen.
Szenario 4: Einfacher Agent für Prototyping
Du willst schnell einen Agenten prototypen, ohne Dich um Graph-Architektur zu kümmern. CrewAI ist die richtige Wahl. Weniger Boilerplate, schneller startklar.
Typische Stolpersteine bei der Wahl
- LangGraph für einfache Setups genutzt: Wer nur ein einfaches Team bauen will, ist mit LangGraph überfordert. Lieber CrewAI nutzen.
- CrewAI für komplexe Workflows genutzt: Wer bedingte Übergänge und feine Kontrolle braucht, ist mit CrewAI eingeschränkt. Lieber LangGraph nutzen.
- State-Management unterschätzt: LangGraph erfordert explizites State-Management. Wer das vergisst, hat inkonsistente States.
- Persistenz vergessen: CrewAI hat begrenzte Persistenz. Wer langlaufende Agenten baut, sollte LangGraph nutzen.
- Ollama-Integration falsch konfiguriert: Beide Frameworks unterstützen Ollama, aber die Konfiguration unterscheidet sich. Siehe KI-Agenten mit Ollama.
Weiterführende Links und Infos zu LangGraph vs. CrewAI
- LangGraph Framework - Details zu LangGraph.
- CrewAI Framework - Details zu CrewAI.
- KI-Agenten mit Ollama - Beide Frameworks mit Ollama.
- Function Calling - Tool-Use-Grundlagen.
- KI-Agenten Grundlagen - Was KI-Agenten sind.
- Recherche-Workflows - Praxisbeispiel für Agenten-Workflows.
Key Takeaways:
- LangGraph ist Graph-basiert, CrewAI ist rollenbasiert.
- LangGraph bietet maximale Kontrolle, CrewAI bietet maximale Abstraktion.
- Für komplexe Workflows mit Bedingungen: LangGraph.
- Für schnelle Multi-Agent-Teams: CrewAI.
- Beide unterstützen Ollama als lokales Backend.
FAQ: LangGraph vs. CrewAI - Typische Fragen
Was ist der Hauptunterschied zwischen LangGraph und CrewAI?
Welches Framework ist einfacher zu lernen?
Welches Framework ist flexibler?
Welches Framework ist besser für Multi-Agent-Setups?
Unterstützen beide Ollama?
Welches Framework hat bessere Persistenz?
Wann soll ich LangGraph nutzen?
Wann soll ich CrewAI nutzen?
Kann ich beide Frameworks parallel nutzen?
Gibt es Alternativen zu LangGraph und CrewAI?
Quellen und weiterführende Literatur
- LangGraph Dokumentation - Offizielle LangGraph-Docs.
- CrewAI Dokumentation - Offizielle CrewAI-Docs.
- LangChain - LangChain-Ökosystem.
- Ollama - Lokaler Modellserver.


