Dienstleistungen
Kontaktieren

RAG-Frameworks: LangChain vs. LangGraph vs. LlamaIndex

Cem Dilmegani
Cem Dilmegani
aktualisiert am 31. Aug. 2026

Wir haben 5 RAG-Frameworks gebenchmarkt: LangChain, LangGraph, LlamaIndex, Haystack und DSPy, indem wir denselben agentischen RAG-Workflow mit standardisierten Komponenten erstellt haben: identische Modelle (GPT-4.1-mini), Embeddings (BGE-small), Retriever (Qdrant) und Tools (Tavily-Websuche). Dadurch werden der tatsächliche Overhead und die Token-Effizienz jedes Frameworks isoliert.

RAG-Frameworks: Benchmark-Ergebnisse

Der Benchmark bestand aus 100 Anfragen, wobei jedes Framework den gesamten Satz 100 Mal ausführte, um stabile Durchschnittswerte zu liefern.

Loading Chart
  • Ø Tokens: Gesamte über alle LLM-Aufrufe (Router, Dokument-Grader, Antwort-Grader und Generator) verbrauchte Tokens, einschließlich Prompts (mit abgerufenem Kontext) und Completions. Niedriger = geringere API-Kosten.
  • Framework-Overhead: Reine Orchestrierungszeit (ms), die interne Verarbeitung des Frameworks (Routing-Logik, Statusverwaltung usw.), ohne LLM-API- und Tool-Aufrufe. Niedriger = schlankeres Framework.

Alle Implementierungen erreichten eine Genauigkeit von 100 % im Testset. Verwendet wurden dieselben Modelle, Temperaturen, der Retrieval-Anbieter, das Websuche-Tool und eine gemeinsame Kontext-Token-Obergrenze.

Wichtige Erkenntnisse

  1. Wir konzentrieren uns darauf, das Kontrollierbare zu kontrollieren: Dieselbe Modellfamilie und Temperaturen, max_tokens auf Knotenebene, Retriever (Qdrant + BGE-small, k=5, Normalisierung aktiviert), Web-Anbieter (nur Tavily), Router-Richtlinie (heuristisch + Modell), Taschenrechner-Frühreturn, gemeinsames Kontext-Token-Limit, identische Bewertungsrubrik, einheitliche Instrumentierung. Dadurch werden wesentliche Störfaktoren in unseren Messungen erheblich reduziert.
  2. Framework-Overhead ist messbar, aber gering: Wir beobachteten ~3–14 ms pro Anfrage durch die Orchestrierungslogik. Diese Unterschiede sind real, aber nicht die Hauptursache für Latenzlücken von >1 s; die meiste Zeit wird für I/O mit externen Modellen/Tools aufgewendet.
  3. Performance folgt Tokens (unter diesen Rahmenbedingungen): DSPy weist den niedrigsten Framework-Overhead auf (~3.53 ms). Haystack (~5.9 ms) und LlamaIndex (~6 ms) folgen, während LangChain (~10 ms) und LangGraph (~14 ms) höher sind. Der Token-Verbrauch ist bei Haystack am niedrigsten (~1.57k), dann LlamaIndex (~1.60k); DSPy und LangGraph liegen bei ~2.03k und LangChain bei ~2.40k.
  4. Routing/Tool-Pfad ist entscheidend: Geringfügige Verschiebungen im anfänglichen Routing (Retriever vs. Web vs. Taschenrechner) und im Fallback-Verhalten beeinflussen sowohl Tokens als auch Zeit, selbst wenn Prompts und Budgets ausgerichtet sind.

Warum bleiben Unterschiede bestehen? Die „Framework-DNA“

