Startseite / Artikel / LangChain gegen LangGraph: Was die Paketabhängigkeiten tatsächlich zeigen

LangChain gegen LangGraph: Was die Paketabhängigkeiten tatsächlich zeigen

Eine Aufschlüsselung auf Ebene der Abhängigkeiten zeigt, dass LangGraph ein notwendiger Bestandteil von LangChain ist, wodurch die Auswahl des Frameworks als drei Pakete und nicht als zwei betrachtet werden muss.

897 Wörter

Die Debatte um LangChain gegenüber LangGraph taucht ständig in technischen Gesprächen auf, und die übliche Antwort ist fast immer dieselbe: Wählen Sie LangChain, wenn Sie Ketten sowie Aufrufe von Tools benötigen, und LangGraph, wenn Sie statebasierte Agenten mit Schleifen brauchen. Diese Antwort ist nicht falsch, beruht aber auf einer Prämisse, die bei genauerer Betrachtung nicht hält.

Eine präzisere Antwort liegt tatsächlich direkt vor Augen – in den Metadaten des Pakets selbst.

Was eine einfache Installation offenbart

Probieren Sie aus, pip install langchain auszuführen, und prüfen Sie anschließend, was tatsächlich auf der Festplatte abgelegt wird.

langchain-core==1.5.0
langgraph==1.2.9
pydantic==2.7.4

LangGraph wird automatisch zusammen mit LangChain mitgeliefert. Es handelt sich dabei nicht um ein optionales Add-on, das man überspringen kann – es ist eine erforderliche Abhängigkeit. Wenn man sich das Manifest von langchain 1.3.14 ansieht, sind nur drei Pakete als strikte Anforderungen aufgeführt, und langgraph, das auf Versionen zwischen 1.2.5 und unter 1.3.0 beschränkt ist, gehört dazu.

Probieren Sie nun das Gegenteil aus: pip install langgraph. Dadurch wird zwar langchain-core zusammen mit LangGraphs eigenen Unterpaketen heruntergeladen, doch langchain selbst wird niemals installiert.

Das bedeutet, dass die übliche Sichtweise – die Entscheidung als Entweder-oder-Wahl darzustellen – etwas beschreibt, was Ihr Paketmanager einfach nicht zulässt. Die Installation von LangChain garantiert, dass auch LangGraph mitgeliefert wird. Eine gegenteilige Garantie existiert nicht.

Drei Pakete, nicht zwei

Die meisten Vergleiche stellen dies als eine zweiseitige Entscheidung dar. In Wirklichkeit gibt es drei unterschiedliche Pakete, und sobald man jedes davon richtig benennt, verschwindet der größte Teil der Verwirrung.

langchain-core ist die gemeinsame Grundlage für alles Weitere. Es enthält die Nachrichtentypen, die Runnable-Abstraktion, BaseTool sowie RunnableConfig. Sowohl langchain als auch langgraph sind direkt davon abhängig – nichts in diesen Paketen funktioniert ohne es.

langgraph ist der eigentliche Ausführungsmotor. Man kann ihn sich als Zustandsmaschine vorstellen, die aus Knoten, bedingten Kanten, einem gemeinsamen Zustandsobjekt sowie Unterstützung für Checkpoints besteht. Er ist dafür konzipiert, Zyklen zu verarbeiten – was im Grunde das Kernprinzip eines Agentenloops ist. Rund 40,2 Prozent der eigenen Quelldateien von LangGraph importieren direkt langchain_core, was zeigt, dass es keine konkurrierende Alternative zu LangChain ist – vielmehr basiert es auf den Kernabstraktionen von LangChain.

langchain steht über beiden als übergeordnetes Paket. Es enthält Modellintegrationen, Anbieterverbindungen sowie praktische Wrapper zur Erstellung von Agenten auf Basis der zuvor beschriebenen beiden Pakete. Genau dieses Paket sollte man installieren, wenn man ChatOpenAI oder ChatAnthropic sofort nutzen möchte, ohne einen eigenen HTTP-Client von Grund auf entwickeln zu müssen.

Die Beschreibung als „lineare Ketten gegenüber zustandsbehafteten Graphen“ spiegelt eine ältere Einteilung wider, die in der Codebasis nicht mehr existiert. Eine genauere Formulierung heute: LangGraph ist die Laufzeitumgebung, die die eigentliche Arbeit erledigt, während LangChain eine Hilfsschicht ist, die diese Laufzeitumgebung zusammen mit Anbieter-Integrationen bündelt.

