DSPY · TECH
DSPy: Programmieren statt Prompten – der Stanford-Ansatz für LLM-Pipelines
DSPy ist Mai 2026 in v2.5+ ein MIT-Framework aus Stanford. Statt Prompts zu schreiben, definieren Sie Aufgaben – das System optimiert die Prompts automatisch. Production-fähig für komplexe Multi-Step-Pipelines.
Recherche & Faktencheck: DuneDive LLC · Stand: 2026-05
Was ist DSPy?
DSPy ist ein Open-Source-Framework, das den klassischen Prompt-Engineering-Ansatz für LLM-Anwendungen aufbricht. Entwickelt seit 2023 am Stanford NLP Lab unter der Leitung von Omar Khattab (ColBERT-Erfinder). MIT-Lizenz, Python-only. Mai 2026 in Version 2.5+, mit dem Status "Production-ready" – die akademische Phase ist vorbei, die Bibliothek hat sich in mehreren grossen Unternehmen bewährt.
Der fundamentale Unterschied zu LangChain und LlamaIndex: in DSPy schreiben Sie keine Prompts. Sie definieren Aufgaben (Signatures) als Python-Klassen oder Strings im Format input -> output. Die DSPy-Engine optimiert dann automatisch die Prompts durch Few-Shot-Learning aus einem kleinen Trainings-Datensatz. Statt Stunden mit Prompt-Tuning zu verbringen, schreiben Sie Aufgaben-Definitionen und lassen die Optimierung laufen.
Kern-Konzepte: Signature (Eingabe -> Ausgabe-Definition, z.B. "question -> answer"), Module (eine Komposition aus Signatures, z.B. ChainOfThought, ReAct, Predict), Optimizer (Algorithmen wie BootstrapFewShot, MIPROv2, BootstrapFinetune), Compiler (kombiniert Module und Optimizer, erzeugt finalen Pipeline-Zustand). Mai 2026 ist MIPROv2 der State-of-the-Art-Optimizer und liefert in den meisten Fällen die besten Resultate.
Die Lernkurve ist die Hauptbarriere. DSPy denkt anders als die Prompt-Engineering-Tradition. Wer von LangChain/LlamaIndex kommt, braucht typischerweise 1-2 Wochen Einarbeitung, bevor die DSPy-Welt klick macht. Wer aus dem ML-Bereich kommt (PyTorch-Erfahrung), fühlt sich schneller heimisch, weil DSPy konzeptionell wie PyTorch-für-LLMs aufgebaut ist.
Mai 2026 sind die wichtigsten Anwender Stanford selbst (Forschungs-Pipelines), einige Hedge-Funds (komplexe Finanz-Analyse-Pipelines), Pharma-Unternehmen (Literatur-Recherche und Strukturierung) und einige spezialisierte AI-Beratungen. Im typischen CH-KMU-Bereich ist DSPy Mai 2026 selten – die Lernkurve passt nicht zum schnellen Pilot-Modell.
Warum es wichtig ist
Für komplexe Multi-Step-LLM-Pipelines ist DSPy Mai 2026 das technisch interessanteste Framework. Der Grund: klassisches Prompt-Engineering skaliert schlecht. Wer eine Pipeline mit 5 LLM-Calls baut (z.B. Recherche -> Faktencheck -> Synthese -> Sprach-Prüfung -> Final-Formatierung), muss für jeden Step Prompts schreiben, testen, iterieren. Bei einer Änderung am LLM (gpt-4o -> gpt-4o-mini -> Mistral) sind alle Prompts neu zu tunen. Das ist Wartungs-Hölle.
DSPy abstrahiert dieses Problem. Die Aufgaben-Signatures bleiben gleich, die optimierten Prompts werden bei Modell-Wechsel automatisch neu kompiliert. Ein Modell-Wechsel ist konzeptionell so einfach wie der Wechsel der Compile-Konfiguration. Das ist für langfristige Pipelines ein erheblicher Vorteil – auch wenn die Initial-Lernkurve höher liegt.
Für CH-Treuhand ist die Frage: wann lohnt sich diese Lernkurve? Drei Konstellationen sprechen für DSPy. Erstens: komplexe Pipelines mit 5+ LLM-Schritten (z.B. eine Steuer-Prufung mit mehreren Quellen, Validierung, Zusammenfassung). Zweitens: produktive Pipelines mit Akkuratesse-Anforderung (z.B. Belegerkennung mit Strukturierung – wo jeder Prozent Verbesserung zählt). Drittens: wenn Modell-Wechsel häufig sind (z.B. ein Pilot startet mit GPT-4o, soll später auf Mistral-EU oder lokal Llama umsteigen).
Für einfache RAG-Pipelines ist DSPy disproportional – LlamaIndex ist schneller fertig und der Akkuratesse-Gewinn marginal. Mai 2026 nutzen viele Teams DSPy für die "harten" Pipeline-Stufen (komplexe Reasoning-Schritte) und LlamaIndex für Standard-RAG-Retrieval, kombiniert. Das ist Mai 2026 ein gängiges Muster: DSPy als Optimierungs-Layer über einem LlamaIndex-Retrieval.
Kritischer Hinweis: DSPy-Optimierung braucht ein Trainings-Set. Mindestens 30-50 echte Beispiel-Inputs mit gewünschten Outputs. Wer dieses Set nicht hat oder nicht aufbauen will, sollte DSPy nicht einsetzen – die Optimizer haben dann nichts zum Lernen.
Wie es funktioniert
Der DSPy-Workflow folgt drei Phasen: definieren, kompilieren, deployen.
Phase 1: Aufgabe definieren. Beispiel für eine einfache Frage-Antwort-Pipeline:
import dspy
lm = dspy.OpenAI(model="gpt-4o-mini", api_key=os.environ["OPENAI_API_KEY"]) dspy.settings.configure(lm=lm)
class GenerateAnswer(dspy.Signature): """Beantwortet eine Mandanten-Frage anhand des Kontext.""" context = dspy.InputField(desc="Relevante Wissens-Chunks") question = dspy.InputField() answer = dspy.OutputField(desc="Präzise Antwort auf Deutsch")
class RAG(dspy.Module): def __init__(self, num_passages=5): super().__init__() self.retrieve = dspy.Retrieve(k=num_passages) self.generate_answer = dspy.ChainOfThought(GenerateAnswer)
def forward(self, question): context = self.retrieve(question).passages return self.generate_answer(context=context, question=question)
Phase 2: Kompilieren. Eine Optimierung mit MIPROv2 braucht ein Trainings-Set:
from dspy.teleprompt import MIPROv2
trainset = [ dspy.Example(question="Welche AHV-Beiträge gelten 2026?", answer="...").with_inputs("question"), # ... mindestens 30 Beispiele ]
def validate(example, pred, trace=None): return dspy.evaluate.answer_exact_match(example, pred)
teleprompter = MIPROv2(metric=validate, auto="medium") compiled_rag = teleprompter.compile(RAG(), trainset=trainset)
Die Compile-Phase läuft mehrere Minuten bis Stunden. MIPROv2 generiert mehrere Prompt-Varianten, probiert sie aus, behält die beste. Das Ergebnis ist ein optimiertes Modul mit Few-Shot-Examples in den Prompts.
Phase 3: Deployen. Das kompilierte Modul wird wie ein normales Python-Objekt aufgerufen:
response = compiled_rag("Welche AHV-Beiträge gelten 2026?") print(response.answer)
Das Modul kann via compiled_rag.save("rag_v1.json") serialisiert und in Produktion deployed werden.
Fortgeschrittene Module: ReAct für Tool-Calling, ProgramOfThought für Code-Generierung, MultiHopReasoning für komplexe Recherche-Pipelines. DSPy bringt eingebaute Retriever-Adapter für Pinecone, Qdrant, Weaviate, ColBERT, Chroma.
Der DSPy-Tracing über MLflow oder Phoenix integriert. Jede Pipeline-Ausführung wird mit Module-Calls, Prompts, Token-Verbrauch und Latenz aufgezeichnet. Mai 2026 ist Phoenix (Arize AI, open-source) die empfohlene Tracing-Lösung.
Wichtig: DSPy-kompilierte Pipelines sind nicht modell-portabel. Wenn Sie auf einen anderen LLM wechseln, müssen Sie neu kompilieren – die optimierten Few-Shot-Examples passen oft nicht direkt. Das ist die Kehrseite des Optimierungs-Ansatzes.
DSPy-Setup in 5 Schritten
- 01Anwendungsfall prüfen: 5+ LLM-Schritte? Akkuratesse-Kritisch? Trainings-Daten verfügbar (30-50 echte Beispiele)? Falls nicht alles ja – LlamaIndex statt DSPy.
- 02Signatures definieren: jeder LLM-Schritt als input -> output. Beschreibungen klar formulieren, ChainOfThought oder ReAct als Modul-Wrapper wählen.
- 03Trainings-Set bauen: 30-50 Beispiel-Eingaben mit gewünschten Outputs. Validation-Metric definieren (exact match, F1, eigene Logik).
- 04Mit MIPROv2 kompilieren: auto="light" für schnelle Tests, auto="medium" für produktive Optimierung, auto="heavy" für maximale Qualität. Compile-Dauer beachten (10 min bis mehrere Stunden).
- 05Tracing aufsetzen: Phoenix (Arize AI) oder MLflow für Pipeline-Visualisierung. Token-Verbrauch und Latenz pro Module-Call monitoren. Bei Modell-Wechsel re-compile mit aktuellem Trainings-Set.
Wann DSPy einsetzen
DSPy ist die richtige Wahl, wenn (a) die Pipeline 5+ LLM-Schritte umfasst, (b) Akkuratesse kritisch ist und Optimierungs-Aufwand sich lohnt, oder (c) das Team Forschungs-orientiert ist und PyTorch-Erfahrung hat.
Konkrete Fälle: ein Finanz-Analytiker baut eine Pipeline aus Recherche-Quellen + Faktencheck + Tabellen-Extraktion + Bericht-Synthese + Qualitäts-Prüfung – DSPy mit MIPROv2 optimiert die einzelnen Schritte gemeinsam. Ein Anwaltsbüro will Vertrags-Analyse mit Klausel-Klassifikation, Risiko-Bewertung und Empfehlung – DSPy als Multi-Step-Pipeline mit Few-Shot-Beispielen aus Bestand. Ein KMU bekommt 100 Belege pro Tag und will sie zu strukturierten Buchungs-Datensätzen verarbeiten – DSPy für Extraktion + Validierung + Kategorisierung.
Für akademische und Forschungs-Projekte ist DSPy Mai 2026 das Default-Framework. Die meisten neuen Stanford- und MIT-Papers zu LLM-Reasoning nutzen DSPy als Basis. Wer im Forschungs-Umfeld arbeitet, kommt nicht daran vorbei.
Für A/B-Tests verschiedener Modelle (gpt-4o vs. Mistral vs. Llama) ist DSPy elegant – gleiche Signature, drei Compile-Konfigurationen, drei Vergleichs-Pipelines mit konsistenter Optimierung.
Wann NICHT
Für einfache RAG-Pipelines mit einem oder zwei LLM-Schritten ist DSPy überdimensioniert. LlamaIndex ist schneller fertig und der Akkuratesse-Gewinn minimal.
Für Teams ohne Python-Tiefe oder ohne ML-Hintergrund ist die DSPy-Lernkurve disproportional. Wer in 2-3 Wochen einen produktiven Bot braucht, sollte LlamaIndex oder LangChain wählen.
Für Anwendungsfälle ohne Trainings-Daten (z.B. ein Pilot ohne Beispiel-Outputs) kann DSPy nicht optimieren. Mindestens 30-50 Beispiel-Beispiele sind nötig – wer die nicht hat, sollte erst die Daten sammeln.
Für Agent-Workflows mit komplexer State-Verwaltung und Multi-Tool-Calls ist LangGraph stärker. DSPys ReAct-Modul deckt das auch ab, aber LangGraph ist Mai 2026 reifer.
Für No-Code-Setups ist DSPy ungeeignet – alles ist Python-Code, kein Visual-Builder. Flowise oder Langflow sind hier die Wahl.
Für extrem latenz-kritische Anwendungen (Sub-Sekunden) ist die DSPy-Pipeline durch die Module-Schicht etwas langsamer als ein direkter LLM-Call. Bei kritischer Latenz Eigenbau mit nacktem LLM-SDK schneller.
Wenn die LLM-Provider häufig wechseln und Pipeline-Neu-Kompilierung nicht akzeptabel ist: DSPy-Pipelines sind nicht modell-portabel. Bei Modell-Wechsel ist Re-Compile mit dem Trainings-Set nötig – typisch 10-60 Minuten Compile-Zeit, plus Validierung.
Vor- und Nachteile
STÄRKEN
- Optimierung statt manuelles Prompt-Tuning – skaliert besser bei komplexen Pipelines
- Klare Trennung von Aufgaben-Definition und Prompt-Implementation
- Stanford-Backing, akademisch fundiert, Production-fähig Mai 2026
- Eleganter A/B-Test verschiedener Modelle über gleiche Signature
SCHWÄCHEN
- Steile Lernkurve – 1-2 Wochen Einarbeitung von LangChain-Hintergrund
- Trainings-Daten (30-50 Beispiele) sind Pflicht – ohne nichts
- Pipelines nicht modell-portabel – Re-Compile bei Modell-Wechsel
- Compile-Phase dauert Minuten bis Stunden – kein schneller Iterations-Zyklus
Häufige Fragen
Lohnt sich DSPy für ein CH-KMU?
Selten. DSPy ist akademisch hochinteressant und Mai 2026 production-fähig, aber die Lernkurve passt nicht zum schnellen KMU-Pilot-Modell. Lohnt sich bei komplexen Multi-Step-Pipelines mit hoher Akkuratesse-Anforderung – z.B. eine Steuer-Prüfung mit 5 Schritten. Für Standard-RAG ist LlamaIndex schneller produktiv.
Wie viele Trainings-Beispiele braucht es?
Mindestens 30-50, optimal 100-200. Mit weniger als 30 Beispielen kann MIPROv2 nicht zuverlässig optimieren. Die Beispiele müssen die Vielfalt der echten Anwendungs-Fälle abdecken – wenn der Anwendungsfall 5 Mandanten-Typen umfasst, sollte das Trainings-Set alle 5 enthalten.
Sind die kompilierten Pipelines modell-portabel?
Nein. DSPy-Optimierung bindet sich an das jeweilige Modell. Bei Wechsel von gpt-4o auf Mistral muss neu kompiliert werden. Das ist auch der Sinn – DSPy optimiert die Few-Shot-Prompts modell-spezifisch. Pragmatisch: Signatures bleiben gleich, Compile-Schritt wird Teil der CI/CD-Pipeline.
DSPy plus LlamaIndex – geht das?
Ja, das ist Mai 2026 ein gängiges Muster. LlamaIndex für Daten-Loading, Chunking, Embedding und Retrieval. DSPy für die schweren Reasoning-Schritte nach dem Retrieval (Antwort-Generierung, Faktencheck, Synthese). Beide nutzen Python und integrieren über gemeinsame Datenstrukturen.
Verwandte Themen
Quellen
PASSEND ZU IHREM STACK?