Vai al contenuto
Giallo

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

Messaggio valutato da Jev e poi sottoposto ai permessi deterministici del codice prima dell’azione

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
Una valutazione AI non concede un permesso
Schema progettuale: il risultato della classificazione e le regole deterministiche del software concorrono alla decisione di eseguire. La valutazione del modello non concede un permesso.

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

Servizi di consulenza AI e automazione dei processi

Jev AI nei processi aziendali

API, decisioni, dati e controlli: scegli il passaggio che riguarda il tuo processo.

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.

Applichiamolo

Trasformiamo la guida in un primo flusso live.

Raccontaci quale processo vuoi alleggerire: valutiamo fattibilità, ritorno e primo step operativo.