Costruisci prima il percorso deterministico
Trigger, controlli di formato, deduplicazione, permessi, salvataggio e notifiche seguono regole esplicite. L’AI entra dove serve interpretare linguaggio o classificare casi ambigui, non dove una condizione semplice è sufficiente.
Separare i due livelli rende gli errori più leggibili: un codice del servizio decide se un errore è temporaneo, mentre il modello può aiutare a riassumere il caso per il revisore senza comandare il ritentativo.
Tratta contenuti esterni come non affidabili e limita i permessi
Email, pagine web, PDF e messaggi possono contenere istruzioni malevole o accidentali. Separare istruzioni e dati riduce il rischio ma non lo elimina: OWASP considera la prompt injection un rischio centrale delle applicazioni basate su modelli linguistici.
Il componente che legge un documento non dovrebbe poter cancellare dati, pubblicare o cambiare ruoli. Concedi soltanto strumenti e credenziali necessari al singolo passaggio e usa una persona come ultimo controllo per gli effetti importanti.
Progetta una coda che possa approvare, correggere, rifiutare o scadere
Invii esterni, pubblicazioni, pagamenti, cancellazioni, modifiche ai permessi e uso di dati sensibili si fermano in una coda. Il revisore deve vedere input, bozza, fonti, versione e azione proposta.
La scadenza chiude la richiesta senza eseguire. La correzione deve restare distinta dall’approvazione, e il silenzio non deve mai essere interpretato come consenso.
- Anteprima dell’effetto esterno.
- Identificatore stabile dell’evento.
- Approva, correggi, rifiuta e scadi.
- Identità e ora della decisione.
- Componente di invio separato e con permessi minimi.
Gestisci errori e ritentativi senza duplicare gli effetti
Timeout e limiti temporanei possono ricevere pochi ritentativi con attesa crescente. Errori di dati o permessi richiedono invece una correzione o una revisione. Dopo la soglia, il flusso si ferma.
Ogni evento deve avere un ID stabile. Se lo stesso evento ritorna, il sistema controlla se l’effetto è già avvenuto prima di inviare una seconda email, creare un altro record o pubblicare di nuovo.
- Errori temporanei e permanenti sono distinti.
- Il numero massimo di tentativi è esplicito.
- Lo stesso ID non produce due effetti.
- Dopo l’arresto esiste una coda di revisione.
- Token, password e contenuti personali completi non finiscono nei log.
Misura prima di aumentare l’autonomia
Registra versione del prompt e del modello, esito dei controlli, durata, passaggio fallito e correzione umana. Un riepilogo periodico può mostrare regressioni, duplicati, tempo in coda e categorie più corrette dai revisori.
Il sistema non dovrebbe cambiare prompt o modello da solo. Apre invece una proposta con esempi anonimizzati e casi di prova, che una persona valuta prima della nuova versione.