6 bug che solo un modello live potrebbe insegnarci
I test offline sono necessari. Ma non bastano.
Ho sviluppato AgentOps Debugger per monitorare la conformità ambientale in Perù. Utilizza Qwen-plus su Qwen Cloud per trovare record e scrivere report.
Ho progettato il sistema con un approccio "offline-first". I miei 315 test sono stati eseguiti senza alcuna chiamata di rete. Tutti i test sono passati. Ma quando sono passato al modello live su Alibaba Cloud, il sistema si è rotto.
Il codice era corretto. Il problema era l'output del modello.
Ecco le sei lezioni apprese dai fallimenti dei modelli nel mondo reale:
• Disallineamento delle etichette (Label Mismatch) Lo schema si aspettava "completed" o "failed". Il modello ha inviato "success" o "done". Il parser ha rifiutato risposte utili a causa di una singola parola. Soluzione: Utilizzare preprocessori tolleranti per normalizzare i sinonimi.
• Piani degeneri (Degenerate Plans) Il pianificatore a volte non restituiva nulla. L'app ha cercato di trasformare questo silenzio in una risposta normale. Ciò ha generato risposte false. Soluzione: Aggiungere un interprete dei piani. Se il piano è vuoto, comunica all'utente che il sistema non è riuscito a pianificare invece di mentire.
• Deriva dello schema (Schema Drift) Il modello ha cambiato i nomi dei campi da "documentTitle" a "title". Ha anche mescolato etichette in inglese e spagnolo. Soluzione: Utilizzare la mappatura degli alias e recuperare le parti valide. Se una citazione è errata, conserva le altre quattro.
• Task non accoppiati (Unpaired Tasks) Il modello ha chiesto di salvare un report prima ancora di averne bozzato uno. La logica era sicura, ma l'esperienza utente era compromessa. Soluzione: Il codice deve rilevare i passaggi mancanti e inserirli automaticamente.
• Errori di loop (Loop Errors) Il modello continuava a porre le stesse domande di chiarimento anche dopo che l'utente aveva risposto. Soluzione: Spostare la risoluzione delle entità dal modello al codice. Una volta che l'utente fornisce i dati, il sistema gestisce il resto in modo deterministico.
• Falsa ambiguità (False Ambiguity) Il modello ha sostenuto che il nome di un'azienda fosse ambiguo quando non lo era. Ciò ha bloccato il flusso di lavoro. Soluzione: Lasciare che il modello suggerisca l'ambiguità, ma lasciare che siano i dati a decidere se sia reale.
Il principio fondamentale: Lascia che l'LLM narri, ma non permettergli di gestire gli esiti strutturati.
Il modello dovrebbe gestire l'intento, la pianificazione e il linguaggio. Il codice deve gestire la risoluzione delle entità, i dati dei grafici e l'assemblaggio dei report.
Un sistema diventa affidabile quando ogni conclusione può essere ricondotta a un record. Usa il modello per la narrazione, ma usa il codice per la verità.
Source: https://dev.to/ginollerena/six-bugs-only-a-live-model-could-teach-us-57k5
Optional learning community: https://t.me/GyaanSetuAi
