Cosa si rompe quando analizzi l'output di un LLM in produzione?
Share

In this article
Di solito sono le assunzioni del tuo codice sul formato, non la risposta del modello. Tre bug ricorrenti: JSON valido racchiuso in blocchi markdown che un parser rigoroso rifiuta, legende dei token del prompt copiate nell'output e validatori che trattano formattazioni riparabili come errori fatali. Valida rigorosamente, normalizza con attenzione e conserva l'output grezzo.
Perché un JSON valido da un LLM non riesce a essere analizzato?
I modelli spesso racchiudono il JSON in blocchi di codice markdown per renderlo leggibile, quindi un json.loads rigoroso sul testo grezzo fallisce anche se il contenuto è valido. Rimuovi esattamente un blocco esterno prima di analizzare, conserva il testo originale per l'audit e rifiuta comunque prose o blocchi annidati come output realmente non validi.
Perché il modello copia la legenda dei token del mio prompt nell'output?
Se un prompt spiega un segnaposto con una legenda come un token seguito da un segno di uguale e una descrizione, i modelli a volte riproducono quel formato nel risultato. Dì chiaramente al modello che i token devono stare da soli su una riga e rimuovi etichette con simboli o tra parentesi quando inserisci il contenuto reale.
Quali problemi di output dovrebbe rifiutare un validatore e quali dovrebbe correggere?
Rifiuta ciò che rende l'output strutturalmente errato: campi obbligatori mancanti, prosa invece di JSON, segnaposto residui. Correggi ciò che è cosmetico e sicuro: un blocco esterno, spazi bianchi sparsi, un'etichetta decorativa. Decidi per regola, documentalo e registra ciò che è stato corretto per monitorare eventuali cambiamenti nel comportamento del modello.
Perché conservare l'output grezzo del modello?
L'output grezzo ti permette di distinguere un problema del modello da un problema di parsing. Quando una risposta viene rifiutata o corretta, conserva il testo originale accanto al risultato. Il debug parte così da prove concrete invece che da ipotesi, e puoi rieseguirlo con un parser corretto senza richiamare il modello.
Originariamente pubblicato su sakshamjain.codes/blog/llm-output-handling-bugs. Hai bisogno di questo sviluppato? Vedi i miei servizi su NexoRush o contattami.