Zurück zum BlogEnglish version
KI-Automatisierung

Widersprüchliche Handbücher im RAG: Gültige Revisionen vor dem Ranking bestimmen

Ein echtes Zitat kann auf die falsche Wartungsrevision verweisen. Prüfen Sie Anlagenkontext, Gültigkeitszeit und Verbindlichkeit vor dem Ranking mit synthetischen Negativtests.

10 min readAktualisiert
Zwei Handbuchkassetten an einer mechanischen Gültigkeitsprüfung; eine rote Verriegelung blockiert die falsche vor dem Drehmomentschlüssel. RAG-ENTWICKLUNG — RICHTIGE ANTWORT. FALSCHE REVISION?

Bestimmen Sie vor dem Ranking, welche Dokumentrevision tatsächlich gilt. Eine Wartungsantwort kann ein echtes, zugängliches Handbuch zitieren und dennoch zur falschen Anlagenkonfiguration, Region oder Gültigkeitszeit gehören. Lassen Sie ein fachlich gepflegtes Gültigkeitsregister die berechtigte Revisionsmenge bestimmen, erhalten Sie diesen Geltungsbereich bis zum Zitat und verweigern Sie eine Anweisung bei ungeklärter Verbindlichkeit. Weder ein neuerer Dateiname noch ein höherer Ähnlichkeitswert bestimmt die richtige Anweisung.

Dieser Beitrag beschreibt eine begrenzte Implementierung und prüft eine synthetische Entscheidungslogik. Er berichtet nicht über eine Kundeninstallation und validiert keine Wartungsanweisung. Die folgenden Drehmomente sind erfundene Testdaten und dürfen nicht an Anlagen verwendet werden. Die technische Frage lautet: Kann die Retrieval-Pipeline eine plausible, aber nicht anwendbare Anweisung zuverlässig aus der Antwort fernhalten?

Der Widerspruch ist kein Rankingproblem

Für die Dokumentfamilie pump-seal, Konfiguration C2 und Region EU enthält das Testkorpus Handbuch A mit 40 Nm, Bulletin B mit 45 Nm und das ablösende Handbuch C mit 50 Nm. A gilt im logischen Intervall [0,10), B in [5,10) und C in [10,unendlich). B löst A ausdrücklich für dieselbe Prozedur und denselben Geltungsbereich ab. Eine deutsche Übersetzung ist ausschließlich zu A äquivalent. Die Zeitpunkte sind logische Testschritte, keine Termine oder realen Produktspezifikationen.

Zum Zeitpunkt 4 gilt A. Zum Zeitpunkt 6 gewinnt B aufgrund einer fachlich bestätigten Ablösebeziehung, nicht wegen neuer wirkender Formulierungen. Zum Zeitpunkt 10 gilt C; die früheren Intervalle schließen diesen Zeitpunkt aus. Eine zugängliche deutsche Ausgabe von A kann keine aktuelle C-Anweisung begründen, nur weil sie die gewünschte Sprache hat. Überlappt eine weitere freigegebene Revision mit C ohne geklärte Verbindlichkeit, ist das Ergebnis ein Konflikt und kein Gleichstand, den der Reranker auflösen darf.

Berechtigung und Anwendbarkeit sind getrennte Entscheidungen. Beschäftigte dürfen möglicherweise alle historischen Handbücher lesen, ohne sie für die heutige Baugruppe verwenden zu dürfen. Ist umgekehrt das gültige Bulletin nicht zugänglich, darf das System nicht auf ein älteres erlaubtes Handbuch zurückfallen. Die grundlegenden RAG-Daten-Governance-Kontrollen definieren die Zugriffsgrenze. Die Gültigkeitsprüfung muss diese erhalten, ohne Zugänglichkeit mit fachlicher Verbindlichkeit zu verwechseln.

Definieren Sie den Registervertrag vor der Indexierung

Speichern Sie document_family, eine unveränderliche revision_id, source_digest, procedure_id, asset_configuration und region als explizite Felder. Ergänzen Sie valid_from und valid_to, Quellsprache, geprüfte Äquivalenzbeziehungen, die Referenz der Freigabeentscheidung und auf die betroffene Prozedur begrenzte Ablösebeziehungen. Erfassen Sie den Importzeitpunkt getrennt: Ein spät importiertes altes Handbuch wird dadurch nicht aktuell. Der Änderungszeitstempel einer PDF-Datei ist keine technische Freigabe.

