Wat gaat er mis bij het parsen van LLM-output in productie?
Share

In this article
Meestal zijn het de aannames van je code over de opmaak, niet het antwoord van het model. Drie bugs komen steeds terug: geldige JSON verpakt in markdown-afscheidingen die een strikte parser afwijst, prompt-tokenlegendes die in de output worden gekopieerd, en validators die herstelbare opmaak als fataal beschouwen. Valideer strikt, normaliseer beperkt en bewaar de ruwe output.
Waarom faalt geldige JSON van een LLM bij het parsen?
Modellen verpakken JSON vaak in markdown-codeafscheidingen voor leesbaarheid, waardoor een strikte json.loads op de ruwe tekst faalt, ook al is de inhoud geldig. Verwijder precies één buitenste afscheiding voordat je parseert, bewaar de originele tekst voor audit, en wijs proza of geneste afscheidingen af als echt ongeldige output.
Waarom kopieert het model de tokenlegende van mijn prompt in de output?
Als een prompt een placeholder uitlegt met een legende zoals een token gevolgd door een gelijkteken en een beschrijving, reproduceren modellen soms dat formaat in het resultaat. Vertel het model duidelijk dat tokens op een eigen regel staan, en verwijder symbolen of haakjes met labels wanneer je de echte inhoud injecteert.
Welke outputproblemen moet een validator afwijzen en welke moet hij herstellen?
Wees streng op wat de output structureel fout maakt: ontbrekende verplichte velden, proza in plaats van JSON, achtergebleven placeholders. Herstel wat cosmetisch en veilig is: een omringende afscheiding, overtollige witruimte, een decoratief label. Bepaal per regel, documenteer het en log wat is hersteld zodat je veranderingen in modelgedrag kunt volgen.
Waarom de ruwe modeloutput bewaren?
Ruwe output laat je een modelprobleem onderscheiden van een parseerprobleem. Wanneer een antwoord wordt afgewezen of hersteld, sla dan de originele tekst naast het resultaat op. Debuggen begint dan met bewijs in plaats van gissingen, en je kunt het opnieuw afspelen tegen een verbeterde parser zonder het model opnieuw aan te roepen.
Oorspronkelijk gepubliceerd op sakshamjain.codes/blog/llm-output-handling-bugs. Heb je dit nodig? Bekijk mijn diensten op NexoRush of stuur me een bericht.