Trotz Standardisierung bleiben kleine Abweichungen bei Token-Zahlen und Latenz bestehen. Diese sind auf das inhärente, grundlegende Verhalten jedes Frameworks zurückzuführen – auf dessen „DNA“.

  • Prompt- & Nachrichten-Serialisierung: Jedes Framework verpackt denselben logischen Inhalt mit leicht unterschiedlicher Formatierung, bevor es ihn an das LLM sendet, wodurch kleine, aber konsistente Token-Deltas entstehen.
  • Kontext-Zusammenstellung: Die genaue Reihenfolge und Einbeziehung von Metadaten im verketteten Kontext kann je nach Framework leicht variieren und die endgültige Token-Zahl beeinflussen.
  • Routing-Entscheidungen bei Gleichstand: In Grenzfällen können subtile Unterschiede darin, wie ein Framework die Router-JSON-Ausgabe parst, zu einer anderen anfänglichen Tool-Wahl führen.

In diesem Setup scheint der Token-Fußabdruck der primäre Treiber zu sein, mehr als die Ausführungszeit des Frameworks.

Die gemeinsame agentische RAG-Architektur

Um einen fairen Vergleich zu ermöglichen, wurden alle fünf Implementierungen auf demselben Kontrollfluss aufgebaut:

  • Router: Ein hybrider Modell-und-Heuristik-Knoten, der Retriever, web_search oder Taschenrechner wählt.
  • Dokumente abrufen: Ruft die Top-5-Dokumente aus Qdrant mithilfe normalisierter BGE-small-Embeddings ab.
  • Dokumente bewerten: Ein LLM-Bewerter beurteilt die Relevanz der Dokumente. Bei Irrelevanz wird ein Websuche-Fallback ausgelöst.
  • Antwort generieren: Verwendet ein Temperatur=0.0 LLM mit einer gemeinsamen Kontext-Token-Obergrenze, um eine Antwort im Entwurf zu generieren.
  • Antwort bewerten: Ein zweiter LLM-Bewerter bewertet den Entwurf auf Fundiertheit, Widersprüche (Halluzinationen) und Vollständigkeit.
  • Fallback & vorzeitige Rückkehr: Eine Websuche wird ausgelöst, wenn die Antwortbewertung unzureichend ist. Taschenrechner-Ergebnisse werden jedoch direkt zurückgegeben, wobei die Generierungs- und Bewertungsschritte übersprungen werden.

Workflow-Beispiele

Szenario A — Direkter Treffer aus der Datenbank:

Szenario B — Kürzliches Ereignis löst Web-Tool aus:

Szenario C — Taschenrechner liefert eine vorzeitige Rückkehr:

Szenario D — Vektordatenbank unzureichend, Fallback auf Websuche:

Lassen Sie unser Team einen Ihrer Geschäftsprozesse kostenlos mit KI-Agenten automatisieren.
Einen Prozess automatisieren

RAG-Frameworks: Methodik

Alle fünf Implementierungen erreichten eine Genauigkeit von 100 % auf unserem Testset mit 100 Anfragen und stimmten mit den Ground-Truth-Antworten überein. Dies war die grundlegende Anforderung, die sicherstellte, dass jedes Framework denselben agentischen RAG-Workflow erfolgreich ausführen konnte, bevor Leistungsunterschiede gemessen wurden.

1. Kernkomponenten & Konfiguration

Die grundlegenden Tools wurden standardisiert, um Leistungsvariablen bereits an der Quelle zu eliminieren.

  • LLMs:
    • Modell: Alle Knoten (Router, Generator, Grader) verwendeten das openai/gpt-4.1-mini-Modell über die OpenRouter-API.
    • Determinismus: Temperatur wurde auf 0.0 für alle LLM-Aufrufe gesetzt, um maximale Konsistenz bei Routing, Generierung und Bewertung zu gewährleisten.
    • Token-Limits: Strikte max_tokens-Limits wurden durchgesetzt: 256 für Router und Grader und 512 für den Generator. Dadurch werden Latenzunterschiede vermieden, die durch übermäßig lange Antworten eines Frameworks entstehen.
  • Embedding-Modell & Retrieval:
    • Modell: Alle Frameworks verwendeten BAAI/bge-small-en-v1.5 von HuggingFace.
    • Normalisierung: Ein kritischer Schritt für die Leistung: normalize_embeddings wurde in allen fünf Frameworks auf True gesetzt. (LangChain/LangGraph über encode_kwargs; LlamaIndex über normalize=True; Haystack über normalize_embeddings; DSPy Retriever normalisiert.)
    • Retrieval: Der Qdrant-Vektorspeicher wurde in allen Implementierungen mit k=5 (Top-5-Dokumente) abgefragt.
  • Tooling:
    • Websuche: Der Benchmark wurde auf nur Tavily (max_results=3) beschränkt.
    • Taschenrechner: Alle fünf Implementierungen verwendeten die sympy-Bibliothek zum Parsen und Auswerten mathematischer Ausdrücke, um identische Fähigkeiten sicherzustellen.