Trennen Sie fachliche Gültigkeitszeit von Wissens- beziehungsweise Transaktionszeit. „Welche Anweisung gilt für die Anlage zum Zeitpunkt 6?“ kann eine historische Gültigkeitsabfrage mit dem heute korrigierten Register meinen. „Was konnte der Assistent damals wissen?“ benötigt zusätzlich einen historischen Registerstand oder eine bitemporale Historie. Versprechen Sie die zweite Auskunft nicht, wenn nur aktuelle Metadaten vorliegen. Halten Sie Revisionsinhalte unveränderlich; korrigieren Sie deren Interpretation durch versionierte Entscheidungen statt durch neue Quelldaten unter derselben ID.

Verwenden Sie bei zeitstempelbasierten Regeln Zeitzoneninformationen. Legen Sie fest, wie eine nur als Datum angegebene Lieferantenfreigabe in einen wirksamen Anlagenzeitpunkt übersetzt wird. Halb offene Intervalle sind dafür zweckmäßig: valid_from <= as_of und (valid_to fehlt oder as_of < valid_to). Prüfen Sie nicht leere Intervalle und entscheiden Sie, ob Lücken zulässig sind. Ein fehlendes Ende darf nur nach explizitem Schema unbegrenzt bedeuten; fehlerhafte oder unvollständige Metadaten dürfen nicht stillschweigend dieselbe Bedeutung erhalten.

Behandeln Sie Verbindlichkeit als fachlich geprüfte Daten. Ein Bulletin kann eine einzelne Prozedur ersetzen, während der Rest des Handbuchs gültig bleibt. Entscheiden Sie deshalb auf der kleinsten gepflegten Einheit, beispielsweise Dokumentfamilie plus Prozedur und Konfiguration, statt das gesamte Handbuch zu entfernen. Prüfen Sie Ablösebeziehungen auf passenden Geltungsbereich, wirksame Intervalle, Zyklen und fehlende Referenzen. Das kleine Testprogramm setzt freigegebene direkte Beziehungen voraus; ein Produktionsregister benötigt zusätzlich diese Eingangsprüfungen und Regeln für transitive Ketten.

Binden Sie jede Anfrage an eine Gültigkeitsentscheidung

Ermitteln Sie zunächst Mandant und aktuelle Berechtigung. Beschaffen Sie anschließend eine bestätigte Anlagenkonfiguration, Prozedur, Region und den Fragemodus. Bei Fragen zur aktuellen Verwendung erfassen Sie den wirksamen Anfragezeitpunkt genau einmal. Bei historischen Fragen verlangen Sie den ausdrücklichen Bezugszeitpunkt und kennzeichnen das Ergebnis als historisch. Eine erratene Anlagengeneration ist kein zulässiger Suchparameter: Fragen Sie nach oder verweisen Sie auf einen freigegebenen manuellen Prüfprozess.

Ein vertrauenswürdiger Dienst muss ausreichend Verbindlichkeitsmetadaten prüfen können, um zu erkennen, dass eine unzugängliche Revision eine sichtbare ablöst. Diese Metadaten gehen weder an den Nutzer noch an ein Sprachmodell. Kann der Dienst die Vollständigkeit der maßgeblichen Informationen nicht ohne Offenlegung geschützter Daten feststellen, bricht er mit einer allgemeinen Nichtverfügbarkeitsmeldung ab. Andernfalls können Angriffe oder gewöhnliche Berechtigungsänderungen dazu führen, dass die Zugriffsfilterung eine veraltete Anweisung auswählt.

Erzeugen Sie einen Anfragekontext mit Mandant, Berechtigungsstand, Anlagenkonfiguration, Region, Prozedur, aktuellem oder historischem Modus, aufgelöstem Zeitpunkt, Register-Snapshot, Regelversion und erlaubten Revisions-IDs. Übergeben Sie denselben Kontext an lexikalische Suche, Vektorsuche und Reranking. Zulässig sind ausschließlich Chunks, deren unveränderliche Quellrevision in dieser Menge liegt. Prüfen Sie jede ausgewählte Evidenz-ID vor der Generierung und erneut beim Erstellen der Zitate. Fehlende Metadaten oder abweichende Revisionen führen zum Abbruch.

Synthetische Gültigkeitsintervalle: A [0,10), B [5,10) löst A ab, C [10,unendlich). Erfundene Drehmomente, keine Wartungsanweisungen.

