Es gibt eine Demo, die jeder schon einmal gesehen hat. Man wirft ein sauberes PDF in ein LLM, fragt nach dem Umsatz und dem Verlängerungsdatum, und es kommt korrekt zurück. Es wirkt gelöst. Dann richtet jemand denselben Prompt auf dreitausend Geschäftsberichte und einen Ordner voller eingescannter Verträge – und die Genauigkeit, die man an einem einzigen Dokument gemessen hat, ist verschwunden.
Genau diese Lücke ist das eigentliche Problem. Dokumentenextraktion im Finanzbereich dreht sich selten um den sauberen Fall. Es geht um den 10-K mit einer Fußnote, die die plakative Kennzahl außer Kraft setzt, um den schräg eingescannten Vertrag, um die Tabelle, die über einen Seitenumbruch reicht, und um die Gegenpartei, deren Name auf vier verschiedene Weisen geschrieben wird. Die unstrukturierten Daten, die man tatsächlich erhält, sind nicht die unstrukturierten Daten aus der Demo.
Warum ein gutes PDF nichts aussagt
Ein einzelnes Dokument verdeckt die Fehlerquellen, die im großen Maßstab zählen. Layouts unterscheiden sich von Emittent zu Emittent und von Jahr zu Jahr. Eingescannte Verträge treffen als Bilder ein – bevor überhaupt extrahiert wird, hat man es also mit OCR-Qualität und Lesereihenfolge zu tun. Das gesuchte Feld steht in einer Tabelle auf Seite 40, definiert durch eine Klausel auf Seite 12, und ein naives Auswerfen des Rohtexts zerdrückt beides zu einem Brei, über den das Modell nicht sauber schließen kann.
Deshalb behandeln wir das Auslesen von Geschäftsberichten nicht als einen einzigen Modellaufruf. Wir behandeln es als Pipeline:
- Layout-bewusstes Parsing zuerst, damit Tabellen, Überschriften und Lesereihenfolge erhalten bleiben, statt zu einem flachen String zu kollabieren
- Retrieval über das geparste Dokument, damit das Modell die richtige Seite und Klausel sieht statt des gesamten Berichts
- Ein LLM, das den abgerufenen Kontext liest und strukturierte Felder zurückgibt
- Validierung jedes Felds gegen den erwarteten Typ und Wertebereich
- Routing von Ergebnissen mit geringer Konfidenz an einen Menschen, bevor irgendetwas als belastbar gilt
Die Schritte Parsing und Retrieval sind das, was die Extraktion von Vertragsdaten reale Layouts überstehen lässt. Das LLM erledigt den einfachen Teil: das Lesen einer kurzen, relevanten Passage. Das schwierige Engineering sitzt auf beiden Seiten davon.
Den Wert prüfen, nicht nur das Format
Eine zurückgelieferte Zahl, die sich sauber parsen lässt, kann trotzdem falsch sein. Deshalb werden extrahierte Felder daraufhin geprüft, was sie sein sollen. Ein Inkrafttretensdatum muss ein Datum sein. Ein Nominalbetrag muss positiv sein und innerhalb einer plausiblen Spanne liegen. Ein Berichtszeitraum muss zu dem Dokument passen, aus dem er stammt. Scheitert ein Wert an diesen Prüfungen, ist das ein Signal – und es fließt in die Konfidenz ein, die das System seiner eigenen Ausgabe zuweist.
An der Konfidenz kommt der Mensch ins Spiel. Ein pauschales „alles in die Prüfung schicken“ untergräbt den Zweck, und „allem vertrauen“ ist der Weg, auf dem eine falsche Zahl in einen Bericht gelangt. Dazwischen liegt ein Schwellenwert. Felder, bei denen das System sicher ist und die die Validierung bestehen, fließen durch. Felder unterhalb des Schwellenwerts oder solche, die eine Prüfung nicht bestehen, werden an einen Prüfer geleitet – mit dem Dokument geöffnet auf der relevanten Seite. Der Prüfer korrigiert den Wert, und diese Korrektur wird zu einem gelabelten Beispiel für den Eval-Datensatz.
Jeder Wert verweist zurück auf seine Quelle
Worauf wir nie verzichten, ist die Quellenangabe. Jeder extrahierte Wert trägt einen Verweis zurück auf die Seite und die Klausel, aus der er stammt. Eine Umsatzzahl verlinkt auf die Tabelle, die sie enthielt. Ein Kündigungsrecht verlinkt auf den Absatz, der es einräumt.
Das ist es, was die Ausgabe prüfbar macht statt bloß plausibel. Wenn jemand fragt, woher eine Zahl stammt, ist die Antwort eine Fundstelle in einem Dokument – kein selbstbewusster Satz aus einem Modell. Es ist derselbe Maßstab, den wir an alle Finanzdaten anlegen: Eine Antwort, die man nicht zurückverfolgen kann, ist eine Antwort, die man keinem Prüfer vorlegen kann. Die Extraktion verdient sich ihren Platz in einem Finanzprozess erst dann, wenn jedes Feld, das sie erzeugt, bis zu der Zeile zurückgeprüft werden kann, aus der es gelesen wurde.