Inserisci la password ricevuta via email per accedere al corso.
Per assistenza: info@ai-adopt.it
Un agente AI è esattamente quello che gli dici di essere. Se le istruzioni sono vaghe, il comportamento sarà imprevedibile. Se sono precise, coerenti e ben strutturate, l'agente lavora in modo affidabile anche senza supervisione continua. Questo modulo insegna a scrivere istruzioni di sistema che producono risultati reali.
Ogni agente AI parte da un testo che non vede l'utente finale: le istruzioni di sistema, chiamate in inglese system prompt. È qui che si decide chi è l'agente, cosa sa fare, come si esprime, e cosa deve rifiutare. Un system prompt ben scritto è la differenza tra un agente che funziona in produzione e uno che produce output imprevedibili dopo pochi cicli.
La maggior parte degli strumenti no-code — Claude Projects, ChatGPT Actions, Make con nodo AI — ti chiede di compilare un campo "istruzioni di sistema" o "prompt di sistema" prima di avviare il workflow. Quel campo è il luogo più importante di tutta la configurazione. Spesso viene compilato in fretta, con frasi generiche come "sei un assistente utile". Il risultato è un agente che non sa come comportarsi nei casi reali.
L'agente non ragiona per conto proprio al di fuori di quanto scritto nelle istruzioni. Se un caso non è previsto, l'agente improvvisa — e l'improvvisazione di un LLM in un contesto produttivo non è mai desiderabile.
Un system prompt efficace non è un testo libero. È una struttura con cinque componenti precisi, ognuno con una funzione specifica. Puoi scriverli in ordine diverso, ma nessuno dovrebbe mancare.
| Componente | Domanda a cui risponde | Perché è necessario |
|---|---|---|
| Ruolo | Chi sei? Qual è la tua funzione principale? | Orienta il modello verso un dominio specifico e un tono appropriato |
| Contesto | In quale ambiente operi? Chi ti usa? Quali informazioni hai a disposizione? | Fornisce le coordinate necessarie per interpretare correttamente gli input |
| Vincoli | Cosa non devi fare? Su quali argomenti non devi esprimere opinioni? Quando devi passare il controllo a un umano? | Definisce il perimetro e previene comportamenti fuori controllo |
| Formato output | Come deve essere strutturata la risposta? Lunghezza, sezioni, tono, lingua? | Garantisce output coerenti e direttamente utilizzabili senza post-elaborazione |
| Tono | Come ti esprimi? Formale, diretto, empatico, tecnico? | Allinea l'agente alla voce del brand o alla cultura dell'organizzazione |
Il modo più rapido per capire la differenza tra istruzioni efficaci e inefficaci è vederle affiancate sullo stesso caso. Prendiamo un agente per un'agenzia di comunicazione milanese che deve classificare le richieste dei clienti e generare una risposta iniziale.
La versione B richiede più tempo per essere scritta, ma produce output coerenti e direttamente utilizzabili. La versione A produce risposte diverse ogni volta, alcune delle quali fuori controllo.
Prima di salvare un system prompt e avviare il workflow, passa le istruzioni attraverso questa griglia. Ogni domanda a cui non sai rispondere con certezza è una lacuna da colmare.
Gestire contenuti digitali: saper formulare istruzioni precise per sistemi AI è una competenza digitale avanzata. L'AI Act richiede trasparenza sul funzionamento dei sistemi AI — le istruzioni di sistema sono il punto in cui questa trasparenza si costruisce.
Compila i cinque componenti per l'agente descritto nel caso. Quando premi "Genera anteprima", il system prompt viene assemblato automaticamente — puoi valutare se è pronto per la produzione.
Un LLM, per sua natura, non ricorda nulla tra una conversazione e l'altra. Ogni volta che l'agente viene invocato — da un trigger email, da un form, da un timer — riparte da zero. Non sa chi è il cliente, non ricorda l'ultimo ordine, non conosce le preferenze accumulate nel tempo. Questo comportamento è accettabile per un assistente generico, ma è un problema serio per un agente che deve operare in un contesto aziendale reale.
La soluzione non è tecnica nel senso tradizionale del termine: non serve codice. Serve una memoria esterna — un sistema dove le informazioni rilevanti vengono archiviate e recuperate ad ogni invocazione dell'agente, inserite nel contesto prima che il modello risponda.
Prima di scegliere lo strumento giusto, è importante capire quale tipo di memoria ti serve. La distinzione di base è tra memoria di sessione e memoria persistente.
Informazioni che l'agente usa durante una singola elaborazione: il testo dell'email ricevuta, i dati estratti dal form, l'input del trigger. Spariscono al termine del workflow.
Informazioni organizzate in righe e colonne: anagrafica clienti, storico ordini, log delle esecuzioni, preferenze. Recuperabili per ID o per filtro.
Informazioni in formato testuale libero: profili cliente, brief di progetto, linee guida editoriali, policy interne. Utili quando il contesto è complesso e non strutturabile in tabella.
La memoria esterna funziona attraverso un pattern in tre passaggi che si ripete in ogni workflow che la usa: recupero → inserimento nel contesto → aggiornamento. In Make o n8n, si traduce in un nodo di lettura dal database prima del nodo AI, e un nodo di scrittura dopo.
Il trigger è la ricezione di un'email. Il primo nodo cerca il mittente nell'anagrafica Airtable e recupera: nome, settore, storico delle ultime tre interazioni, preferenze di comunicazione. Questi dati vengono inseriti nel contesto del nodo AI come variabili nel system prompt ("Il cliente si chiama {{nome}}, opera nel settore {{settore}}, nell'ultima comunicazione ha espresso {{preferenza}}"). L'agente risponde tenendo conto di questo contesto. Dopo l'esecuzione, un nodo finale aggiorna il log delle interazioni.
Particolarmente utile per agenzie di comunicazione. La linee guida editoriali del cliente (tono, vocabolario approvato, argomenti da evitare, esempi di contenuti passati) sono archiviate in un documento Notion. Il workflow le recupera all'avvio e le inserisce nel system prompt come sezione "Linee guida di comunicazione". L'agente produce sempre contenuti coerenti con il brand, anche se la persona che avvia il workflow cambia.
Per processi che si svolgono in più fasi nel tempo — es. onboarding di un nuovo cliente che dura due settimane — l'agente tiene traccia dello stato del processo in un campo Airtable ("fase_corrente": 1 di 5). Ad ogni invocazione, legge lo stato, decide cosa fare nel passo successivo, aggiorna lo stato al termine. Questo permette di riprendere il processo dal punto giusto anche se passa molto tempo tra un'esecuzione e l'altra.
Inserire troppo testo nel contesto dell'agente può degradare la qualità delle risposte. I LLM tendono a dare meno peso alle informazioni in fondo a contesti molto lunghi. Inserisci solo le informazioni rilevanti per l'esecuzione corrente, non l'intera storia del cliente.
Riprendiamo l'agenzia di comunicazione del Modulo 1 e costruiamo la memoria esterna per il suo agente di gestione contenuti. L'agenzia ha 12 clienti attivi, ognuno con linee guida editoriali diverse. L'agente deve produrre bozze di post social coerenti con il brand di ciascun cliente.
La struttura della memoria in Airtable ha una riga per cliente con i campi: nome_cliente, settore, tono_voce (es. "autorevole e tecnico"), vocabolario_approvato (lista di termini), argomenti_vietati, esempi_post (link a tre post approvati in passato), canali_attivi (Instagram, LinkedIn, ecc.).
Il workflow in Make: trigger webhook (ricezione brief dal project manager) → nodo Airtable che recupera il profilo del cliente dal campo nome_cliente → nodo Claude che riceve il brief + il profilo e genera le bozze → nodo Notion che archivia le bozze nella pagina del progetto → notifica Slack al team creativo.
L'agente non ha bisogno di essere "ricalibrato" ogni volta che cambia cliente: la memoria esterna fa il lavoro di contestualizzazione in modo automatico.
Valutare dati e informazioni digitali: la gestione della memoria esterna di un agente è una forma di governance dei dati. L'AI Act richiede che i sistemi AI operino su dati di training e di contesto accurati e pertinenti — questo vale anche per la memoria che si fornisce all'agente a runtime.
Per ciascun caso d'uso, seleziona il tipo di memoria più adatto tra le tre opzioni. Poi verifica.
Un agente senza perimetro è un agente che risponde a tutto. Nella pratica, questo significa che quando arriva una richiesta che non avevi previsto — e arriverà sempre — l'agente improvvisa. A volte l'improvvisazione è innocua. Spesso produce output fuori tono. In alcuni casi, può causare danni reali: informazioni errate inviate a un cliente, dati riservati esposti, decisioni prese senza l'autorizzazione necessaria.
Il perimetro dell'agente si definisce nelle istruzioni di sistema attraverso tre tipi di vincoli: vincoli di dominio (su cosa l'agente può parlare), vincoli decisionali (quali decisioni non può prendere in autonomia) e vincoli di escalation (quando deve passare il controllo a un umano).
Un'istruzione di rifiuto non è "non fare cose cattive". È una frase specifica che descrive un comportamento concreto da evitare e indica cosa fare invece. La struttura è sempre la stessa: IF [condizione] → THEN [azione alternativa].
Senza la parte "then", l'agente sa cosa non fare ma non sa come gestire la situazione. Il risultato è spesso peggiore di non avere il vincolo: l'agente si blocca, produce una risposta vuota, o peggio si inventa una soluzione.
I casi limite sono inevitabili: input in lingua inattesa, richieste che non rientrano in nessuna categoria prevista, toni aggressivi o emotivamente carichi, dati mancanti che rendono impossibile l'elaborazione. Per ognuno di questi casi, l'agente deve avere un comportamento predefinito.
La regola generale è: il fallimento silenzioso è sempre peggio del fallimento esplicito. Un agente che non sa cosa fare e non lo segnala è il peggior tipo di agente. Un agente che riconosce il proprio limite, lo comunica all'utente e attiva un percorso di escalation verso un umano è un agente ben progettato.
| Caso limite | Comportamento sbagliato | Comportamento corretto |
|---|---|---|
| Input in lingua non prevista | Risponde in italiano ignorando la lingua del mittente | Risponde nella stessa lingua, o segnala al responsabile se la lingua non è supportata |
| Dati mancanti nel form | Elabora con i dati parziali producendo output incompleto | Identifica i campi mancanti, chiede al mittente di integrarli prima di procedere |
| Richiesta fuori perimetro | Risponde comunque con informazioni approssimative | Dichiara esplicitamente il fuori perimetro e indica dove il cliente può ottenere risposta |
| Tono aggressivo o emotivamente carico | Risponde con tono burocratico ignorando lo stato emotivo | Riconosce il disagio, non prende posizione sul merito, passa al referente del processo |
I guardrail non funzionano per magia: un vincolo scritto male è peggio di nessun vincolo, perché crea una falsa sicurezza. Questi tre esempi mostrano come un'istruzione apparentemente protettiva possa fallire in produzione.
L'agente non sa cosa consideri "riservato". Se non specifichi esattamente quali informazioni non deve condividere (es. "non comunicare mai i nomi degli altri clienti, le tariffe interne, i margini di sconto"), risponderà in base alla propria interpretazione del termine — che può essere molto diversa dalla tua.
Questo vincolo non protegge da nulla. Un agente può essere educatissimo mentre fornisce informazioni errate, fa promesse che non puoi mantenere, o risponde a domande fuori perimetro con tono impeccabile. Il tono non è un guardrail funzionale.
Meglio di niente, ma insufficiente. Cosa fa l'utente dopo che l'agente ha detto "non lo so"? Rimane bloccato. Un guardrail funzionale include sempre l'azione successiva: a chi si rivolge, come lo contatta, entro quanto tempo avrà una risposta.
Tutelare la salute, il benessere e la sicurezza digitale: i guardrail di un agente AI sono la traduzione operativa degli obblighi di supervisione umana previsti dall'AI Act. L'Art. 14 richiede che i sistemi ad alto rischio permettano una supervisione umana efficace; l'Art. 29 estende questi obblighi agli utilizzatori finali.
Sei il responsabile di un agente AI per uno studio legale. Questi cinque guardrail sono stati proposti dal team. Selezionali in ordine di priorità (dal più critico al meno critico) cliccandoli in sequenza. Poi motiva la tua scelta nel campo di testo.
Non esiste un ordine oggettivamente corretto: conta la coerenza del ragionamento. Il confronto con il feedback qui sotto ti aiuterà a valutare la solidità della tua scelta.
© 2025 AI ADOPT™ — Tutti i diritti riservati.