AI Products · Approfondimento
Architettura di un prodotto AI in produzione: dai dati ai guardrail
I sei strati che trasformano un prototipo in un prodotto AI affidabile: ingestion governata, retrieval misurabile, orchestrazione deterministica, eval in CI, guardrail end-to-end e controllo di costi e latenza.
PRODOTTO AI · ARCHITETTURA DI PRODUZIONE
Entra · Richiesta grezza + fonti
Esce · Una risposta che puoi rilasciare, tracciare e di cui fidarti
Dati e ingestione (lineage, mascheramento PII)
Ogni documento entra con parsing strutturato, classificazione di sensibilità e redazione deterministica del PII prima di toccare il modello, e ogni chunk conserva il legame con file sorgente, versione di policy e run che l'ha generato: senza questo strato nessuna risposta regge un audit.
Retrieval (ricerca ibrida + riordino)
Il recupero fonde ricerca semantica a vettori e ricerca lessicale BM25 via Reciprocal Rank Fusion, poi un reranker cross-encoder riordina i candidati per portare in cima i passaggi davvero pertinenti: è qui che si vince o si perde la fedeltà della risposta.
Orchestrazione (agente delimitato, chiamate a tool)
Un workflow deterministico decide dove sei nel processo mentre il modello sceglie cosa fare entro un insieme vincolato di azioni, con chiamate a tool su protocolli standard, esecuzione durevole e human-in-the-loop sulle azioni a impatto alto: l'agente resta prevedibile anche sotto carico.
Valutazione e osservabilità (eval in CI, tracing)
Un dataset golden costruito sui fallimenti reali, grader calibrati su revisori umani e un gate in CI bloccano le regressioni prima del rilascio, con trace che seguono convenzioni semantiche aperte (OpenTelemetry GenAI) per restare interoperabili e indagabili.
Guardrail e sicurezza (input/output, injection)
I guardrail validano end-to-end input, contesto recuperato e output contro la prompt injection — la vulnerabilità più sfruttata — classificando il contesto intermedio non fidato e misurando ogni azione rispetto all'intento originale dell'utente.
Costo e latenza (routing, caching, TTFT)
Routing per complessità, caching semantico e budget di token tengono sotto controllo costo e time-to-first-token con streaming per la latenza percepita, così il conto non esplode e la qualità non degrada quando il traffico cresce.
Il demo convince, il prodotto crolla
Un prototipo AI funziona perché gira su input noti, in single-tenant, senza traffico avverso. La produzione cambia tutte le regole.
- Risposte sicure ma sbagliate. Il modello cita con tono autorevole documenti che non sono quelli giusti: il collo di bottiglia è il retrieval, non la generazione.
- Comportamento non riproducibile. Lo stesso input dà esiti diversi e nessuno sa perché, perché non esistono trace né dataset di regressione.
- Costi e latenza fuori controllo. Prompt verbosi, nessun caching, nessun routing per complessità: il conto cresce e il time-to-first-token peggiora sotto carico.
- Superficie d'attacco aperta. Istruzioni ostili nascoste in un documento o in un output di tool dirottano l'agente: la prompt injection è la vulnerabilità più sfruttata.
- Nessuna tracciabilità. Quando un utente segnala un errore non si risale al documento sorgente, al chunk e alla run che l'hanno prodotto.
Per chi deve portare un'AI da proof-of-concept a sistema in produzione con audit, SLA e tetti di costo.
Cosa rende un prototipo un prodotto vero
Un prodotto AI in produzione è un sistema distribuito in cui il modello è solo il pianificatore. Sei strati lo reggono.
Dati e ingestion
I documenti entrano con parsing strutturato, classificazione di sensibilità e redazione deterministica del PII prima di toccare il modello. Ogni output è tracciabile al file sorgente, alla versione di policy e alla run che l'ha generato.
Retrieval
Il recupero combina ricerca semantica (vettori) e lessicale (BM25) fusa via Reciprocal Rank Fusion, poi un reranker cross-encoder riordina i candidati. È qui che si vince o si perde la fedeltà della risposta.
Orchestrazione e agenti
Un workflow deterministico decide dove sei nel processo; il modello decide cosa fare entro un insieme vincolato di azioni. Le chiamate a tool passano da protocolli standard, con esecuzione durevole e human-in-the-loop sulle azioni a impatto alto.
Valutazione e osservabilità
Un dataset golden costruito sui fallimenti reali, grader calibrati su revisori umani e un gate in CI che blocca le regressioni prima del rilascio. Le trace seguono convenzioni semantiche aperte (OpenTelemetry GenAI) per essere interoperabili.
Guardrail e costi
I guardrail validano input, contesto recuperato e output end-to-end contro la prompt injection; routing per complessità, caching semantico e budget di token tengono sotto controllo costo e latenza senza degradare la qualità.
Il percorso di una singola richiesta
Cosa attraversa una richiesta quando l'architettura è completa, dallo strato dati al ritorno della risposta.
Il documento è parsato, classificato per sensibilità, ripulito dal PII e indicizzato con tag di scopo; ogni chunk conserva il legame con la fonte.
Ricerca ibrida vettore + parola chiave, fusione dei rank, poi reranking cross-encoder per portare in cima i passaggi davvero pertinenti.
L'orchestratore instrada la richiesta, chiama i tool necessari e ferma l'agente sui punti di decisione critici; ogni invocazione è loggata.
Output validato contro policy e segnali di iniezione, valutato su trace campionate, poi restituito con caching e streaming per la latenza percepita.
Sei strati attraversati per ogni richiesta, ognuno misurabile e tracciabile in modo indipendente.
Dove cambia tutto
Stesso modello, mondo diverso. La distanza non è nel prompt: è negli strati che lo circondano.
| Dimensione | Prototipo | Prodotto in produzione |
|---|---|---|
| Dati | File caricati a mano | Ingestion governata, PII redatto, lineage tracciabile |
| Retrieval | Solo ricerca vettoriale | Ibrida + reranking, fedeltà misurata |
| Controllo | Agente libero | Workflow deterministico, tool vincolati, human-in-the-loop |
| Qualità | Si prova a mano | Eval in CI su dataset golden, gate di regressione |
| Sicurezza e costi | Nessun guardrail | Difesa a strati, routing, caching, budget di token |
Il valore dei sei strati
Non è teoria di architettura: è ciò che permette di mettere la firma su una risposta davanti a un cliente o a un audit.
Risposte che reggono l'audit
Ogni output risale al documento, al chunk e alla versione di policy: spiegabile, riproducibile, difendibile.
Affidabilità sotto traffico reale
Orchestrazione deterministica e guardrail end-to-end tengono il comportamento prevedibile anche con input avversi e multi-tenant.
Qualità che non regredisce
Le eval in CI bloccano i peggioramenti prima del rilascio, non dopo la segnalazione di un utente.
Costi e latenza governati
Routing per complessità, caching semantico e budget di token mantengono il conto e il time-to-first-token sotto controllo a scala.
In produzione un agente non è un prompt: è un sistema distribuito in cui il modello è il pianificatore.
Quello che ci chiedono
Perché la risposta è sicura ma sbagliata?
Quasi sempre il problema è a monte: il retrieval ha portato i documenti sbagliati e il modello ha generato una risposta ben formata ma fondata sulla fonte errata. Si interviene su retrieval ibrido, reranking e misura della fedeltà, non sul prompt.
Come ci difendiamo dalla prompt injection?
Con difesa a strati: classificare input e contesto recuperato prima del modello, validare l'output contro policy, e valutare ogni azione dell'agente rispetto all'intento originale dell'utente, isolando il contesto intermedio non fidato.
Cosa serve oltre a un modello che passa le eval?
Un prototipo che passa le eval è un ingrediente. Servono anche dataset golden dai fallimenti reali, trace, gate in CI, canary, rollback e runbook: si ingegnerizzano, non si danno per scontati.
Casi
Dal problema al risultato — anonimi.
La citazione sicura ma sbagliata
Problema Un assistant documentale rispondeva con tono autorevole citando il contratto sbagliato: in demo funzionava, davanti ai clienti crollava la fiducia perché nessuno sapeva risalire alla fonte.
Metodo Sostituita la sola ricerca vettoriale con retrieval ibrido (vettori + BM25) fuso via Reciprocal Rank Fusion e reranking cross-encoder, aggiunto lineage chunk-a-fonte e una misura di fedeltà sulle risposte campionate.
Risultato Ogni output torna ora al documento, al chunk e alla versione di policy che lo fondano; le risposte non pertinenti vengono intercettate prima dell'utente invece di emergere come reclamo.
L'agente dirottato da un documento
Problema Un agente con accesso a tool eseguiva istruzioni ostili nascoste dentro i documenti caricati e negli output dei tool: una prompt injection che apriva una superficie d'attacco in ambiente multi-tenant.
Metodo Introdotta difesa a strati — classificazione di input e contesto recuperato prima del modello, validazione dell'output contro policy, isolamento del contesto intermedio non fidato e human-in-the-loop sulle azioni a impatto alto.
Risultato Il comportamento dell'agente è rimasto prevedibile anche con input avversi; ogni azione viene valutata rispetto all'intento originale dell'utente e le invocazioni dei tool sono loggate e tracciabili.
La qualità che regrediva in silenzio
Problema Lo stesso input dava esiti diversi e i peggioramenti emergevano solo dopo la segnalazione di un utente, perché non esistevano trace né un dataset di regressione su cui appoggiarsi.
Metodo Costruito un dataset golden a partire dai fallimenti reali, calibrati i grader su revisori umani, aggiunto un gate di eval in CI con canary e rollback e trace conformi a OpenTelemetry GenAI.
Risultato Le regressioni vengono bloccate prima del rilascio invece che dopo il reclamo, e il comportamento del sistema è oggi riproducibile e indagabile run per run.
Approfondisci ancora
Knowledge base RAG che non inventa→
Lo strato di retrieval in dettaglio: grounding sulle fonti, citazioni tracciabili, controllo delle allucinazioni.
Adozione AI governata→
Come portare l'AI in produzione con audit, ruoli e policy, non solo con un buon prototipo.
Custom o piattaforma: build-vs-buy→
Quando costruire ogni strato su misura e quando comporre via piattaforma o API.