Die Extraktion strukturierter Daten aus Dokumenten mit großen Sprachmodellen (LLMs) scheint auf den ersten Blick einfach: Ein langer Prompt, der alle gewünschten Felder definiert, und schon liefert das Modell die gewünschte JSON-Struktur. Doch in der Praxis zeigt sich schnell, dass diese Methode bei längeren Texten an ihre Grenzen stößt.
Doch warum scheitert dieses Vorgehen mit zunehmender Dokumentenlänge? Die Gründe sind vielfältig: Die Qualität der Extraktion verschlechtert sich oft gegen Ende des Dokuments, einzelne fehlerhafte Felder können den gesamten Extraktionsprozess unbrauchbar machen, und die Bearbeitungszeit steigt stark an, während Parallelisierung kaum möglich ist. Selbst aufwendige Optimierungen des Prompts bringen hier nur marginale Verbesserungen – die strukturellen Probleme bleiben bestehen.
Das Problem mit langen Prompts
Stellen wir uns vor, wir haben eine 50-seitige Projektbeschreibung und möchten daraus strukturierte Informationen extrahieren: Titel, Abschnitte, Zweck, genannte Dienstleistungen und Akzeptanzkriterien. Die naheliegende Lösung ist ein einzelner, umfassender Prompt, der alle gewünschten Felder abdeckt.
Doch diese Herangehensweise führt zu mehreren Problemen:
- Qualitätsverlust durch Kontextverlust: Das Modell verliert den Überblick über die Inhalte gegen Ende des Dokuments. Spätere Abschnitte werden daher oft unvollständig oder fehlerhaft extrahiert.
- Kaskadierende Fehler: Selbst ein einziges falsch extrahiertes Feld kann den gesamten Extraktionsprozess unbrauchbar machen. Dies zwingt Entwickler dazu, das gesamte Dokument erneut zu verarbeiten, selbst wenn nur ein kleiner Teil fehlerhaft war.
- Hohe Latenz und eingeschränkte Parallelisierung: Ein einzelner Prompt mit 30.000 Tokens benötigt deutlich mehr Rechenleistung und Zeit als mehrere kleinere Prompts. Zudem ist eine parallele Verarbeitung des Dokuments kaum möglich, da die gesamte Eingabe in einem einzigen Schritt verarbeitet werden muss.
- Aufwendige Prompt-Optimierung: Um die Probleme zu mildern, werden oft komplexere Prompts mit mehr Beispielen und strikteren Vorgaben eingesetzt. Doch diese Optimierungen sind zeitaufwendig und bringen häufig nur geringe Verbesserungen.
Trotz aller Bemühungen bleibt das grundlegende Problem bestehen: Ein einzelner Prompt kann nicht gleichzeitig für die Segmentierung und Extraktion zuständig sein.
Die Lösung: Das Akkordeon-Muster
Die Alternative ist ein zweistufiger Prozess, der an ein Akkordeon erinnert: Er expandiert und kontrahiert die Daten in logischen Schritten. Diese Methode unterteilt die Extraktion in zwei separate Prompts, die jeweils eine spezifische Aufgabe erfüllen.
Wie funktioniert das Akkordeon-Muster?
- Segmentierung des Dokuments: Im ersten Schritt wird das gesamte Dokument in sinnvolle Segmente unterteilt – Abschnitte, Absätze oder logische Einheiten. Hierfür wird ein Prompt verwendet, der nur die Aufgabe hat, die Grenzen zwischen den Segmenten zu identifizieren.
- Extraktion der Daten: Im zweiten Schritt wird jeder Abschnitt einzeln verarbeitet. Ein zweiter Prompt extrahiert die gewünschten strukturierten Daten aus jedem Segment. Dieser Schritt wird für jeden Abschnitt parallel ausgeführt.
Das Ergebnis ist eine saubere Trennung der Aufgaben: Der erste Prompt kümmert sich nur um die Struktur, der zweite um die Inhalte. Beide Prompts können daher präzise und effizient gestaltet werden.
Warum das Akkordeon-Muster überzeugt
Die Vorteile dieser Herangehensweise sind vielfältig:
1. Fokussierte Prompts mit höherer Genauigkeit Jeder Prompt hat eine klare, begrenzte Aufgabe. Der Segmentierungsprompt muss nur die Grenzen zwischen Abschnitten erkennen, während der Extraktionsprompt sich auf die gewünschten Felder konzentrieren kann. Dies ermöglicht präzisere Anweisungen und eine höhere Zuverlässigkeit.
2. Fehler bleiben lokal begrenzt Falls die Extraktion in einem Abschnitt scheitert, muss nicht das gesamte Dokument neu verarbeitet werden. Stattdessen kann der fehlerhafte Abschnitt isoliert und erneut extrahiert werden. Dies spart Zeit und Rechenleistung.
3. Natürliche Parallelisierung Da jeder Abschnitt einzeln verarbeitet wird, lassen sich die Extraktionsschritte problemlos parallelisieren. Anstatt ein großes Dokument in einem einzigen Schritt zu verarbeiten, können Dutzende kleinerer Prompts gleichzeitig ausgeführt werden. Dies reduziert die Gesamtbearbeitungszeit deutlich.
4. Bessere Cache-Nutzung Wiederkehrende Abschnitte, wie Standardtexte oder Vorlagen, werden in der zweiten Stufe identisch verarbeitet. Dies ermöglicht die Nutzung von Caching-Mechanismen, da gleiche Eingaben gleiche Ausgaben produzieren. Bei der herkömmlichen Methode wird das gesamte Dokument als einzigartige Eingabe betrachtet.
5. Keine Begrenzung durch den Kontextfenster Die Länge des Dokuments ist für die zweite Stufe irrelevant, da nur einzelne Segmente verarbeitet werden. Lediglich der erste Schritt muss das gesamte Dokument lesen, dessen Ausgabe jedoch deutlich kleiner ist.
Die Kosten der Methode
Das Akkordeon-Muster ist nicht ohne Nachteile:
- Mehr LLM-Aufrufe: Statt eines Prompts werden zwei Stufen mit jeweils mehreren Prompts benötigt. Bei kurzen Dokumenten kann dies ineffizient sein.
- Komplexere Implementierung: Die Definition sinnvoller Segmente erfordert eine genaue Analyse des Dokuments und der gewünschten Extraktion. Nicht immer ist klar, welche Segmentierung am besten funktioniert.
- Zusätzlicher Entwicklungsaufwand: Die Integration der beiden Stufen erfordert mehr Code und Logik als ein einzelner Prompt.
Trotzdem überwiegen die Vorteile, insbesondere bei längeren Dokumenten oder komplexen Extraktionsaufgaben.
Wann lohnt sich das Akkordeon-Muster?
Diese Methode ist besonders geeignet für:
- Dokumente, die so lang sind, dass das Modell den Überblick verliert
- Extraktionsaufgaben mit mehr als fünf Feldern, die unterschiedliche Kontextinformationen benötigen
- Szenarien, in denen fehlerhafte Extraktion nur bestimmte Abschnitte betrifft und nicht das gesamte Dokument
- Projekte, die von paralleler Verarbeitung profitieren
Für kurze Dokumente oder einfache Extraktionsaufgaben bleibt der einzelne Prompt oft die bessere Wahl. Auch in der Prototyping-Phase ist ein einfacher Prompt sinnvoll, bevor man sich für das Akkordeon-Muster entscheidet.
Ein praktisches Beispiel
Ein konkretes Anwendungsbeispiel stammt aus der Plattform StructFlow, die das Akkordeon-Muster in ihrer API implementiert. Hier ein Überblick über die beiden Stufen:
Stufe 1: Segmentierung
Der erste Prompt teilt das Dokument in logische Abschnitte auf. Die API-Aufrufe sehen dabei wie folgt aus:
{
"model": "google/gemini-3-flash-preview",
"system_prompt": "Teile dieses Dokument in logische Abschnitte. Gib für jeden Abschnitt einen Titel und den dazugehörigen Text zurück.",
"inputs": [{
"id": "doc1",
"data": {
"text": "..."
}
}]
}Die Antwort enthält eine Liste der Segmente, die als Eingabe für die zweite Stufe dienen.
Stufe 2: Extraktion
Für jeden Abschnitt wird nun ein separater Prompt verwendet, um die gewünschten Felder zu extrahieren:
{
"model": "google/gemini-3-flash-preview",
"system_prompt": "Extrahiere aus diesem Abschnitt: Zweck, genannte Dienstleistungen und Akzeptanzkriterien.",
"inputs": [{
"id": "sec1",
"data": {
"section_text": "..."
}
}]
}Jeder dieser Prompts kann parallel ausgeführt werden, was die Gesamtverarbeitungszeit erheblich reduziert.
Fazit: Zwei Prompts statt eines langen
Das Akkordeon-Muster ist keine universelle Lösung für alle Extraktionsaufgaben, aber es bietet eine elegante und effiziente Alternative zum klassischen Ansatz mit einem langen Prompt. Besonders bei längeren Dokumenten und komplexen Extraktionsanforderungen überzeugt die Methode durch höhere Zuverlässigkeit, bessere Skalierbarkeit und effizientere Ressourcennutzung.
Wer bereits Erfahrungen mit dieser Methode gemacht hat oder auf Herausforderungen gestoßen ist, kann gerne Erfahrungen teilen. Die LLM-basierte Datenverarbeitung entwickelt sich rasant – und manchmal ist weniger mehr.
KI-Zusammenfassung
Uzun belgelerden yapılandırılmış veri çıkarma sürecinde karşılaşılan kalite kayıplarını gidermek için LLM isteklerini iki aşamaya ayırma yöntemini keşfedin. Verimlilik, doğruluk ve ölçeklenebilirlikteki kazanımları öğrenin.
Tags