Was geht kaputt, wenn man LLM-Ausgaben in der Produktion parst?
Share

In this article
Meist sind es die Annahmen Ihres Codes über das Format, nicht die Antwort des Modells. Drei Fehler treten immer wieder auf: gültiges JSON, das in Markdown-Codeblöcken eingeschlossen ist und von einem strengen Parser abgelehnt wird, Token-Legenden aus dem Prompt, die in die Ausgabe kopiert werden, und Validatoren, die reparierbare Formatierungsfehler als fatal behandeln. Validieren Sie streng, normalisieren Sie gezielt und bewahren Sie die Rohdaten auf.
Warum schlägt das Parsen von gültigem JSON aus einem LLM fehl?
Modelle umschließen JSON oft in Markdown-Codeblöcken zur besseren Lesbarkeit, sodass ein striktes json.loads auf den Rohtext fehlschlägt, obwohl der Inhalt gültig ist. Entfernen Sie genau einen äußeren Codeblock vor dem Parsen, bewahren Sie den Originaltext zur Prüfung auf und lehnen Sie dennoch Prosa oder verschachtelte Codeblöcke als tatsächlich ungültige Ausgabe ab.
Warum kopiert das Modell die Token-Legende meines Prompts in die Ausgabe?
Wenn ein Prompt einen Platzhalter mit einer Legende erklärt, z. B. ein Token gefolgt von einem Gleichheitszeichen und einer Beschreibung, reproduzieren Modelle dieses Format manchmal im Ergebnis. Sagen Sie dem Modell klar, dass Tokens jeweils allein in einer eigenen Zeile stehen, und entfernen Sie symbolgekennzeichnete oder in Klammern gesetzte Labels, wenn Sie den echten Inhalt einfügen.
Welche Ausgabeprobleme sollte ein Validator ablehnen und welche reparieren?
Lehnen Sie ab, was die Ausgabe strukturell falsch macht: fehlende Pflichtfelder, Prosa statt JSON, verbliebene Platzhalter. Reparieren Sie, was kosmetisch und unbedenklich ist: umgebende Codeblöcke, überflüssige Leerzeichen, dekorative Labels. Entscheiden Sie regelbasiert, dokumentieren Sie es und protokollieren Sie, was repariert wurde, um Veränderungen im Modellverhalten zu erkennen.
Warum sollte man die rohe Modell-Ausgabe aufbewahren?
Die Rohdaten ermöglichen es, ein Modellproblem von einem Parsingproblem zu unterscheiden. Wenn eine Antwort abgelehnt oder repariert wird, speichern Sie den Originaltext neben dem Ergebnis. So beginnt die Fehlersuche mit Belegen statt Vermutungen, und Sie können die Ausgabe mit einem korrigierten Parser erneut verarbeiten, ohne das Modell erneut anzufragen.
Ursprünglich veröffentlicht auf sakshamjain.codes/blog/llm-output-handling-bugs. Benötigen Sie eine Umsetzung? Sehen Sie meine Services auf NexoRush oder kontaktieren Sie mich.