2. RAG-Kontrollfluss & -Richtlinie

Der „Entscheidungsfindungs“-Prozess des Agenten wurde ausdrücklich überall gespiegelt.

  • Routing-Logik: Eine hybride Routing-Strategie wurde in allen fünf Skripten implementiert, um Modellintelligenz mit deterministischen Regeln auszubalancieren:
    1. Eine regex-basierte heuristic_route prüft zuerst auf offensichtliche Taschenrechner- oder Websuche-Muster (z. B. mathematische Symbole, Jahreszahlen wie „2024“).
    2. Ein LLM-router_node trifft dann seine eigene Entscheidung.
    3. Die endgültige Entscheidung priorisiert die Heuristik für Taschenrechner, andernfalls wird der Wahl des LLM gefolgt.
  • Kontext-Budgetierung: Dies ist eine der kritischsten Standardisierungen. Bevor der generate_answer-Knoten aufgerufen wird, werden alle abgerufenen Dokumentkontexte und Websuche-Ergebnisse verkettet und dann mithilfe einer gemeinsamen truncate_to_token_budget-Funktion auf eine gemeinsame Obergrenze von 2000 Tokens gekürzt. Dadurch erhält das Generator-LLM in jedem Framework eine Eingabe exakt derselben Größe, sodass kein einzelnes Framework durch die Ausführlichkeit seines abgerufenen Kontexts bevor- oder benachteiligt wird.
  • Richtlinie zur Antwortbewertung:
    • Nachsichtige Bewertungsrubrik: Der grade_answer-Knoten verwendet über alle Frameworks hinweg einen identischen, nachsichtigen Prompt, der den LLM-Bewerter anweist, semantisch ähnliche und hinreichend vollständige Antworten zu akzeptieren.
    • Fehlerbehandlung: Die Logik für den Umgang mit einem fehlgeschlagenen JSON-Parse des Graders wurde standardisiert. Wenn die Ausgabe des Graders kein gültiges JSON ist, verwendet das System standardmäßig eine großzügige Bewertung (grounded=True, complete=True), analog zu einem realen Szenario, in dem ein fehleranfälliger Parser eine ansonsten gute Antwort nicht durchfallen lassen sollte. DSPy gibt strukturierte Felder zurück (kein JSON-Parse); dies wird als Robustheitsunterschied protokolliert, nicht als Leistungsvorteil.
  • Vorzeitige Rückkehr des Taschenrechners: Wie im Code zu sehen, setzt ein erfolgreicher Aufruf des calculator_node direkt die final_answer und beendet den Workflow vorzeitig. Dies ist eine bedeutende Optimierung, die konsequent angewendet wird und verhindert, dass der Taschenrechner-Pfad unnötig die generate- und grade_answer-LLMs aufruft.
  • DSPy-Abgleich. Um die Fairness mit Nicht-CoT-Baselines zu wahren, verwendet DSPy.Predict (kein CoT) für Router und AnswerGenerator. Die Signaturen spiegeln die Knotenverträge anderer Frameworks wider; sofern verfügbar, verwenden die Token-Zählungen die vom Modell gemeldete Nutzung, andernfalls tiktoken als Fallback.

3. Instrumentierung und Metriken

