Un'applicazione LLM senza observability è una scatola nera che brucia soldi: serve vedere cosa succede dentro ogni richiesta. I tre pilastri:
- tracing: per ogni interazione, l'albero completo – prompt, contesto recuperato, chiamate ai tool, risposte, latenze per passo. Quando l'utente dice "ha risposto male", il trace è l'unico modo di capire dove si è rotto: retrieval? prompt? modello?
- costi e token: consumo per richiesta, per utente, per funzionalità – le sorprese in bolletta nascono sempre da un ciclo che nessuno guardava (e si riducono con metodo)
- qualità nel tempo: campionare le risposte in produzione e valutarle di continuo – il drift silenzioso (un aggiornamento del modello, un cambio nei dati) si vede solo così
Strumenti: Langfuse (open source, self-hostabile – coerente con la filosofia dei dati in casa), Phoenix, OpenTelemetry con le convenzioni GenAI. La regola minima: nessuna chiamata LLM senza trace ID – il resto si costruisce.