Das Diagramm zeigt die synthetische Gültigkeitszeit, keinen realen Wartungsplan. Die exklusive Grenze bei Zeitpunkt 10 verhindert, dass A oder B allein wegen eines eingeschlossenen Endpunkts neben C gelten. Die Überlappung von A und B ist beabsichtigt: Die bestätigte Ablöseentscheidung löst sie auf. Ohne diese Entscheidung bleibt sie ein ungeklärter Konflikt.

Entscheidungstabelle: Erhalten Sie die Bedeutung der Frage

Frage oder RegisterzustandGültigkeitsentscheidungVerhalten von Suche und Antwort
Aktuelle Verwendung; vollständiger AnlagenkontextEinmal zum Anfragezeitpunkt bestimmenNur berechtigte und gültige Revisionen ranken
Explizite historische AnfrageHistorische Gültigkeitszeit bestimmenHistorische Evidenz kennzeichnen; nicht als heutige Anweisung darstellen
Konfiguration, Region oder Zeitpunkt fehltKeine belastbare GültigkeitsentscheidungNachfragen; Kontext nicht aus dem ähnlichsten Absatz ableiten
Freigegebene Revisionen überlappen ohne VorrangregelUngeklärter KonfliktGeschützte Konfliktevidenz erhalten; keine Anweisung generieren
Gültige Nachfolgerevision nicht zugänglichKeine erlaubte gültige AnweisungAllgemeine Nichtverfügbarkeit; kein Rückfall auf altes Handbuch
Gewünschte Übersetzung veraltetKeine geprüfte äquivalente AusgabeAbbrechen oder ausdrücklich freigegebenen Quellsprachenprozess nutzen

Ein freigegebener Quellsprachenprozess kann eine deutsche Erklärung aus einer gültigen englischen Quelle erzeugen. Das belegt jedoch nicht, dass eine deutsche Lieferantenausgabe existiert. Trennen Sie Quellsprache, Antwortsprache und Äquivalenzstatus. Die Evaluation sprachübergreifender Suche untersucht die Retrieval-Qualität bei festgelegter Revisionsäquivalenz; sie kann diese Äquivalenz nicht herstellen.

Filter setzen Entscheidungen durch, sie bestimmen keine Verbindlichkeit

Die Qdrant-Dokumentation zur Filterung beschreibt boolesche Filterkombinationen und Datetime-Bedingungen. Schneiden Sie damit die berechtigte, aufgelöste Revisionsmenge mit Mandant und weiteren notwendigen Kontextfeldern. Liegt Anwendbarkeit als Array aus Konfigurations-/Regionsobjekten vor, verwenden Sie die dokumentierte Semantik verschachtelter Objektfilter: Passende Werte müssen demselben Objekt angehören. Unabhängige Array-Treffer können sonst die Konfiguration eines Eintrags mit der Region eines anderen kombinieren.

Die OData-Filterreferenz von Azure AI Search bietet ebenfalls Ein- und Ausschlussbedingungen, Vergleiche und boolesche Operatoren. Ein konzeptionelles Prädikat lautet: Mandant entspricht dem berechtigten Mandanten UND Revision gehört zur aufgelösten Menge. Erzeugen Sie es mit geprüftem Encoder und typisierten Werten, nicht durch direkte Zeichenketteninterpolation aus der Nutzerfrage. Prüfen Sie das filterbare Feldschema, den Ausführungsmodus der Vektorfilterung und das Verhalten leerer Mengen Ihrer Installation. Die OData-Syntaxreferenz allein belegt weder Vektor-Recall noch eine konkrete Vorfilterkonfiguration.

Als Registerbaustein unterstützen PostgreSQL-Range-Typen eingeschlossene und ausgeschlossene Grenzen, Überlappungsprüfungen und Ausschlussbedingungen. Eine optionale kanonische Gültigkeitstabelle kann einen Zeitstempelbereich mit Zeitzone und eine Exclusion Constraint verwenden, die gleiche Kontextschlüssel mit überlappenden Intervallen ausschließt. btree_gist unterstützt dafür passende skalare Schlüssel. Diese müssen normalisiert und nicht null sein. Die Bedingung begrenzt akzeptierte kanonische Entscheidungen; sie entscheidet nicht, welche widersprüchliche Lieferantenanweisung akzeptiert werden sollte.

