Retrieval Augmented Generation (RAG) ist eine Technik, die dir hilft, mit großen Dokumenten zu arbeiten, die zu umfangreich sind, um in einen einzigen Prompt zu passen. Anstatt alles in einen riesigen Prompt zu zwängen, zerlegt RAG Dokumente in Abschnitte (Chunks) und bezieht beim Beantworten von Fragen nur die relevantesten Teile ein.
Das Problem mit großen Dokumenten
Stell dir vor, du hast ein 800-seitiges Finanzdokument und möchtest Claude spezifische Fragen dazu stellen, wie „Welche Risikofaktoren hat dieses Unternehmen?" Du musst die relevanten Informationen aus dem Dokument irgendwie an Claude übermitteln, aber es gibt Grenzen dafür, wie viel Text du in einen Prompt einbeziehen kannst.

Option 1: Alles in den Prompt einbeziehen
Der erste Ansatz ist unkompliziert - extrahiere den gesamten Text aus dem Dokument und packe ihn zusammen mit der Frage des Nutzers in deinen Prompt. Dein Prompt könnte so aussehen:
Answer the user's question about the financial document.
<user_question>
{user_question}
</user_question>
<financial_document>
{financial_document}
</financial_document>
Dieser Ansatz hat ernsthafte Einschränkungen:
- Es gibt eine feste Grenze für die Prompt-Länge - dein Dokument könnte zu lang sein
- Claude wird bei sehr langen Prompts weniger effektiv
- Größere Prompts kosten mehr bei der Verarbeitung
- Größere Prompts benötigen länger zur Verarbeitung
Option 2: Dokumente in Abschnitte zerlegen
RAG verfolgt einen intelligenteren Ansatz. Zunächst zerlegst du das Dokument während eines Vorverarbeitungsschritts in kleinere Abschnitte. Wenn ein Nutzer dann eine Frage stellt, findest du die für die Frage relevantesten Abschnitte und beziehst nur diese in deinen Prompt ein.

So funktioniert es: Wenn jemand fragt „Welchen Risiken ist dieses Unternehmen ausgesetzt?", würdest du deine Abschnitte durchsuchen, den Abschnitt „Risikofaktoren" finden und nur diesen relevanten Abschnitt in deinen Prompt einbeziehen.

Vorteile von RAG
- Claude kann sich nur auf die relevantesten Inhalte konzentrieren
- Skaliert auf sehr große Dokumente
- Funktioniert mit mehreren Dokumenten
- Kleinere Prompts kosten weniger und laufen schneller
Herausforderungen bei RAG
- Erfordert einen Vorverarbeitungsschritt, um Dokumente zu zerlegen
- Benötigt einen Suchmechanismus, um „relevante" Abschnitte zu finden
- Einbezogene Abschnitte enthalten möglicherweise nicht den gesamten Kontext, den Claude benötigt
- Es gibt viele Möglichkeiten, Text zu zerlegen - welcher Ansatz ist der beste?
Zum Beispiel könntest du Dokumente in gleich große Teile aufteilen, oder du könntest Abschnitte basierend auf der Dokumentstruktur wie Überschriften und Abschnitten erstellen. Jeder Ansatz hat Kompromisse, die du für deinen spezifischen Anwendungsfall bewerten musst.
Wann man RAG verwenden sollte
RAG erfordert viele technische Entscheidungen und mehr Arbeit, als einfach alles in einen Prompt einzubeziehen. Du musst analysieren, ob die Vorteile die Komplexität für deine spezielle Anwendung überwiegen. Es ist besonders wertvoll, wenn du mit sehr großen Dokumenten, mehreren Dokumenten arbeitest oder wenn du für Kosten und Leistung optimieren musst.
Die zentrale Erkenntnis ist, dass RAG Einfachheit gegen Skalierbarkeit und Effizienz eintauscht. Obwohl es mehr Vorarbeit erfordert, um es richtig umzusetzen, ermöglicht es dir, mit Dokumentsammlungen zu arbeiten, die mit einfachem Prompt-Stuffing unmöglich zu handhaben wären.