Die eigentliche Entscheidung, die Sie treffen

Sobald Ihnen die Abhängigkeitsrichtung klar ist – LangChain befindet sich auf LangGraph, niemals umgekehrt – ändert sich die Frage, die Sie tatsächlich beantworten müssen.

Es geht nicht mehr darum, „LangChain oder LangGraph?“, sondern darum: Möchten Sie das gesamte langchain-Ökosystem mit Anbieter-Integrationen, ChatOpenAI, Hilfsmitteln zum Erstellen von Agenten sowie mehr als 30 weiteren optionalen Paketen? Oder möchten Sie lieber direkt mit langchain-core und langgraph arbeiten und diese zusätzlichen Komponenten weglassen?

Sowohl der eine als auch der andere Ansatz läuft letztendlich unter LangGraph. Was sich unterscheidet, sind alle anderen Komponenten, die zusammen mit ihm in Ihre Umgebung eingebunden werden.

Falls Sie ein Produktionsagenten-Bild erstellen, bei dem Sie eine eng begrenzte, leicht überprüfbare Abhängigkeitsliste wünschen, führt die Installation von langgraph zusammen mit dem jeweiligen Provider-Client, den Sie tatsächlich benötigen, zu einer kompakten Struktur. Wenn Sie schnell prototypisieren und ChatOpenAI ohne manuelle Erstellung eines Provider-Wrappers nutzen möchten, bringt pip install langchain[openai] Sie mit weniger Konfiguration dorthin.

Ein Detail, das ausdrücklich erwähnt werden sollte: langchain-core installiert LangSmith, den Tracing-Client von LangChain, als erforderliche Abhängigkeit. Es sendet keine Daten, es sei denn, Sie konfigurieren es ausdrücklich dafür. Falls Sie jedoch genau prüfen möchten, was letztendlich in Ihrem Container landet, ist LangSmith dort vorhanden – unabhängig davon, ob Sie es aktivieren oder nicht.

Warum die Wahl über die Installationsgröße hinaus wichtig ist

Eine kontrollierte Vergleichsstudie wurde zwischen LangGraph 1.2.9 und Pydantic AI 2.13.0 anhand von vier Aufgaben durchgeführt, insgesamt 160 Durchläufe mit gpt-4o. Beide Frameworks erreichten eine Genauigkeit von 100 %. LangGraph war in der reellen Laufzeit etwa 1,4 bis 1,8 Sekunden schneller – ein Unterschied, der auf die asynchrone-zu-synchrone Umwandlung durch Pydantic AI zurückzuführen ist – doch die Genauigkeit war bei beiden ununterscheidbar.

Was tatsächlich die Ergebnisse beeinflusste, war das zugrunde liegende Modell und nicht die Wahl des Frameworks. Die Ausführung derselben Aufgaben mit gpt-4o-mini führte hingegen zu einem vollständigen Misserfolg – 0 von 20 – bei einer Aufgabe, die Rechenoperationen mit Datumsangaben beinhaltete; ein Sonderfall, den das größere Modell ohne Probleme bewältigte.

Kurz gesagt: Die Entscheidung zwischen LangChain und LangGraph bedeutet hauptsächlich die Wahl darüber, inwieweit Sie Teile des umliegenden LangChain-Ecosystems in Ihr Projekt integrieren möchten, da beide auf demselben zugrundeliegenden Engine laufen. Die Entscheidung zwischen LangGraph und Pydantic AI hingegen bedeutet den Vergleich zweier völlig unterschiedlicher Bibliotheken – und die oben genannten Ergebnisse deuten darauf hin, dass bei gpt-4o weder das eine noch das andere in Bezug auf Korrektheit vorteilhaft ist, obwohl der Latenzunterschied groß genug ist, um in Ihrer eigenen Umgebung gemessen zu werden.

Verwandte Artikel

  • LangChain 1.x in Practice: Chains, RAG, Tools und Agents lokal — Lernen Sie, mithilfe von LangChain 1.x und einer kostenlosen lokalen Ollama-Installation Chains, Retrieval-augmented Generation, Tools sowie agnative RAG-Lösungen zu erstellen – ohne Notwendigkeit von API-Schlüsseln.