Retrieval Augmented Generation (RAG) hat sich als Technologie der nächsten Generation etabliert, um große Mengen an Daten in Antworten von Künstlicher Intelligenz zu transformieren. Dennoch sind viele Entwickler nach ihrem ersten Prototyp enttäuscht, weil die Leistung nicht den Erwartungen entspricht. Genau hier setzt meine siebenstufige Strategie an, die den gesamten RAG-Prozess analysiert und optimiert, um von einfachen Prototypen zu produktionsreifen, stabilen Lösungen zu gelangen. Der Kern einer erfolgreichen RAG-Anwendung liegt in der Strukturierung und Aufbereitung der Daten. Schon bei der ersten Phase, dem sogenannten Chunking, entscheidet sich, wie hochwertig die späteren Antworten sein werden.
Das präsentiert eine Herausforderung: Wie zerschneidet man umfangreiche Dokumente effizient und sinnvoll in verwertbare Abschnitte? Die Antwort ist entscheidend, weil das Large Language Model (LLM) nur mit relevanten, fokussierten Informationen arbeiten kann. Wenn der Kontext nicht präzise ist, entsteht bei der Beantwortung von Fragen unnötiges Rauschen, das die Qualität entscheidend mindert. Verschiedene Methoden für das Chunking haben sich bewährt. Die herkömmliche rekursive Charakterteilung zerteilt Texte in gleichgroße Segmente mit Überschneidungen, um Kernideen vollständig abzudecken. Allerdings ist diese Technik begrenzt, da nicht jede Idee die gleiche Textlänge benötigt.
Dies führt oft zu einer Mischung aus hochwertigem und weniger relevantem Content in den einzelnen Abschnitten. Die Herausforderung besteht darin, die Größe und Überlappung so zu balancieren, dass weder zu viel irrelevanter Text enthalten ist, noch wichtige Zusammenhänge verloren gehen. Fortschrittlicher ist das semantische Chunking, bei dem die Inhalte anhand ihrer Bedeutung segmentiert werden. Hierbei werden einzelne Sätze oder Absätze in Vektorrepräsentationen umgewandelt und deren semantischer Abstand gemessen. Ein signifikanter Bedeutungswechsel markiert den Bruchpunkt zwischen zwei Chunks.
Diese Art der Aufteilung erzeugt meist inhaltlich sauber getrennte Abschnitte mit variabler Länge und damit eine höhere Qualität der Inputdaten. Allerdings erfordert dieses Verfahren hohen Rechenaufwand und führt in manchen Fällen zu übermäßiger Fragmentierung, gerade wenn Themen temporär wechseln und wieder zurückkehren. Eine weitere Variante ist das Agentic Chunking. Diese Methode ahmt menschliches Verständnis nach, indem sie zunächst große Abschnitte erzeugt und anschließend mittels LLMs auch bedeutungsmäßig prüft, ob neue Inhalte zu bereits bestehenden Chunks passen oder ein neues Segment gebildet werden muss. Die Technologie aktualisiert dabei fortlaufend die Zusammenfassungen der Chunks, um eine sinnvolle Gruppierung sicherzustellen.
Agentic Chunking liefert meist die besten Ergebnisse, erfordert aber eine komplexe Implementierung und ist relativ langsam, da es viele Abfragen an das Modell stellt. Darüber hinaus habe ich die Methode des Chunk Clustering entwickelt, bei der ähnliche Absätze anhand ihrer Vektorrepräsentationen gruppiert werden. Diese Cluster stellen dann die einzelnen Chunks dar, wodurch verstreute Informationen komprimiert und zusammengeführt werden. Clustering ist in der Regel schneller als Agentic Chunking und trotzdem sehr effizient in der Schaffung thematisch konsistenter Textabschnitte. Die Wahl der richtigen Chunking-Strategie sollte deshalb auf Basis einer Kosten-Nutzen-Analyse erfolgen, die sowohl Qualität als auch Performanz und Effizienz abwägt.
Experimentieren an ausgewählten Datenproben hilft, das optimale Gleichgewicht zu finden. Neben der Segmentierung ist die Qualität der Embeddings essenziell. Embedding-Modelle, die Dokumente in Vektorräume abbilden, scheinen auf den ersten Blick mit wachsender Komplexität und Größe bessere Ergebnisse zu liefern. Doch oft ist das Gegenteil der Fall. Große Modelle sind breit trainiert und eignen sich für eine Vielzahl von Inhalten, aber selten fokussieren sie auf unternehmensspezifische Fachbegriffe oder interne „Codewörter“.
Hier sind kleinere, feinjustierte Modelle im Vorteil. Durch das Anpassen an die eigene Domäne – mit überschaubarem Aufwand an Trainingsdaten – erfassen diese Modelle die relevanten linguistischen Besonderheiten besser. Das spart Kosten, erhöht die Geschwindigkeit und steigert die Genauigkeit. Die Erstellung solcher maßgeschneiderten Datenmengen ist zwar mit Aufwand verbunden, insbesondere wenn Expertenwissen gefragt ist, führt aber zu deutlich robusteren Embeddings. Empfehlenswert ist es, mit einem kleineren Modell wie BAAI/bge-small-en-v1.
5 zu starten und etwa tausend beispielhafte Inputs zum Feintuning zu verwenden. Ein weiterer Punkt, der oft unterschätzt wird, ist die Auswahl und Kombination der Datenquellen. Standardmäßig setzen viele RAGs auf Vektorspeicher für semantischen Textabruf, doch die Anforderungen an ein produktives System sind vielfältiger. Hybride Ansätze, die relationale Datenbanken oder Graph-Datenbanken wie Neo4J mit Vektorsuchen kombinieren, ermöglichen viel gezieltere und kontextreichere Abfragen. Ein zentrales LLM kann hierbei als Agent agieren, der je nach Anwendungsfall die jeweils passendste Datenquelle auswählt und gegebenenfalls Daten aus verschiedenen Systemen aggregiert.
Diese Kombination verbessert nicht nur die Informationsqualität, sondern auch die Flexibilität und Skalierbarkeit der Anwendung. Die Retrieval-Phase selbst lässt sich durch ausgefeiltere Techniken optimieren. Statt eines einfachen Einzelschritts sind mehrstufige Retrieval-Prozesse sinnvoll, bei denen ein LLM nach der ersten Abfrage entscheidet, ob ein Folgeschritt nötig ist, um die Kontextbasis zu erweitern. Diese iterative Strategie, auch als Chain-of-Thought-Retrieval bezeichnet, führt zu umfassenderen und relevanteren Kontexten für die Antwortgenerierung und steigert somit die Performance signifikant. Was die LLMs für die textgenerierende Phase betrifft, so zeigt die Praxis, dass kleinere Modelle oft nicht nur ausreichend, sondern sogar vorteilhaft sind.
Große Sprachmodelle bringen oft umfangreiches Weltwissen mit, welches in einem eng definierten Kontext eher ablenkt und Fehlerquellen schaffen kann. Stattdessen reichen kleinere, speziell trainierte LLMs mit starker Reasoning-Fähigkeit für das Zusammenfügen und Formulieren der Antwort unter Einbeziehung des kontextuellen Materials aus. Wird bei der Ausgabe ein konsistenter Formatierungsstandard gefordert, kann eine Feinjustierung sinnvoll sein, ein kompletter Re-Trainingsaufwand ist jedoch meist nicht notwendig. Um Produktionsanforderungen wie Kosteneffizienz und schnelle Antwortzeiten gerecht zu werden, ist der Einsatz von Prompt-Caching eine wichtige Strategie. Hierbei werden einmal erstellte Prompts und die dazugehörigen Antworten zwischengespeichert, so dass bei ähnlichen Anfragen nicht immer eine neue Textgenerierung stattfinden muss.
Die Kunst liegt darin, den Schwellenwert für semantische Ähnlichkeit zu calibrien, um eine gute Balance zwischen Genauigkeit und Wiederverwendung zu gewährleisten. Zuletzt kann die Reranking-Technik zusätzliche Feinjustierungen bei der Auswahl des Kontextmaterials liefern. Die Reihenfolge der eingespeisten Dokumente hat großen Einfluss auf die Antwortqualität, wobei besonders früh platzierte relevante Informationen größere Wirkung zeigen. Spezialisierte Modelle bewerten das Relevanzranking und ermöglichen so eine bessere Strukturierung des Inputs. Allerdings zeigen praktische Experimente, dass der Mehrwert oft moderat ist und der Ressourcenaufwand abgewogen werden muss.