Kern des Patterns
RAG Agent ist ein Pattern, bei dem der Agent zuerst relevante Quellen findet und dann darauf basierend antwortet - statt sich nur auf das parametrische ModellgedĂ€chtnis zu stĂŒtzen.
Wann einsetzen: wenn die Antwort auf aktuellen Dokumenten und Quellenangaben basieren muss, nicht nur auf ModellgedÀchtnis.
Statt "aus dem Kopf des Modells" zu antworten, ergÀnzt RAG einen eigenen Schritt:
- Fakten in der Wissensbasis finden
- die relevantesten Fragmente auswÀhlen
- mit Quellen antworten

Problem
Stell dir vor, ein Nutzer fragt:
"Welches SLA gilt fĂŒr den Enterprise-Plan?"
Der Agent antwortet ohne Retrieval-Schritt, nur aus dem ModellgedÀchtnis.
Der Text kann sicher klingen, aber schwach belegt sein:
- veralteter Wert aus einer frĂŒheren Policy-Version
- vermischte Fakten aus verschiedenen Dokumenten
- keine Quelle zur Verifikation
- "prÀzise" Formulierung ohne Belege
Ohne kontrollierte Suche kann selbst eine plausible Antwort unbelegt sein.
Besonders riskant ist das fĂŒr Support, Compliance, interne Policies und technische Dokumentation.
Genau hier liegt das Problem: ohne Quellenbindung kann der Agent eine ĂŒberzeugende, aber nicht verifizierte Antwort geben, die schwer auditierbar ist.
Lösung
RAG ergÀnzt eine grounding-policy, die die Suche vor der Generierung steuert.
Analogie: Das ist wie Antworten mit offenem Buch. Zuerst suchst du die richtigen Seiten, dann formulierst du die Antwort. Wenn Quellen fehlen, ist RĂŒckfrage besser als Erfinden.
SchlĂŒsselprinzip: erst Quellen finden und verifizieren, dann antworten.
Der Agent kann Text vorschlagen, aber die grounding-policy bestimmt:
- welche Quellen gĂŒltig sind
- was in die Antwort darf
- wann ein Fallback statt "Dazudichten" nötig ist
Kontrollierter Ablauf:
- Retrieval: relevante Fragmente finden
- Ranking/Filterung: Rauschen und Duplikate entfernen
- Quellenbindung: erlaubten Kontext aufbauen
- Generierung: nur innerhalb dieses Kontexts antworten
- Zitieren: Links/Metadata an Aussagen hÀngen
Das bringt:
- geringeres Halluzinationsrisiko bei factual-Anfragen
- Bindung der Antwort an Dokumente
- Verifizierbarkeit und Auditierbarkeit
- aktuellere Antworten bei DokumentÀnderungen
Funktioniert gut, wenn:
- die Suche einen hochwertigen Index + Metadata hat
- Ranking zuverlÀssig Rauschen herausfiltert
- das Modell nicht auĂerhalb des geerdeten Kontexts antwortet
- bei fehlenden Quellen ein sicherer Fallback greift
Das Modell kann "antworten wollen", aber die RAG-Schicht entscheidet, ob die Beleglage ausreicht.
Wie es funktioniert
RAG ersetzt den Agenten nicht. Es ergÀnzt eine Wissensschicht vor der Antwortgenerierung.
Kernidee: wenn kein relevanter Kontext da ist, darf das System keine Antwort "erfinden".
VollstĂ€ndiger Flow: Retrieve â Ground â Generate â Cite
Retrieve
Das System sucht Kandidaten in der Wissensbasis zur Nutzeranfrage.
Quellenbindung
Die ausgewĂ€hlten Fragmente werden als einziger erlaubter Kontext fĂŒr die Antwortgenerierung ĂŒbergeben.
Generierung
Der Agent formuliert die Antwort nur auf Basis dieses Kontexts. Jede Information auĂerhalb gilt als nicht erlaubt.
Zitieren
Im finalen Ergebnis werden Quellen ergÀnzt: Link, Dokumentname, Version oder Timestamp.
Im Code sieht das so aus
chunks = retrieve(goal, top_k=8, filters={"tenant_id": tenant_id})
context = rerank_and_pack(goal, chunks, max_tokens=2500)
if not context:
return ask_clarifying_or_fallback(goal) # ohne relevanten Kontext generieren wir keine Antwort
answer = generate_grounded_answer(goal, context) # Generierung nur aus gefundenen Quellen
answer = attach_citations(answer, context)
return answer
So sieht es bei der AusfĂŒhrung aus
Goal: Welches SLA gilt fĂŒr den Enterprise-Plan?
Retrieve:
- 6 Fragmente in Support-Policies gefunden
- nach Rerank bleiben 2 relevante ĂŒbrig
- wenn relevante Fragmente = 0 -> RĂŒckfrage / Fallback statt erfundener Antwort
Ground:
- Kontext aus zwei AuszĂŒgen aufgebaut
- Metadata ergÀnzt: doc_id, section, updated_at
Generate:
- Antwort nur aus diesen Quellen erstellt
Cite:
- Link auf "Support Policy v3.2" ergÀnzt
VollstÀndiges RAG-Agent-Beispiel
Wann es passt - und wann nicht
Passt
| Situation | Warum RAG passt | |
|---|---|---|
| â | Faktische Genauigkeit und Quellenangaben sind wichtig | RAG bindet die Antwort an konkrete Dokumente und erleichtert die Verifikation. |
| â | Wissen Ă€ndert sich hĂ€ufig | Die Suche zieht aktuelle Daten nach, ohne das Modell neu zu trainieren. |
| â | Antwort muss auf internen Materialien basieren | RAG erlaubt, Unternehmensdokumente als Antwortgrundlage zu nutzen. |
| â | Halluzinationen sollen reduziert werden | Geerdeter Kontext senkt den Anteil von Antworten ohne faktische Basis. |
| â | Das Ergebnis muss auditierbar sein | Gefundene Quellen lassen sich loggen und als Antwortbasis erklĂ€ren. |
Passt nicht
| Situation | Warum RAG nicht passt | |
|---|---|---|
| â | Aufgabe hĂ€ngt nicht von externem Wissen ab | Die Suche verursacht Overhead ohne spĂŒrbare Ergebnisverbesserung. |
| â | Keine hochwertige Wissensbasis und Metadata | Schwacher Index und schlechte Dokumente liefern irrelevante Treffer. |
| â | Nur kurze Generierung ohne Fact-Checking nötig | RAG macht das System in diesem Fall unnötig komplex und langsamer. |
Denn RAG fĂŒgt zusĂ€tzliche Schritte fĂŒr Indexierung, Suche und Ranking hinzu.
Unterschied zu ReAct
| ReAct | RAG | |
|---|---|---|
| Hauptrolle | Schrittweise Entscheidungsfindung | Relevantes Wissen in den Kontext bringen |
| SchlĂŒsselfrage | Was tun wir als NĂ€chstes? | Auf welchen Quellen soll die Antwort basieren? |
| Fokus | Aktionen und Tools | Fakten und geerdete Generierung |
| Risiko ohne Guardrails | Zu viele Tool-Calls oder Schleifen | Halluzinationen bei schwacher Suche |
ReAct steuert den Aktionszyklus des Agenten.
RAG steuert die QualitÀt des Wissens, auf dem die Antwort basiert.
Wann RAG verwenden (vs andere Patterns)
Verwende RAG, wenn die Antwort sich bei der aktuellen Anfrage auf externe Dokumente oder eine Wissensbasis stĂŒtzen muss.
Kurzer Test:
- wenn du "relevante Quellen finden und darauf basierend antworten" musst -> RAG
- wenn du "Nutzerkontext zwischen Schritten oder Sessions behalten" musst -> Memory-Augmented Agent
Vergleich mit anderen Patterns und Beispiele
Schnelle Spickzettel:
| Wenn die Aufgabe so aussieht... | Verwende |
|---|---|
| Wissen aus externen Quellen finden und daraus eine Antwort generieren | RAG Agent |
| Nutzerkontext zwischen Schritten oder Sessions speichern und nutzen | Memory-Augmented Agent |
Beispiele:
RAG: "Beantworte Kundenfragen nur auf Basis der internen Policy-Basis und zeige Quellen."
Memory-Augmented: "Merke dir, dass der Kunde bereits den Pro-Tarif gewĂ€hlt hat, und berĂŒcksichtige das in den nĂ€chsten Antworten."
Mit anderen Patterns kombinieren
- RAG + ReAct: erst holt der Agent Fakten aus Quellen, dann fĂŒhrt er Schritte auf verifiziertem Kontext aus.
- RAG + Supervisor: fehlen gĂŒltige Quellen, wird die Antwort blockiert oder zur Freigabe weitergeleitet.
- RAG + Multi-Agent Collaboration: alle Agenten teilen denselben Knowledge Context und arbeiten konsistent.
Kurzfassung
RAG Agent:
- Findet relevante Wissensfragmente
- Formt die Antwort auf ihrer Basis
- FĂŒgt Quellenangaben hinzu
- Reduziert Halluzinationsrisiken
Vorteile und Nachteile
Vorteile
antwortet auf Basis deiner Dokumente
weniger Modell-Erfindungen
Quellen können in der Antwort gezeigt werden
Wissen wird ohne Modell-Retraining aktualisiert
Nachteile
QualitÀt hÀngt von Index und Chunking ab
Wissensbasis muss gepflegt werden
ohne Filter können irrelevante Fragmente gezogen werden
FAQ
Q: Garantiert RAG eine zu 100% richtige Antwort?
A: Nein. RAG senkt das Fehlerrisiko, aber QualitÀt hÀngt weiterhin von Index, Suche und Ranking ab.
Q: Was tun, wenn keine relevanten Quellen gefunden werden?
A: Es braucht einen sicheren Fallback: RĂŒckfrage, begrĂŒndete Ablehnung oder Eskalation an einen Menschen.
Q: Ersetzt RAG Fine-Tuning?
A: Nein. RAG löst den Zugriff auf aktuelles Wissen. Fine-Tuning verÀndert Stil oder Verhalten des Modells. In Produktion werden beide oft kombiniert.
Was als NĂ€chstes
RAG gibt dem Agenten aktuelles externes Wissen fĂŒr die laufende Anfrage.
Aber wie speichert man nĂŒtzlichen Interaktionskontext ĂŒber Nutzersessions hinweg?