Der Messprozess war identisch und verwendete gemeinsame Hilfsfunktionen und Prinzipien.

  • Latenz: Für alle Zeitmessungen wurde der hochpräzise time.perf_counter() verwendet. Der Framework-Overhead wird konsistent als Gesamtlatenz – Latenz externer Aufrufe berechnet.
  • Tokenisierung: Alle Token-Zählungen für Prompts und Completions wurden mit tiktoken, der cl100k_base-Kodierung, berechnet, um eine einzige Quelle der Wahrheit für Token-Metriken sicherzustellen. Die in den Ergebnissen ausgewiesene Metrik „Ø Tokens“ stellt die kumulative Summe aller Eingabe- (Prompt) und Ausgabetokens (Completion) für jeden LLM-Aufruf (z. B. Router, Grader, Generator) innerhalb eines einzelnen Anfrage-Workflows dar.
  • Statusverwaltung: Während die Implementierungssyntax variiert (LangGraphs TypedDict, LlamaIndexs Klasse, LangChains Dictionary), ist die Statusstruktur funktional identisch. Jedes Framework reicht zwischen den Knoten denselben Satz an Schlüsseln (question, documents, web_results usw.) weiter, sodass die Kontrollflusslogik auf denselben Informationen arbeitet.

Durch die Durchsetzung dieser strengen Standardisierungen auf Code-Ebene zielt dieser Benchmark darauf ab, über oberflächliche Vergleiche hinauszugehen und eine replizierbare Analyse der Framework-Leistung unter einer festgelegten RAG-Richtlinie zu bieten.

Interpretation der Ergebnisse:

  • Daraus lässt sich schließen: In diesem spezifischen, stark kontrollierten Setup ist der Orchestrierungs-Overhead tendenziell gering; Unterschiede werden hauptsächlich durch Token-Zahlen und Tool-Pfade verursacht.
    • In diesem spezifischen, stark kontrollierten Setup ist der Framework-Overhead vernachlässigbar.
    • Leistungsunterschiede wurden durch Token-Zahl und Variationen der Tool-Pfade verursacht.
  • Verallgemeinern lässt sich das nicht: Die Ergebnisse sind spezifisch für diese Architektur, Modelle, Prompts, Retriever und den Web-Anbieter; eine Änderung dieser Faktoren kann die Rangfolge verändern.

Entwicklererfahrung: Ein qualitativer Vergleich

Leistung ist nicht der einzige Faktor; ebenso wichtig ist, wie sich ein Framework beim Entwickeln anfühlt.

  • LangGraph: Der deklarative Graph
    Verwendet ein Graph-first-Paradigma. Sie definieren Knoten und verbinden sie mit Kanten (einschließlich add_conditional_edges), sodass der Kontrollfluss Teil der Architektur ist. Der Zustand wird über ein TypedDict mit reducer-artigen Updates typisiert (Annotated[…, add]).
    • Wählen Sie LangGraph für: komplexe Workflows mit mehreren Verzweigungen, Wiederholungen und Zyklen; seine Struktur skaliert in Robustheit und Wartbarkeit, wenn Agenten wachsen.
  • LlamaIndex: Imperative Orchestrierung
    Ein prozedurales Skript, bei dem der Kontrollfluss aus Standard-Python if/else besteht; der „Graph“ lebt in Ihrem Code. Der Zustand ist eine dedizierte PipelineState-Klasse, und das Framework bietet saubere Retrieval-Primitive (VectorStoreIndex → .as_retriever(k=5)).
    • Wählen Sie LlamaIndex für: lesbare Einzeldatei-Workflows, bei denen Sie Wert auf klare prozedurale Logik und einfaches Debugging legen.
  • LangChain: Imperativ mit deklarativen Komponenten
    Die Orchestrierung bleibt ein Python-Skript, aber einzelne Aufgaben sind kleine, komponierbare Chains mit dem |-Operator (z. B. prompt | llm | parser). Der Zustand ist ein flexibles, untypisiertes Python-dict.
    • Wählen Sie LangChain für: schnelles Prototyping oder Teams, die bereits im LangChain-Ökosystem arbeiten und das Komponieren kleiner deklarativer Einheiten innerhalb eines größeren imperativen Treibers bevorzugen.
  • Haystack: Komponentenbasierte, manuelle Orchestrierung Typisierte, wiederverwendbare Komponenten (@component) mit expliziter E/A, während der Kontrollfluss einfaches Python (if/else) bleibt. Einfacher Austausch von LLM/Retriever/Web-Backends sowie erstklassige Instrumentierung pro Schritt (externe vs. Framework-Zeit).
    • Wählen Sie Haystack für: produktionsreife, testbare Pipelines mit klaren Verträgen und fein granularer Kontrolle.
  • DSPy: Signatur-zuerst-Programme (weniger Codezeilen)
    Definieren Sie eine Aufgabe über eine Signatur (Eingaben/Ausgaben + Absicht) und implementieren Sie dann mit Modulen, die Prompting und LLM-Aufrufe kapseln. Zentralisiert die Prompt-/Nutzungsverwaltung und entfernt Glue-Code; das Austauschen von Interna (z. B. PredictCoT) ändert den Vertrag nicht.
    • Wählen Sie DSPy für: minimalen Boilerplate, lesbare Einzeldatei-Abläufe, vertragsgetriebene Entwicklung (mit optionalen Optimierern).

