Guardrail per chatbot aziendali: dove usare Jev AI
Come usare Jev AI per classificare rischi e instradare messaggi, mantenendo autorizzazioni, controlli tecnici e approvazioni nel software.
Tempo di lettura: 11 min

Jev AI può essere usato nei guardrail di un chatbot per valutare messaggi e indirizzarli verso gestione ordinaria, revisione o blocco. Il giudizio sul rischio non autorizza operazioni: identità, permessi e vincoli devono essere verificati dal software che esegue l’azione.
Le responsabilità da separare
- Il modello valuta un contenuto secondo criteri definiti.
- L’applicazione decide il percorso e controlla le autorizzazioni.
- Le azioni con conseguenze devono avere un comportamento sicuro anche senza risposta del controllo.
- Un messaggio ammesso non rende automaticamente corretta la risposta.
- I test devono includere abusi e richieste lecite bloccate inutilmente.
La parola guardrail copre problemi diversi
Un’azienda può voler evitare risposte fuori tema, riconoscere richieste da passare a un operatore, impedire la divulgazione di documenti o limitare le operazioni disponibili. Sono esigenze collegate, ma richiedono strumenti diversi. Una classificazione del testo può aiutare con le prime; l’accesso a un record richiede una verifica del diritto di leggere quel record.
La guida agli agenti AI per aziende aiuta a distinguere un assistente informativo da un sistema che compie azioni. Quanto più il flusso può modificare dati, inviare comunicazioni o assumere impegni, tanto più serve descrivere con precisione le operazioni possibili. “Aiuta il cliente” non è un’autorizzazione utilizzabile dal software.
Il cookbook ufficiale sui guardrail combina valutazioni Noul e severità Score su ingresso e uscita. Il codice decide tra passaggio, revisione, blocco e instradamento. Questi esiti dipendono dalla policy applicativa; la probabilità di rischio non garantisce che ogni abuso venga riconosciuto.
Nel progetto di una PMI, la domanda iniziale dovrebbe essere: quale errore concreto vogliamo intercettare prima di quale azione? Una richiesta offensiva, una domanda sullo stato dell’ordine e un tentativo di cambiare un IBAN non possono condividere soltanto un generico semaforo. Il sistema deve sapere chi prende in carico ciascun caso e cosa può fare nel frattempo.
Una policy leggibile prima di una soglia
Il proprietario del processo scrive casi consentiti, casi vietati e casi da revisionare. Il testo deve contenere esempi e confini: una contestazione del servizio non è necessariamente un abuso; una domanda su dati di un collega può essere legittima per alcuni ruoli e non per altri. La policy deve appoggiarsi a informazioni verificabili dall’applicazione.
Nella presentazione di Jev AI trovi la distinzione tra decisione tipizzata e generazione. Per i guardrail, proponiamo di definire poche decisioni indipendenti: il messaggio appartiene al processo, richiede una persona, contiene una richiesta operativa oppure introduce istruzioni incompatibili con il compito. Non occorre trasformare ogni sfumatura in una categoria.
Poi stabilisci le azioni. Un messaggio fuori ambito può ricevere un’indicazione del canale corretto. Una richiesta da revisionare entra in una coda con responsabile. Una scrittura vietata non deve arrivare allo strumento operativo. La policy descrive queste conseguenze; la soglia serve soltanto a governare i casi in cui il giudizio è incerto.
La guida alla confidence affronta l’incertezza per azione. Qui il punto è preservare la separazione: anche un esito deciso del modello non modifica i diritti dell’utente. Se il server vieta una scrittura, nessuna valutazione del testo dovrebbe trasformarla in un’operazione permessa.
Il confine che deve restare nel codice
La tabella seguente è una proposta di responsabilità per un chatbot aziendale. Ogni riga può essere verificata con una prova distinta, senza attribuire tutto al modello.
| Controllo | Chi prende la decisione nel progetto | Prova utile |
|---|---|---|
| Identità dell’utente | Sistema di autenticazione | Utente non riconosciuto |
| Accesso a un documento | Regola di autorizzazione nel server | Utente senza diritto sul file |
| Ammissibilità del messaggio | Policy applicativa con valutazione del contenuto | Richiesta fuori ambito |
| Validità dei parametri | Codice e vincoli del servizio | Identificativo inesistente |
| Permesso di modifica | Server sulla specifica operazione | Ruolo di sola lettura |
| Approvazione necessaria | Regola del processo | Operazione senza approvazione |
| Qualità della risposta | Controlli su contenuto e fonti | Conclusione non sostenuta |
Nel progetto, i controlli tecnici si eseguono anche se il testo sembra innocuo. Non dovrebbero ricevere dal modello un semplice ordine di saltare la verifica. Il server conosce l’identità attraverso la sessione e i privilegi attraverso regole proprie, non attraverso ciò che l’utente scrive nella chat.
Il cookbook Function calling mostra scelte tra funzioni e argomenti enumerati. L’applicazione invoca poi funzioni ordinarie. Uno schema compatibile non concede autorizzazioni né garantisce che l’azione sia semanticamente corretta: il passaggio dal risultato all’esecuzione richiede controlli indipendenti.
Questa distinzione diventa concreta quando si seleziona una funzione di aggiornamento. Il nome della funzione è soltanto una proposta. Prima dell’esecuzione, il codice verifica il record, il campo modificabile, il diritto dell’utente e l’eventuale approvazione. La configurazione deve rendere impossibile modificare campi che il processo non contempla.
Caso ipotetico: chatbot interno di un distributore
Una PMI italiana ipotetica vende forniture industriali. Il chatbot interno aiuta a cercare clienti e preparare note commerciali. Alcuni utenti possono leggere il CRM; soltanto i referenti autorizzati possono aggiornare le condizioni di pagamento.
Un addetto chiede di modificare un dato economico perché il cliente ha telefonato. Il messaggio potrebbe essere perfettamente coerente con il lavoro dell’azienda. Un guardrail sul contenuto può riconoscere il tipo di richiesta, ma il server deve comunque rifiutare la scrittura se quel ruolo non la consente.
Il progetto distingue la preparazione di una richiesta di modifica dall’aggiornamento effettivo. L’addetto può compilare una proposta, indicare il motivo e inviarla al responsabile attraverso il percorso previsto. Il sistema mostra lo stato di approvazione. Nessun punteggio deve trasformare una proposta in un dato già modificato.
Nel pilota vengono provati messaggi corretti da utenti senza permessi, messaggi ambigui da utenti autorizzati e parametri riferiti a record diversi. Sono situazioni differenti. Un esito favorevole sul testo non deve compensare un errore nel record; un utente autorizzato non deve poter aggirare i vincoli sui campi.
L’azienda controlla anche l’esperienza del collega. Se ogni richiesta lecita produce un generico blocco, l’operatore cercherà altri canali. Il flusso dovrebbe spiegare la prossima azione consentita, per esempio preparare una proposta da approvare. Questo scenario è ipotetico e non descrive una soluzione Giallo già installata.
Caso ipotetico: assistenza clienti per un’impresa di servizi
Una seconda PMI italiana ipotetica offre manutenzione e vuole un chatbot che risponda alle domande frequenti. Alcune richieste segnalano guasti urgenti; altre chiedono rimborsi o contengono contestazioni. Il proprietario del processo decide che il sistema informativo non può assumere impegni economici.
Il guardrail in ingresso instrada le segnalazioni che richiedono una persona. Il controllo in uscita osserva invece se la bozza formula una promessa fuori dalle condizioni approvate. Le due valutazioni hanno scopi diversi: una domanda lecita potrebbe ricevere una risposta troppo ampia, e una domanda conflittuale potrebbe essere gestita con una risposta corretta.
Per le fonti, il progetto usa soltanto documenti accessibili e applicabili. Il RAG con filtraggio dei passaggi prepara il contesto, mentre la verifica delle citazioni aiuta a controllare il supporto delle affermazioni. Il guardrail non deve essere presentato come sostituto di entrambi.
I messaggi urgenti seguono un percorso previsto dall’azienda e ricevono un’indicazione controllata. La revisione non deve lasciarli immobili in una coda generica. Il responsabile stabilisce chi legge gli avvisi e come si gestiscono orari e assenze. Senza questo presidio, riconoscere un’urgenza aggiunge un’etichetta ma non migliora il servizio.
Nel test vengono inclusi clienti insoddisfatti che formulano richieste legittime. Il controllo non deve confondere un tono duro con un motivo per negare assistenza. Si contano separatamente i casi da passare a una persona, le richieste inutilmente bloccate e le promesse esterne che il sistema avrebbe lasciato uscire.
Materiali ostili e informazioni utili possono stare insieme
Un documento recuperato può contenere informazioni utili e una parte che tenta di impartire istruzioni. Nel progetto il contenuto rimane materiale da esaminare. Le istruzioni di funzionamento devono provenire dalla configurazione controllata, non da un documento, da una email o da un campo del CRM.
La documentazione sui limiti di Jev 1.13 segnala vulnerabilità agli input avversari. Un guardrail probabilistico non è una barriera di sicurezza. Per questo il progetto mantiene permessi, strumenti consentiti e validazione dei parametri indipendenti dal risultato della classificazione.
Un test utile prende una richiesta ammessa e aggiunge un tentativo di cambiare il comportamento: ignorare il processo, accedere a un altro record o inviare dati fuori dal canale previsto. Il risultato atteso deve riguardare anche l’azione finale. Non basta verificare che il modello abbia segnalato qualcosa se il software esegue comunque l’operazione.
La sicurezza dei dati nei progetti AI coinvolge l’intero percorso. Un log troppo ricco, una coda accessibile a tutti o una credenziale con privilegi eccessivi possono creare problemi anche se la classificazione del messaggio funziona. Il perimetro del test deve comprendere le componenti che ricevono e conservano i dati.
Quando il controllo manca, il flusso deve sapere cosa fare
Può mancare una risposta, arrivare un timeout o essere indisponibile il servizio di verifica. Il progetto deve definire un comportamento per ogni tipo di operazione. Una scrittura con conseguenze può restare sospesa; una consultazione può mostrare una risposta controllata o proporre un nuovo tentativo.
Evita una regola unica per tutto. Far passare ogni richiesta in caso di errore rende il controllo opzionale proprio quando non funziona. Bloccare qualsiasi cosa può invece fermare l’ufficio per un problema circoscritto. Il proprietario del processo deve decidere cosa sospendere, cosa degradare e chi avvisare.
Anche i retry devono essere osservabili. Ripetere un’operazione non dovrebbe duplicare un aggiornamento o inviare due comunicazioni. Nel progetto, l’esecuzione possiede un identificativo e controlli propri. La ripetizione della classificazione non equivale alla ripetizione dell’azione che ne sarebbe seguita.
Apri una scheda per una nuova azione del chatbot
Scopo: cosa può ottenere l’utente con questa operazione.
Permessi: quali ruoli, record e campi sono ammessi dal server.
Revisione: quando serve approvazione e chi la concede.
Errore: cosa succede se il modello, il controllo o lo strumento non risponde.
Prova: caso consentito, caso vietato, parametro errato e richiesta avversaria.
Provare le autorizzazioni senza fidarsi del testo
Il test dei permessi deve includere richieste formulate bene. Un utente senza diritto di modifica può spiegare il lavoro con precisione, fornire tutti i campi e presentare una motivazione ragionevole. Il server deve comunque negare l’operazione. Un test costruito soltanto con messaggi palesemente sospetti non dimostra questo confine.
Proponiamo di ripetere la stessa richiesta con due identità di prova: una autorizzata e una di sola lettura. Poi manteniamo l’identità e cambiamo il record richiesto, includendo uno fuori dal suo ambito. Infine verifichiamo un campo ammesso e uno che il processo non rende modificabile. Sono controlli progettuali distinti dalla valutazione semantica del messaggio.
Il risultato da osservare è lo stato del dato nel sistema destinatario. Un avviso nella chat non basta: l’operazione potrebbe essere stata eseguita prima del messaggio di blocco. Per questo il test confronta la risposta mostrata, l’eventuale tentativo dello strumento e l’esito effettivo del server.
Quando serve approvazione, prova anche una richiesta senza approvatore, una approvata per un altro record e una già eseguita. Il codice deve collegare l’approvazione all’operazione specifica prevista dal processo. Una generica conferma scritta in chat non dovrebbe autorizzare una serie indefinita di modifiche successive.
Queste verifiche possono essere eseguite con dati sintetici in un ambiente separato. Prima dell’avvio operativo, il gruppo controlla che la configurazione dei permessi sia quella prevista anche nel sistema reale. Il guardrail sul contenuto rimane utile, ma il suo esito non deve cambiare il risultato di queste prove di accesso.
Misurare gli errori di due tipi
Un guardrail deve essere valutato sia sugli abusi non intercettati sia sui blocchi inutili. Il primo gruppo riguarda ciò che l’azienda non voleva permettere. Il secondo riguarda clienti o colleghi che non riescono a completare un’attività lecita. Entrambi incidono sul risultato, ma possono richiedere correzioni diverse.
Costruisci un campione con il proprietario del processo. Ogni caso deve avere un esito atteso e un motivo. Quando due persone non concordano, chiarisci la policy prima di modificare la domanda al modello. Un criterio ambiguo produce una revisione umana ambigua anche con un classificatore diverso.
Valuta poi il flusso completo: cosa ha ricevuto l’utente, quale operazione è stata tentata, quali controlli l’hanno autorizzata e se è stata eseguita. Questo permette di distinguere una classificazione sbagliata da un permesso configurato male. Le due cose possono apparire simili nella chat, ma non si correggono nello stesso punto.
Prima del pilota, definisci dati necessari e test sui contenuti italiani. Parti da una funzione circoscritta, con pochi strumenti e responsabilità leggibili. Un progetto di agenti AI diventa valutabile quando sai indicare quali azioni può compiere, chi le autorizza e come si verifica ogni confine.
Progettiamo guardrail e permessi del tuo agente, con casi di prova prima dell’uso operativo.
Metodo e fonti delle guide di Giallo Studio
Come lo applichiamo in azienda
Risorse correlate
Jev AI, confidence e probabilità: quando far intervenire una persona
Jev AI nel RAG: scegliere le fonti prima della risposta
Jev AI in azienda: privacy, limiti e test sui dati italiani
AI e sicurezza dei dati: rischi concreti e come gestirli
Agenti AI per aziende: quando servono davvero e come si adottanoJev AI nei processi aziendali
API, decisioni, dati e controlli: scegli il passaggio che riguarda il tuo processo.
- Jev AI per estrarre dati da email e fatture: prima trovare, poi scegliere
- Lead scoring con Jev AI: dare priorità alle richieste nel CRM
- Deduplicazione con Jev AI: collegare record senza fondere quelli sbagliati
- Jev AI nel RAG: scegliere le fonti prima della risposta
- Jev AI, confidence e probabilità: quando far intervenire una persona
- Verificare le citazioni dei chatbot con Jev AI
- Classificazione documenti con Jev AI: costruire categorie che reggono
- Jev AI vs LLM: come scegliere il modello giusto
- Smistare ticket di assistenza con Jev AI: reparto, urgenza e revisione
- Jev AI: cos’è e cosa cambia nelle automazioni per PMI
- Integrare Jev AI via API: un flusso per n8n e software aziendali
- Jev AI: prezzi API e costo di un’automazione aziendale
FAQ
Un guardrail Jev può autorizzare una modifica al CRM?
La valutazione del messaggio non concede permessi. Nel progetto, il server verifica identità, ruolo, record e operazione consentita prima di eseguire qualsiasi modifica.
Dove va inserito il controllo dei messaggi?
Puoi prevederlo all’ingresso e prima dell’uscita, con criteri diversi. L’ingresso riguarda la richiesta; l’uscita riguarda ciò che il sistema sta per mostrare o proporre.
Cosa succede se il controllo non risponde?
Definisci un comportamento per ogni azione. Per una scrittura con conseguenze, puoi sospendere l’operazione e aprire revisione; una funzione informativa può mostrare un messaggio controllato e consentire un nuovo tentativo.
Jev garantisce di riconoscere ogni prompt injection?
No. La documentazione segnala limiti sugli input avversari: il controllo probabilistico deve affiancare regole tecniche indipendenti, senza essere trattato come una barriera definitiva.
Chi decide quali messaggi bloccare?
Il proprietario del processo scrive i casi consentiti e vietati, con l’aiuto dei referenti necessari. Chi implementa traduce quei criteri in percorsi e controlli verificabili.
Come evito che il guardrail blocchi richieste lecite?
Nel pilota includi anche richieste ammesse che sembrano rischiose fuori contesto. Misura blocchi inutili e casi pericolosi lasciati passare, quindi correggi regole e percorsi prima di ampliare lo scope.