Pexon Consulting | 12 Min. Lesezeit | 17.04.2026
TL;DR
DSPy RAG ersetzt manuelles Prompt-Tuning durch optimierte Pipelines mit Metrik-Kopplung. Das Stanford-Framework verbessert auf Standard-Benchmarks GPT-3.5 um 25% und Llama-2-13b um 65% gegenüber Few-Shot-Prompting. JetBlue deployed RAG-Services zweimal schneller als mit LangChain. Pexon Consulting, Microsoft Partner mit 80 Mitarbeitern in Deutschland, setzt DSPy für RAG-Projekte mit klarer Evaluations-Pipeline — DSGVO-konform auf Azure OpenAI oder vLLM on-prem.
Der CFO-Test, den die meisten RAG-Projekte nicht bestehen
„Wie messen Sie, dass Ihr RAG-System besser wird?“ — diese Frage stellen wir in jedem Scoping-Workshop. Die Antwort ist in 8 von 10 Fällen: „Wir testen manuell ein paar Queries. Die Qualität fühlt sich besser an.“ Das ist der Moment, in dem jeder CFO das Projektbudget hinterfragen sollte.
Laut einer Squirro-Analyse zum State of RAG & GenAI 2026 nennen über 60% der Enterprises Halluzinationen als den Top-Adoption-Blocker. Gleichzeitig zeigt McKinsey im State of AI 2025, dass nur 17% der Unternehmen einen EBIT-Effekt von über 5% aus GenAI messen. Die Lücke ist nicht, dass die Modelle schlecht sind — die Lücke ist, dass niemand misst, ob das System wirklich besser wird.
DSPy erzwingt diese Disziplin. Ein DSPy-Programm kompiliert nicht ohne Metrik. Sie können buchstäblich keinen Optimizer starten, ohne eine Funktion mitzuliefern, die „gut“ von „schlecht“ unterscheidet. Für Teams, die diese Frage bisher ausgeblendet haben, ist das die unangenehmste Stelle. Für CFOs ist es genau das, was ein Projektbudget verteidigen lässt.
Was DSPy-RAG technisch anders macht
Ein LangChain-RAG-Pipeline ist eine Kette: Retriever → Prompt → LLM → Parser. Jede Komponente hat einen Prompt, der als f-String im Code steht. Wer den Prompt verbessern will, editiert ihn von Hand und hofft auf besseres Gefühl.
# LangChain-RAG — typisches Pattern
from langchain.chains import RetrievalQA
from langchain.prompts import PromptTemplate
prompt = PromptTemplate(
template="""Beantworte die Frage nur mit dem Kontext.
Kontext: {context}
Frage: {question}
Antwort:""",
input_variables=["context", "question"],
)
qa = RetrievalQA.from_chain_type(
llm=llm, retriever=retriever,
chain_type_kwargs={"prompt": prompt},
)
In DSPy wird aus dem Prompt ein typed Contract und aus der Pipeline ein Python-Modul, das gegen eine Metrik optimiert wird:
import dspy
class RAGSignature(dspy.Signature):
"""Beantworte Fragen auf Basis des retrieved Kontexts."""
context: list[str] = dspy.InputField(desc="Relevante Passagen.")
question: str = dspy.InputField()
answer: str = dspy.OutputField(desc="Kurze, faktenbasierte Antwort.")
class RAG(dspy.Module):
def __init__(self, k=5):
self.retrieve = dspy.Retrieve(k=k)
self.generate = dspy.ChainOfThought(RAGSignature)
def forward(self, question):
passages = self.retrieve(question).passages
return self.generate(context=passages, question=question)
rag = RAG()
Der Unterschied ist nicht kosmetisch. ChainOfThought fügt Reasoning-Steps ein, die DSPy intern verwaltet. Die Signatur ist ein Vertrag, der sich versionieren lässt. Und — das ist der Kern — der Optimizer kann jetzt diesen Programmaufbau nehmen und ihn verbessern.
Der Optimizer als Game-Changer
Das DSPy-Paper (ICLR 2024) dokumentiert auf HotPotQA Multi-Hop-QA eine Verbesserung von 32% auf 46% Accuracy. Das ist der Sprung zwischen „Demo“ und „Produktion“. Für Llama-2-13b berichten die Autoren eine Accuracy-Steigerung von bis zu 65% gegenüber Few-Shot-Prompting. In einer neueren Studie von Soylu et al. (Juli 2024) liegen kombinierte Fine-Tuning- und Prompt-Optimization-Gains bei +5-78% auf HotpotQA.
from dspy.teleprompt import MIPROv2
def faithfulness(example, pred, trace=None):
# "Ist die Antwort im Kontext belegt?"
return answer_is_grounded_in_context(pred.answer, example.context)
optimizer = MIPROv2(metric=faithfulness, auto="medium")
optimized_rag = optimizer.compile(
rag,
trainset=train, # 100-300 gelabelte Beispiele reichen für den Start
valset=val,
)
optimized_rag.save("rag_production_v2.1.json")
Was hier passiert: MIPROv2 macht Bayesian-Suche über Instructions und Few-Shot-Examples gemeinsam. Das Ergebnis ist nicht ein „besserer Prompt“ — es ist ein versionierbares JSON-Artifact mit optimierten Anweisungen und kuratierten Beispielen, das Sie in Git einchecken, in CI deployen und bei Bedarf zurückrollen können. Für Audit-Nachvollziehbarkeit in regulierten Branchen ist das ein echter Vorteil.
Seit DSPy 3.0 (Release 2025/2026) gibt es zusätzlich GEPA — einen Genetic-Pareto-Optimizer, der kürzere Prompts bei gleicher Qualität findet. Im RAG-Framework-Benchmark 2026 von Iternal.ai liegt DSPy mit 3,53ms Overhead und 2,03k Tokens pro Query deutlich unter LangChain (10ms, 2,40k). Bei 100.000 Queries pro Monat sind das 37 Millionen weniger Tokens — gegen GPT-4o etwa 130 EUR gespart. Bei Volumen-RAG-Services läuft das auf fünfstellige Jahreseinsparungen.
Was in LangChain-RAGs in Produktion bricht
Der Shashank-Guda-Medium-Artikel, der in LangChain-Community-Debatten oft zitiert wird, formuliert drei konkrete Schwachstellen:
Erstens ist die Antwort fluent, aber oft falsch zitiert. Ein LangChain-RAG-Pipeline versteckt Embedding-Drift (Chunks, die nicht mehr semantisch zum Query passen) und Chunk-Overlap-Probleme (Antwort stammt aus Prompt-Leakage, nicht aus dem Dokument). Die Antwort klingt plausibel. Die Quellenangabe ist erfunden.
Zweitens fehlt Kontrolle über State mitten im Run. Bei LangGraph-basierten Multi-Step-Agents ist das händelbar. Bei klassischen RetrievalQA-Chains: sehr eingeschränkt. Sie sehen nicht, welche Passage das LLM wirklich genutzt hat und welche es ignoriert hat.
Drittens: Breaking Changes. Die Community-Diskussion auf GitHub (Thread 182015) aus 2025 listet konkret Fälle, in denen funktionierender LangChain-RAG-Code nach Minor-Version-Updates neu geschrieben werden musste. In Enterprise-Deployments mit Compliance-Review ist das schmerzhaft — jedes Update ist ein Mini-Audit-Cycle.
Unsere Empfehlung aus konkreten Pexon-Projekten: Wenn Ihr LangChain-RAG produktiv läuft und stabil ist, lassen Sie ihn laufen. Für neue RAG-Services oder für Projekte, bei denen die Antwortqualität nachweislich nicht ausreicht, ist DSPy die weniger riskante Wahl.
Die JetBlue-Blaupause
Die Fluggesellschaft hat 2024/2025 einen RAG-basierten Chatbot und eine Customer-Feedback-Klassifikation mit DSPy auf Databricks Mosaic AI deployed. Laut Databricks-Blog („Optimizing Databricks LLM Pipelines with DSPy“): zweimal schnellere Deployment-Zeit gegenüber der vorherigen LangChain-Architektur, Eliminierung manuellen Prompt-Engineerings, LLM-as-a-Judge zur automatischen Qualitätsoptimierung. Stack: Llama 2 70B auf Databricks Model Serving plus Databricks Vector Search.
Das interessante Detail für deutsche Enterprise-Projekte: JetBlue nutzt einen großen, selbst-gehosteten LLM-Stack. Genau dieser Pfad ist für DSGVO-kritische DACH-Kunden — Versicherungen, Banken, Healthcare — oft die einzig compliance-taugliche Option. DSPy ist infrastruktur-agnostisch. Der Wechsel von Azure OpenAI zu vLLM auf Azure Kubernetes Service ist ein Zeilen-Change im LM-Setup, kein Stack-Rewrite.
DSGVO-konformer DSPy-RAG-Stack
Drei Deployment-Pfade, die wir bei Kunden regelmäßig aufsetzen:
Pfad 1 — Azure OpenAI mit Data Zone Standard (Germany West Central oder Sweden Central). DSPy-LM auf den Azure-Endpoint, Vector Store in Azure AI Search mit Vektor-Feld-Support seit 2024. Standard-Pfad für ~70% unserer RAG-Projekte. Typisches Budget: 70-120k EUR für einen produktionsreifen Service mit Evaluations-Harness.
Pfad 2 — Hybrid mit Azure + Qdrant. Qdrant hat native ColBERT-Unterstützung, die DSPy direkt nutzt — relevant für RAG-Qualität, weil ColBERT-Retrieval bessere Passage-Relevanz liefert als reine Dense-Embeddings. Setup: Qdrant als Docker-Container in Azure Container Apps oder AKS. Budget-Range: 80-130k EUR.
Pfad 3 — On-Prem mit vLLM plus Weaviate. Für regulierte Branchen, bei denen keine Daten Azure verlassen dürfen. vLLM als LLM-Server, Weaviate als Vector Store, beides on-prem oder in privater Azure-VNet. DSPy-LM auf openai/ mit api_base=http://vllm.internal:8000/v1. Budget-Range: 150-250k EUR plus GPU-Infrastruktur.
In allen drei Pfaden setzen wir MLflow auf Azure ML Workspace für Tracing ein. mlflow.dspy.autolog() ist ein Einzeiler, der das komplette Tracing aktiviert — alle LM-Calls, alle Retrieval-Calls, alle Optimizer-Runs werden versioniert und sind für DSGVO-Audits nachvollziehbar.
Der typische Migrationspfad
Wir empfehlen Kunden mit bestehendem LangChain-RAG selten eine Komplett-Migration. Stattdessen läuft die Einführung bei uns in drei Phasen:
Phase 1 — Evaluations-Harness baut ihr Team, nicht DSPy. Bevor wir das Framework wechseln, bauen wir eine gelabelte Test-Suite (100-500 Queries mit bekannten guten Antworten) und messen den bestehenden LangChain-RAG. Typisch: 60-75% Answer-Accuracy, 15-25% Halluzinationsrate. Das ist der Baseline-Wert, gegen den alles weitere misst.
Phase 2 — Shadow-Deployment des DSPy-RAG. Der neue DSPy-Pipeline läuft parallel, bekommt die gleichen Queries, produziert Antworten — die aber niemand sieht. Wir vergleichen beide gegen die Test-Suite und tunen den DSPy-Optimizer, bis er nachweislich besser ist. Typisches Ergebnis nach 2-4 Wochen: 80-90% Answer-Accuracy, 5-10% Halluzinationsrate.
Phase 3 — Graduelles Traffic-Routing. Feature-Flag mit 1%, dann 10%, dann 50%, dann 100%. Während der Umschaltung läuft die Evaluations-Suite kontinuierlich in CI. Wenn ein Metrik-Wert unter eine Schwelle fällt, automatischer Rollback.
Dieser Ansatz ist langweilig. Er ist aber auch sehr sicher — und in regulierten Branchen ist das die einzig auditierbare Art, einen Stack-Wechsel durchzuführen.
Wann DSPy nicht die richtige Antwort ist
Drei Szenarien, in denen wir Kunden aktiv von DSPy abraten:
Reines Single-Shot Q&A ohne Evaluations-Ambition. Wenn Ihr Team keinen Validation-Datensatz hat und auch keinen aufbauen will, liefert der DSPy-Optimizer nichts. Ohne Metrik gibt es keine Optimierung. Dann reicht ein schlanker PydanticAI-Agent mit gutem handgeschriebenem Prompt.
Extrem volatile Datenquellen. Wenn sich Ihr Knowledge-Base täglich ändert und der Retriever das Hauptproblem ist (nicht der Prompt), dann bringt DSPy wenig. In dem Fall ist Arbeit an Chunking, Embeddings und Vector-DB-Konfiguration die höhere Priorität.
Teams mit harter LangChain-Expertise, die produktiv läuft. Ein funktionierender LangChain-RAG mit eingespieltem Team ist ein Asset. Einen Stack-Wechsel ohne klaren Business-Case zu starten, kostet mehr als er bringt. Wir empfehlen dann punktuelle Optimierung mit DSPy-Komponenten in der bestehenden Pipeline.
Häufig gestellte Fragen
Um wie viel besser ist DSPy-RAG messbar als LangChain-RAG?
Auf Standard-Benchmarks berichtet das DSPy-Paper Verbesserungen von +25% (GPT-3.5) bis +65% (Llama-2-13b) gegenüber Few-Shot-Prompting. JetBlue berichtet zweifach schnellere Deployment-Zeit. In eigenen Kundenprojekten sehen wir typischerweise 10-40% absolute Accuracy-Verbesserung nach einem Optimizer-Run gegen eine gelabelte Test-Suite. Der exakte Wert hängt stark an der Qualität der Testdaten und der gewählten Metrik.
Warum sind meine LangChain-RAG-Antworten fluent, aber zitieren falsch?
Das Phänomen heißt Embedding-Drift plus Prompt-Leakage. LangChain-Chains abstrahieren diese beiden Fehlerquellen weg — der Output sieht gut aus, weil das LLM kompensiert. DSPy zwingt mit einer Faithfulness-Metrik dazu, dass die Antwort nachweislich aus dem Retrieved-Kontext stammt. Wenn der Kontext schlecht ist, fällt die Metrik — und Sie sehen das Problem.
Muss ich LangChain komplett rauswerfen?
Nein. DSPy und LangChain können koexistieren. Sie können LangChain für die Tool-Orchestration und Vector-DB-Anbindung behalten und DSPy nur für die Prompt-Optimization einführen. Das ist in den meisten Fällen der pragmatischste Einstieg. Eine Komplett-Migration empfehlen wir nur bei grundlegenden Qualitäts- oder Stabilitätsproblemen.
Welche Vector DB passt am besten zu DSPy?
Für neue Projekte empfehlen wir Qdrant (hat nativen ColBERT-Support, den DSPy direkt nutzt). Weaviate ist die bessere Wahl, wenn hybride Keyword+Vektor-Suche zentral ist. Für Azure-first-Stacks ist Azure AI Search mit Vektor-Feldern der pragmatische Pfad. Chroma für Prototypen. Pinecone wenn das Team bereits dort ist und der Wechsel kein Mehrwert bringt.
Was kostet ein DSPy-RAG-Projekt in einem deutschen Mittelstandsunternehmen?
Unsere Projektbandbreite 2025/2026: 70-120k EUR für einen produktionsreifen Service mit Azure OpenAI und Evaluations-Harness (6-10 Wochen), 150-250k EUR für On-Prem-Setup mit vLLM und Weaviate (3-5 Monate). Optimizer-Laufzeit-Kosten sind zusätzlich, typisch 100-500 EUR pro Optimizer-Run gegen GPT-4o-mini. Der größte Hebel liegt nicht im Framework, sondern in der Qualität der gelabelten Test-Suite.
Nächster Schritt
Wenn Sie einen bestehenden RAG-Service haben, dessen Antwortqualität nicht ausreicht oder sich nicht messen lässt, starten wir mit einem Evaluations-Audit: 2 Wochen, gelabelte Test-Suite, Baseline-Messung des bestehenden Stacks, konkrete Empfehlung für oder gegen DSPy-Optimierung.
Verwandte Themen
→RAG-Qualität: 5 Stufen von Prototyp bis Produktion
→PydanticAI vs LangChain für Enterprise
→Indirect Prompt Injection in RAG-Systemen