Verbieten Sie nicht pauschal jede Überlappung in der Rohquellentabelle, wenn Bulletins legitimerweise Basishandbücher überlagern. Bewahren Sie dort Originale und ungeklärte Konflikte auf. Erzeugen Sie eine geprüfte kanonische Projektion, die Intervalle aufteilt und pro gepflegter Prozedur eine maßgebliche Quelle auswählt. Platzhalter, Konfigurationshierarchien und regionale Vererbung benötigen zusätzliche Normalisierung oder Konfliktprüfungen. Skalare Gleichheit erkennt nicht jede semantische Überschneidung. Diese Datenbank- und Suchmaschinenmuster wurden recherchiert, aber für diesen Beitrag nicht als Integration getestet.

Prüfen Sie Negativfälle vor der Ähnlichkeitsoptimierung

Das begleitende lokale Python-Testprogramm hat 21 Prüfungen erfolgreich ausgeführt. Es modelliert vier unveränderliche Datensätze: A, B, C und die deutsche A-Übersetzung. Dreizehn Resolver-Fälle prüfen Gültigkeitsgrenzen, aktuelle und historische Zeitpunkte, fehlenden Kontext, falsche Region, veraltete Übersetzung, gesperrte Nachfolgerevision und einen ungeklärten Konkurrenzdatensatz. Acht Cache-Prüfungen bestätigen unterschiedliche Schlüssel bei geänderter Regelversion, Revisionsmenge, Berechtigungsstand, Register-Snapshot, Sprache, Zeitpunkt, Modus oder Mandant. Das sind deterministische Anwendungstests, keine Retrieval-Genauigkeitsmessung und keine technische Sicherheitsfreigabe.

Die wesentliche Reihenfolge lautet: Kontext validieren; freigegebene Kandidaten für die Gültigkeitszeit auswählen; explizite Ablösebeziehungen in geschützten Metadaten auflösen; genau eine kanonische maßgebliche Revision verlangen; deren Zugriffsberechtigung prüfen; anschließend eine bestätigte sprachäquivalente Ausgabe auswählen. Das Testprogramm verweigert bewusst das ältere zugängliche Dokument, wenn die Nachfolgerevision gesperrt ist. Ebenso verweigert es eine deutsche Ausgabe ohne Äquivalenz zur maßgeblichen Revision. Für den Produktionsbetrieb müssen Sie zusätzlich das Register validieren, die eingesetzte Suchmaschine prüfen und parallele Regeländerungen testen.

Reproduzieren Sie die Kernfälle mit den logischen Zeitpunkten 4, 5, 9, 10 und 12. Erwarten Sie A, B, B, C und C. Ergänzen Sie einen zweiten nicht abgelösten freigegebenen Datensatz für [10,unendlich): Erwartet wird UNRESOLVED_AUTHORITY. Erlauben Sie zum Zeitpunkt 6 nur A und dessen Übersetzung: Erwartet wird UNAVAILABLE, nicht A. Fordern Sie zum Zeitpunkt 12 Deutsch aus dem beschriebenen Korpus an: Erwartet wird NO_EQUIVALENT_EDITION. Entfernen Sie die Konfiguration: MISSING_SCOPE muss vor einer Vektorsuche entstehen. Überführen Sie diese Erwartungen gemeinsam mit den fachlich Verantwortlichen in CI-Testfälle.

Prüfen Sie danach den tatsächlichen Index: Fügen Sie alte und aktuelle Absätze mit nahezu identischen Formulierungen ein, lassen Sie den alten Absatz im unbeschränkten Ranking sehr gut abschneiden und kontrollieren Sie, dass er bei aktueller Verwendung weder Reranker noch Antwortkontext erreicht. Wiederholen Sie dies für lexikalische Suche, Anfrageerweiterung und zwischengespeicherte Antworten. Dieser Integrationstest bleibt ein notwendiger Folgeschritt. Die lokale Ausführung beansprucht nicht, Ihre Qdrant- oder Azure-Installation geprüft zu haben.

Lassen Sie Zitate und Caches die Entscheidung mitführen

Ein Zitatmanifest sollte Anfragekontext-ID, Revisions-ID, Quelldigest, Prozedur/Abschnitt, Chunk-ID, Quellsprache, gegebenenfalls geprüfte Äquivalenz-ID, Gültigkeitsintervall, Bezugszeitpunkt, Register-Snapshot, Regelversion und Referenz der Zugriffsentscheidung enthalten. Für die synthetische Antwort zum Zeitpunkt 6 nennt es bulletin-B, pump-seal/C2/EU, Intervall [5,10), Quellsprache en sowie die festgelegten Register- und Regelversionen. Die 45 Nm bleiben Testdaten und keine Betriebsanweisung. Bewahren Sie sensible Freigabe- und Zugriffsinformationen in geschützten Protokollen auf; sichtbar wird nur, was die anfragende Person sehen darf.

