Zum Hauptinhalt springen

Quality Gate

Jede Übersetzung durchläuft ein deterministisches Validierungsgate, bevor sie auf die Festplatte geschrieben wird. Das Quality Gate fängt häufige Fehlermodi maschineller Übersetzung ab — keine stillen Fallbacks, kein Datenmüll in Ihren Locale-Dateien.

Validierungsprüfungen

PrüfungWas es abfängtGate-Label
Empty/blankModell hat einen leeren String oder Leerzeichen zurückgegeben[GATE] empty
Source echoModell hat die ursprüngliche englische Eingabe zurückgegeben[GATE] source-echo
Hallucination loopWiederholte Trigramm-Muster (z. B. "Qo' Qo' Qo'")[GATE] hallucination
Length inflationAusgabe ist deutlich länger als die Quelle[GATE] length
Script complianceFalsches Schriftsystem für die Ziel-Locale[GATE] script
ICU plural categoriesFehlende erforderliche Pluralformen für die Locale[GATE] icu-plural

Empty/Blank

Lehnt Übersetzungen ab, die leere Strings, nur Leerzeichen oder null sind. Dies fängt Modelle ab, die für schwierige Schlüssel nichts zurückgeben.

Source Echo

Erkennt, wenn das Modell den englischen Quelltext zurückgibt, anstatt ihn zu übersetzen. Häufig bei kurzen Strings und unzureichend spezifizierten Prompts.

Hallucination Loop

Analysiert Trigramm-Muster (3-Zeichen) in der Ausgabe. Wenn sich ein Trigramm relativ zur Ausgabelänge häufiger als ein Schwellenwert wiederholt, wird die Übersetzung abgelehnt. Dies fängt degenerierte Ausgaben wie "Qo' Qo' Qo' Qo' Qo'" ab.

Length Inflation

Lehnt Übersetzungen ab, bei denen die Ausgabelänge maxLengthRatio × source length überschreitet (Standard: 4×). Dies fängt Modell-Halluzinationen ab, die für eine kurze Eingabe Textwände erzeugen.

Konfigurierbar über maxLengthRatio in Ihrer Konfiguration.

Script Compliance

Für Locales mit einem konfigurierten script-Feld (z. B. "script": "cans" für Plains-Cree-Silbenschrift) wird validiert, ob die Ausgabe Nicht-ASCII-Zeichen enthält, die für das Zielschriftsystem geeignet sind. Eine reine Latin-Ausgabe für eine arabische, CJK- oder Silbenschrift-Locale wird abgelehnt.

Was bei einem Fehler geschieht

  1. Die fehlgeschlagene Übersetzung wird mit einem [GATE]-Präfix, dem Schlüsselnamen, dem Grund und einer Vorschau des Werts auf stderr protokolliert
  2. Der Schlüssel wird nicht in die Locale-Datei geschrieben
  3. Die Retry-Kaskade setzt ein (siehe unten)
[GATE] hero.title: source-echo — "Welcome to our platform"
[GATE] nav.about: hallucination — "À À À À À À À À"

Retry-Kaskade

Wenn ein Batch fehlschlägt (JSON-Parse-Fehler oder Ablehnungen durch das Quality Gate), wiederholt champollion den Vorgang mit zunehmend kleineren Batches:

Full batch (80 keys) → parse error
└→ Half batch (40 keys) → 2 failures
└→ Individual keys (1 each) → isolates the 2 problem keys

Das Retry-Budget ist durch maxRetries begrenzt (Standard: 3, pro Sprache konfigurierbar). Dies verhindert ausufernde Token-Kosten für Schlüssel, die konsistent fehlschlagen.

Nach Erschöpfung der Wiederholungsversuche werden die problematischen Schlüssel protokolliert und übersprungen. Sie werden beim nächsten sync-Lauf erneut versucht.

Prompt Caching

Die Systemnachricht (Register, Grammatikregeln, Stilhinweise) wird von der Benutzernachricht (die zu übersetzenden Schlüssel) getrennt. Diese Trennung ist beabsichtigt:

  • Die Systemnachricht ist über alle Batches hinweg identisch für eine bestimmte Locale
  • Anbieter wie Anthropic und Google cachen wiederholte Systemnachrichten
  • Ergebnis: Der erste Batch zahlt die vollen Token-Kosten, nachfolgende Batches zahlen nur für die Benutzernachricht

Dies kann die Token-Kosten für Projekte mit vielen Batches erheblich reduzieren.

ICU-MessageFormat-Validierung

Der integrity-Befehl validiert ICU-MessageFormat-Pluralmuster anhand der CLDR-Pluralregeln. Wenn Ihre Quelldatei ICU-Syntax wie die folgende verwendet:

"items": "{count, plural, one {# item} other {# items}}"

verifiziert Champollion, dass die übersetzten Versionen alle erforderlichen Pluralkategorien für die Ziel-Locale enthalten. Arabisch erfordert beispielsweise sechs Kategorien (zero, one, two, few, many, other) — nicht nur one und other.

Führen Sie champollion integrity aus, um die Pluralvollständigkeit über alle Locales hinweg zu prüfen.

Terminologie-Durchsetzung

Für gecoachte Paare mit einem Wörterbuch führt champollion eine Terminologieprüfung nach der Übersetzung durch. Nachdem das Quality Gate bestanden wurde, wird überprüft, ob das LLM die erforderlichen Wörterbuchbegriffe tatsächlich verwendet hat.

[TERM] en→fr: 2 term violation(s)
• hero.title: "dashboard" → expected "tableau de bord" but got "panneau de contrôle"

Terminologieverstöße sind Warnungen, keine blockierenden Fehler. Die Übersetzung wird dennoch auf die Festplatte geschrieben. Dies ist beabsichtigt — das LLM kann valide Gründe für die Wahl einer Alternative haben (Kontext, Grammatik), und ein Blockieren bei Begriffsabweichungen würde mehr Schaden als Nutzen anrichten.

Um Verstöße zu beheben, aktualisieren Sie das Coaching-Wörterbuch oder bearbeiten Sie die Locale-Datei manuell.


Siehe auch