Optimale Leistung gegen Vergleichbarkeit eintauschen

  • LangGraph könnte mit seinen nativen Graph-Optimierungen glänzen, wenn parallele Ausführung, Status-Caching und sein Conditional-Edge-System für komplexe Verzweigungslogik erlaubt sind.
  • DSPy könnte dramatisch andere Ergebnisse zeigen, wenn seine Signatur-Optimierer (wie MIPROv2) und Chain-of-Thought-Prompting verwendet werden, was die Antwortqualität erheblich verbessern kann.
  • Haystack könnte seine produktionsreifen Caching- und Batch-Funktionen sowie Optimierungen auf Komponentenebene nutzen, die wir aus Fairnessgründen deaktiviert haben.
  • LlamaIndex könnte von seinen fortschrittlichen Indizierungsstrategien, Query-Engines und multimodalen Fähigkeiten profitieren, die in diesem Benchmark nicht beansprucht wurden.
  • LangChain könnte mit seinem umfangreichen Tool-Ökosystem und den LCEL-Optimierungen (LangChain Expression Language) glänzen, wenn es nicht auf unser standardisiertes Toolset beschränkt ist.

Das „beste“ Framework hängt davon ab, ob Sie für Entwicklungsgeschwindigkeit, Wartbarkeit, Leistung oder bestimmte architektonische Muster optimieren.

Fazit

In einer eng abgestimmten agentischen RAG-Pipeline ist der Orchestrierungs-Overhead normalerweise nur ein kleiner Anteil. Ausschlaggebend ist, wie viele Tokens Sie verarbeiten und welche Tools Sie aufrufen, beides geprägt von Prompts, Retrieval und Routing. Das „richtige“ Framework hängt letztlich vom bevorzugten Orchestrierungsstil Ihres Teams ab: deklarative Graphen (LangGraph), imperative Skripte (LlamaIndex), komponierbare Chains (LangChain), modulare Komponenten (Haystack) oder Signatur-zuerst-Programme (DSPy), die Boilerplate minimieren.

Verpassen Sie nicht unsere Benchmarks und datengestützten Erkenntnisse. Die Schaltfläche öffnet Google; die Auswahl von AIMultiple bestätigt, dass Sie AIMultiple häufiger in den Google-Suchergebnissen sehen möchten.
GoogleAls bevorzugte Quelle hinzufügen

Weiterführende Literatur

Entdecken Sie weitere RAG-Benchmarks, wie zum Beispiel:

Zitieren Sie diesen Benchmark

Wählen Sie das Format, das zu Ihrem Veröffentlichungsort passt. Wenn Sie die Link-Version in Ihr CMS einfügen, bleibt der Backlink erhalten.