Bilden Sie Cache-Schlüssel aus der aufgelösten Entscheidung, nicht nur aus normalisiertem Fragetext. Berücksichtigen Sie Mandant, maßgeblichen Zugriffskontext, Regel- und Registerversion, Revisionsmenge, Sprache, Konfiguration, Region, Prozedur und historischen beziehungsweise aktuellen Modus. Ein exakter Zeitstempel pro Anfrage ist leicht nachvollziehbar, vermindert aber die Wiederverwendung. Optimieren Sie mit einem Gültigkeitsfenster, müssen Sie nachweisen, dass innerhalb des Fensters keine maßgebliche Grenze überschritten wird. Invalidieren Sie bei Korrekturen und Rechteentzug; prüfen Sie den Zugriff bei Cache-Lesevorgängen erneut, wo dies erforderlich ist. Ein alter Antwortcache darf die Gültigkeitsentscheidung niemals umgehen.

Fixieren Sie den Kontext für eine konsistente Anfrage und definieren Sie gleichzeitig das Verhalten bei dringendem Rechteentzug während der Generierung. Bei folgenreichen Arbeitsabläufen können eine abschließende Aktualitätsprüfung sowie Neustart oder Abbruch erforderlich sein. Ein fixierter Snapshot ist reproduzierbar, kann aber dennoch zu alt für die Ausgabe sein. Halten Sie bei Embedding-Indexmigrationen diesen Gültigkeitsvertrag vom Encoder-/Indexvertrag getrennt und erzwingen Sie beide. Kompatible Vektorräume belegen keine gültige Wartungsanweisung.

Freigabecheckliste, Aufwand und ein begrenzter Einstieg

Registerprüfung: unveränderliche Quelldigests, bestätigte Ablösebeziehungen, vollständige Kontextschlüssel, explizite Zeitsemantik und überwachte Konflikte. Retrieval-Prüfung: Jeder Suchpfad erzwingt die aufgelöste Revisionsmenge; unbekannte Metadaten führen zum Abbruch; eine leere Menge löst keine unbeschränkte Suche aus. Evidenzprüfung: Zitate behalten Kontext und Revisionsidentität; Übersetzungen ersetzen nicht stillschweigend aktuelle Anweisungen durch ältere. Betriebsprüfung: Caches berücksichtigen Rechteentzug, Registerkorrekturen und Gültigkeitsgrenzen; für jeden blockierten Fall existiert ein zuständiger Verantwortlicher.

Der Preis sind zusätzliche Metadatenpflege, Resolver-Latenz und mehr verweigerte Antworten bei schlechter Quellenqualität. Eine zwischengespeicherte kanonische Registerprojektion kann Sucharbeit reduzieren, erzeugt aber Anforderungen an Aktualität und Invalidierung. Eine strenge Prüfung kann offenlegen, dass überhaupt keine gültige freigegebene Anweisung vorhanden ist. Das ist ein betrieblich zu klärender Befund, kein Grund, den Filter zu lockern oder das Sprachmodell über technische Verbindlichkeit entscheiden zu lassen.

Beginnen Sie mit einer Dokumentfamilie und einer Prozedur, deren Revisionen tatsächlich widersprüchlich sind. Bringen Sie Konfigurationsregeln, maßgebliche Bulletins, Sprachausgaben und die aktuelle Zugriffsrichtlinie mit. Ich unterstütze Ihr Team dabei, daraus ein Gültigkeitsregister, gezielte Negativtests und eine Freigabecheckliste zu entwickeln, bevor Sie den Assistenten erweitern. Wartungsfreigabe und technische Verantwortung bleiben bei qualifizierten Fachverantwortlichen. Eine sauber belegte generierte Antwort ist keine Erlaubnis zur Ausführung.

#enterprise-ki#rag#ai-evaluation

KI in Ihren Betrieb integrieren?

Ich unterstütze Teams dabei, konforme KI-Automatisierung zu entwerfen und produktiv auszuliefern — mit produktionsreifen Agenten, n8n-/LangGraph-Workflows, RAG-Systemen und belastbaren Evals.

A

Geschrieben von

Ade Christanto

KI-Automatisierungsspezialist und ehemaliger Netzwerkingenieur mit Fokus auf praktische KI-Implementierung für deutsche B2B- und Mittelstandsunternehmen.