Il prototipo di un assistente sui documenti aziendali si costruisce in due giorni. Si prende l'archivio, si spezzano i file in pezzi, si calcolano gli embedding, si collega un modello e si fa una demo che funziona. La riunione va bene, tutti sono contenti, e poi il progetto si ferma per otto mesi.
Non si ferma per il modello. Si ferma per tre cose che nella demo non c'erano.
Primo: i permessi
Nella demo tutti i documenti sono visibili a tutti. In azienda no. Se l'assistente risponde a un impiegato citando il contratto di un dirigente, avete creato un incidente, non una funzione. I permessi vanno risolti nel recupero, non nel messaggio di sistema: il filtro deve essere applicato quando si cercano i pezzi, prima che il modello li veda.
# il filtro dei permessi entra nella query, non nel prompt SELECT chunk_id, content, source_uri FROM chunks WHERE acl_group = ANY($current_user_groups) AND tenant_id = $tenant ORDER BY embedding <=> $query_vector LIMIT 12;
Secondo: i documenti veri sono brutti
L'archivio di una demo è fatto di PDF puliti. L'archivio reale contiene scansioni storte, fogli di calcolo usati come moduli, allegati dentro allegati e quattro versioni dello stesso contratto con nomi che non aiutano. Il tempo che pensavate di spendere sul modello si sposta tutto qui: estrazione, riconoscimento del testo, deduplicazione e una regola chiara su quale versione è quella buona.
Terzo: nessuno sa se le risposte sono giuste
Questa è la parte che salta sempre, ed è quella che decide se il progetto arriva agli utenti. Serve un insieme di domande con la risposta attesa, scritto insieme a chi quel lavoro lo fa davvero. Non cento domande: quaranta bastano, purché siano quelle che arrivano in un mese normale, comprese le tre che sono ambigue anche per un umano.
Su quell'insieme si misurano due cose separate: se il sistema ha trovato i documenti giusti, e se ha scritto la risposta giusta partendo da quelli. Confonderle porta a passare settimane a cambiare il modello quando il problema era nella ricerca.
| Cosa misuriamo | Soglia minima | Perché |
|---|---|---|
| Recall@12 sul recupero | 0,92 | se il documento non entra, il modello non può indovinarlo |
| Risposte corrette e complete | 0,90 | giudicate da chi fa il lavoro, non dal team tecnico |
| Risposte inventate | 0,00 | meglio "non lo so" che una citazione che non esiste |
| Citazione della fonte presente | 1,00 | senza fonte la risposta non è verificabile |
La soglia più importante non è l'accuratezza: è zero risposte inventate. Un assistente che sbaglia il dieci per cento delle volte si può usare. Uno che inventa una fonte una volta su cento non lo userà più nessuno.
Cosa guardiamo dopo il rilascio
Le domande che il sistema non ha saputo gestire, le risposte segnalate come sbagliate dagli utenti e la deriva del recupero quando l'archivio cresce. Ogni settimana quelle domande entrano nell'insieme di valutazione. È così che un assistente migliora: non cambiando modello ogni tre mesi, ma raccogliendo i casi in cui ha fallito.
Design system: quando conviene davvero costruirne unoArticolo successivo Leggi l'articoloAvete un progetto in mente?
La prima chiamata è tecnica e dura mezz'ora. Capiamo se possiamo essere utili, e ve lo diciamo anche quando la risposta è no.