Cem Dilmegani and Ekrem Sarı (2026) - "RAG-Frameworks: LangChain vs. LangGraph vs. LlamaIndex". Online veröffentlicht auf AIMultiple.com. Abgerufen am 31. August 2026, von: https://aimultiple.com/rag-frameworks [Online-Ressource]

Dilmegani, C., & Sarı, E. (2026, 31. August). RAG-Frameworks: LangChain vs. LangGraph vs. LlamaIndex. AIMultiple. https://aimultiple.com/rag-frameworks

@misc{dilmegani2026,
  author = {Dilmegani, Cem and Sarı, Ekrem},
  title  = {{RAG-Frameworks: LangChain vs. LangGraph vs. LlamaIndex}},
  year   = {2026},
  month  = aug,
  howpublished    = {\url{https://aimultiple.com/rag-frameworks}},
  note   = {AIMultiple. Abgerufen am 31. August 2026}
}

Änderungsprotokoll

7 Aktualisierungen
  1. 2026

    Die Anzahl der Abfragen und Durchläufe wurde zur Benchmark-Methodik hinzugefügt.

  2. Die Benchmark-Ergebnisse und Methodik der RAG-Frameworks wurden aktualisiert.

  3. 2025

    Die Definition von durchschnittlichen Tokens und Framework-Overhead zu den RAG-Framework-Benchmark-Ergebnissen hinzugefügt.

  4. Leistungsdaten im Abschnitt „Wichtige Erkenntnisse“ ersetzt.

  5. Die Methodikbeschreibung im Abschnitt RAG-Frameworks wurde ersetzt.

  6. Haystack und DSPy zum RAG-Framework-Vergleich hinzugefügt.

  7. Die Anzahl der Implementierungen im Methodik-Abschnitt wurde aktualisiert.

Cem Dilmegani
Cem Dilmegani
Leitender Analyst
Cem ist seit 2017 leitender Analyst bei AIMultiple.

Cems Arbeit bei AIMultiple wurde von führenden globalen Publikationen wie Business Insider, Forbes, Morning Brew und Washington Post, von globalen Unternehmen wie Deloitte und HPE, von NGOs wie dem World Economic Forum und von supranationalen Organisationen wie der European Commission zitiert. [1], [2], [3], [4], [5]

Im Laufe seiner Karriere war Cem als Tech-Berater, Tech-Einkäufer und Tech-Unternehmer tätig. Er beriet Unternehmen bei ihren Technologieentscheidungen bei McKinsey & Company und Altman Solon über mehr als ein Jahrzehnt. Er veröffentlichte außerdem einen McKinsey-Bericht zur Digitalisierung.

Er leitete Technologiestrategie und -beschaffung eines Telekommunikationsunternehmens und berichtete dabei direkt an den CEO. Außerdem verantwortete er das kommerzielle Wachstum des Deep-Tech-Unternehmens Hypatos, das innerhalb von zwei Jahren von 0 einen siebenstelligen jährlich wiederkehrenden Umsatz und eine neunstellige Bewertung erreichte. Cems Arbeit bei Hypatos wurde von führenden Technologiepublikationen wie TechCrunch und Business Insider aufgegriffen.

Cem spricht regelmäßig auf internationalen Technologiekonferenzen. Er absolvierte die Bogazici University als Computeringenieur und hat einen MBA von der Columbia Business School.
Vollständiges Profil anzeigen
Recherchiert von
Ekrem Sarı
Ekrem Sarı
KI-Forscher
Ekrem ist KI-Forscher und Datenwissenschaftler bei AIMultiple. Er entwirft und führt praxisnahe Benchmarks für KI- und LLM-Systeme durch.
Vollständiges Profil anzeigen

Seien Sie der Erste, der kommentiert

Ihre E-Mail-Adresse wird nicht veröffentlicht. Alle Felder sind erforderlich. Kommentare werden in ihrer Originalsprache belassen.

0/450