CODLAB / Blog · IA e integrazione

Agenti IA vincolati, uso sicuro degli strumenti e tutor socratici: macchine a stati contro autonomia incontrollata

14 nov 2026 CODLAB Team 10 min

Aggiornato a novembre 2026 · CODLAB Team

Risposta diretta: Nei contesti aziendali gli agenti IA affidabili non richiedono autonomia illimitata, bensì macchine a stati deterministiche, schemi rigorosamente tipizzati per gli strumenti, limiti massimi di passi e conferma umana per ogni azione di scrittura. La stessa architettura abilita tutor socratici ancorati alle fonti, che guidano il ragionamento tramite domande mirate anziché cedere soluzioni pronte.

Perché i cicli agentici aperti raramente reggono nei processi operativi

Da quando Shunyu Yao et al. hanno introdotto il paradigma ReAct combinando tracce di ragionamento testuale e invocazione di strumenti esterni (Yao et al., ICLR 2023, arXiv:2210.03629), il dibattito sugli «agenti IA autonomi» ha spesso alimentato l'idea di collaboratori digitali in grado di auto-organizzare compiti complessi dall'inizio alla fine.

Quando però cicli autonomi privi di vincoli vengono calati nei flussi reali di una PMI, la ricerca applicata svolta in CODLAB su sistemi IA sovrani evidenzia tre criticità ricorrenti:

  • Propagazione degli errori su più passi: se la prima chiamata a uno strumento restituisce un dato ambiguo, il secondo passo ragiona su un presupposto errato, facendo scendere rapidamente l'affidabilità complessiva all'aumentare dei passaggi liberi.
  • Latenze e consumi non prevedibili: senza un tetto rigido di iterazioni il modello tende a ripetere query malformate con minime variazioni, consumando tempo GPU e budget di token senza convergere.
  • Confini di responsabilità sfumati: lasciare che un modello probabilistico decida autonomamente quando invocare API di modifica cancella il confine tra bozza preparatoria e operazione effettiva nei sistemi aziendali.

Il principio ingegneristico che adottiamo è opposto: massimo controllo deterministico sul flusso di processo, flessibilità del modello linguistico circoscritta ai soli singoli passi in cui serve interpretazione testuale.

1. Architettura per l'uso controllato degli strumenti (Bounded Tool Use)

Un agente operativo progettato per l'impresa si distingue da un prototipo sperimentale su quattro livelli verificabili:

  1. Contratti tipizzati anziché comandi liberi: il modello non accede mai a interpreti SQL o shell generiche; ogni strumento espone uno schema rigoroso (enumerazioni chiuse, intervalli numerici, identificativi validati) controllato da codice Python tradizionale prima dell'esecuzione.
  2. Separazione netta tra strumenti di lettura e di scrittura: le interrogazioni in sola lettura (ricerca su manuali approvati, verifica specifiche componenti, lettura disponibilità) possono eseguirsi entro un budget prefissato (ad esempio massimo tre chiamate per richiesta). Gli strumenti di scrittura (apertura ticket, modifica calendario, invio comunicazioni) generano invece esclusivamente una proposta strutturata soggetta a conferma umana esplicita.
  3. Punti deterministici di arresto e passaggio di consegne: superato il limite di turni o di tentativi — in modo analogo a MAX_USER_TURNS nel nostro assistente di riferimento (ragbot) nel codice di codlab.de (demo pubblica di chat spenta da ottobre 2026) — la macchina a stati interrompe il ciclo e trasferisce il contesto strutturato a un referente umano.
  4. Isolamento delle fonti tra strumenti: ogni testo esterno letto da uno strumento sottostà alle difese contro l'Indirect Prompt Injection (Greshake et al., 2023, arXiv:2302.12173; cfr. la nostra nota RAG: le fonti come dati non attendibili), impedendo che dati esterni pilotino gli strumenti successivi.

Sul piano dell'inferenza affianchiamo ai contratti tipizzati la decodifica vincolata da grammatica (Constrained Decoding / Structured Outputs) tramite automi a stati finiti e grammatiche libere dal contesto (Willard & Louf, 2023, arXiv:2307.09702): anziché confidare che il modello produca JSON sintatticamente valido per semplice istruzione testuale, il motore di serving maschera a ogni passo i token incompatibili con lo schema atteso. Vale qui una distinzione rigorosa: il vincolo grammaticale garantisce solo la validità sintattica formale, mai la veridicità di dominio né i permessi applicativi. Se poi un controllo applicativo respinge il valore — come un codice ricambio inesistente — l'orchestratore concede al massimo un singolo tentativo strutturato prima di passare la richiesta all'operatore umano.

# Schema architetturale: la macchina a stati governa il processo, non il modello linguistico
ALLOWED_READ_TOOLS = {"search_approved_docs", "lookup_part_spec"}
STAGED_WRITE_TOOLS = {"prepare_maintenance_ticket"}

def execute_bounded_step(state, principal, max_tool_calls=3):
    if state.tool_calls_used >= max_tool_calls:
        return state.transition_to("human_handoff", reason="step_budget_reached")

    proposal = request_structured_tool_call(state.messages, schema=TOOL_CALL_SCHEMA)
    if proposal.tool_name in ALLOWED_READ_TOOLS:
        observation = run_authorized_read(principal, proposal.tool_name, proposal.args)
        return state.record_observation(observation)
    if proposal.tool_name in STAGED_WRITE_TOOLS:
        draft = validate_and_stage_draft(principal, proposal.args)
        return state.transition_to("awaiting_human_confirmation", draft=draft)
    return state.transition_to("rejected_action")

2. Tutor socratici: ipotesi progettuale contro la risposta immediata

Uno dei campi di ricerca più interessanti per le architetture a stati vincolati riguarda i tutor socratici — sia in contesti didattici anonimizzati, come un tutor per esercitazioni tecnico-scientifiche, sia come schema progettuale per l'affiancamento operativo in azienda (inserimento di tecnici manutentori, addetti qualità o esercitazioni di alfabetizzazione sull'IA ai sensi dell'articolo 4 dell'AI Act).

Il punto di partenza è un limite documentato nella letteratura sui dialoghi di tutoring: i modelli linguistici generalisti risolvono bene gli esercizi, ma faticano come tutor perché tendono a svelare prematuramente la soluzione anziché guidare chi apprende tramite domande graduali (Macina et al., Findings of EMNLP 2023, arXiv:2305.14536). Su questa base poggia la nostra ipotesi progettuale didattica (per la quale non rivendichiamo qui uno studio sperimentale controllato sugli esiti di apprendimento): se una normale chat fornisce subito la soluzione completa, cresce il rischio di copia passiva senza esercizio diagnostico autonomo.

Un tutor socratico persegue perciò un obiettivo progettuale differente: non consegnare il più rapidamente possibile il risultato finale, ma confrontare il tentativo dell'utente con la fonte autorizzata e formulare una domanda mirata che stimoli il passaggio logico successivo.

3. Come funziona tecnicamente un tutor socratico RAG ancorato alle fonti

Affidare il metodo socratico al solo prompt («Comportati come un docente paziente e non rivelare la risposta») mostra subito due limiti: al secondo messaggio insistente («Non riesco, dimmi direttamente il risultato») il modello cede facilmente; inoltre, senza fonti certificate, rischia di inventare suggerimenti imprecisi.

Nella nostra ricerca applicata combiniamo quindi Retrieval-Augmented Generation (Lewis et al., 2020) con una macchina a stati didattica gestita lato server:

  • Recupero asimmetrico delle fonti di riferimento: dietro le quinte il backend estrae tramite RAG le dispense approvate, le norme tecniche o la griglia di correzione. Tali passaggi guidano la diagnosi interna dell'errore senza essere riversati integralmente come soluzione pronta nella finestra utente.
  • Fasi didattiche esplicite: il server governa le transizioni tra stati distinti: Fase 1 (Ricognizione dell'ipotesi): il tutor chiede quale approccio o grandezza fisica l'utente intenda considerare. Fase 2 (Domanda socratica mirata): confrontando il tentativo con la fonte recuperata, il tutor segnala con una domanda un vincolo trascurato senza svelare l'esito. Fase 3 (Suggerimento graduale con riferimento): solo dopo tentativi documentati lo stato sblocca un indizio parziale indicando il paragrafo esatto del manuale da consultare. Fase 4 (Verifica conclusiva): quando l'utente formula autonomamente la soluzione, il sistema ne controlla la completezza rispetto alla fonte ufficiale.
  • Contenimento delle scorciatoie senza promettere un divieto semantico deterministico: poiché lo stato corrente vive nel codice Python del server, richieste come «salta le domande e dammi la risposta» non modificano la variabile di fase né iniettano nel prompt la soluzione di riferimento trattenuta nelle fasi iniziali. Il solo controllo dello stato non garantisce però in modo deterministico che il modello non riveli parte della risposta attingendo alla propria memoria parametrica sotto prompting insistente: abbiniamo quindi esposizione selettiva della soluzione, istruzioni circoscritte del generatore e test multi-turno anti-spoiler.

4. Valutazione multi-turno di agenti e tutor socratici

I normali test a singolo turno non bastano per misurare dialoghi guidati. Estendendo l'approccio descritto in Valutare un sistema RAG: separare retrieval e risposte e i criteri di gestione del rischio di NIST AI 600-1 (2024), verifichiamo simulazioni multi-turno su più giri indipendenti:

  1. Tenuta pedagogica (assenza di spoiler): il sistema mantiene il riserbo sulla soluzione finale anche davanti a tentativi ripetuti di aggiramento?
  2. Fedeltà documentale degli indizi: ogni suggerimento intermedio trova riscontro rigoroso nei passaggi recuperati senza introdurre scorciatoie arbitrarie?
  3. Rispetto del budget e dei permessi sugli strumenti: l'agente si arresta puntualmente al tetto di passi fissato e blocca ogni azione di scrittura in attesa di approvazione umana?

5. Scenario sintetico: affiancamento tecnico e articolo 4 dell'EU AI Act

Nota metodologica: lo scenario seguente è interamente sintetico e ha finalità puramente dimostrativa; non descrive un progetto cliente né statistiche di apprendimento rilevate presso terzi.

Consideriamo un'impresa manifatturiera che debba formare nuovi addetti dell'ufficio tecnico su norme di collaudo e procedure interne di deroga, adempiendo al contempo all'articolo 4 dell'AI Act europeo, che richiede a fornitori e utilizzatori misure adeguate a sostenere l'alfabetizzazione in materia di IA delle persone coinvolte (Regolamento (UE) 2024/1689, testo consolidato del 27.07.2026).

Invece di limitarsi a slide teoriche, i nuovi assunti lavorano su casi sintetici: il tutor presenta una richiesta d'ordine fittizia contenente un'anomalia sui limiti termici di una guarnizione. Se l'addetto trascura il dettaglio, il sistema non risponde semplicemente «Ordine respinto», ma chiede: «Quale temperatura massima è prevista dal paragrafo 3.4 dell'istruzione di collaudo per questa classe di elastomero, e quale dato manca nella scheda allegata?». In questo modo si allenano insieme padronanza delle procedure interne e verifica critica delle fonti.

I percorsi di affiancamento pratico, esercitazioni su casi sintetici e regole operative sono approfonditi in Formazione e affiancamento. Per valutare un agente vincolato o un tutor tecnico sulle vostre procedure interne potete scriverci tramite Contatto e primo colloquio.

Approfondimenti nella serie di ricerca: sul motivo per cui estratti documentali non attendibili non devono mai governare direttamente i parametri degli strumenti rimandiamo all'analisi su Indirect Prompt Injection e confini tra le fonti; per l'applicazione dei vincoli transazionali ai dialoghi vocali in tempo reale si veda lo studio su latenza dei voicebot, riconoscimento vocale e passaggio verificato all'operatore.

Fonti primarie verificate

Domande frequenti (FAQ)

Qual è la differenza tra un agente vincolato da macchina a stati e un agente autonomo aperto?

In un ciclo aperto è il modello linguistico a decidere sequenza, ripetizioni e arresto degli strumenti. In un agente vincolato è invece il codice deterministico dell’applicazione a imporre strumenti consentiti, validazione dei parametri, numero massimo di passi e conferme umane obbligatorie.

Un agente IA aziendale dovrebbe inviare email o modificare record gestionali in autonomia?

Nelle architetture prudenti gli strumenti di scrittura preparano solo una bozza validata: l’esecuzione effettiva nel sistema di destinazione avviene unicamente dopo verifica e conferma da parte di una persona responsabile.

Come riduce un tutor socratico il rischio di cedere subito la soluzione se l’utente insiste?

Le fasi didattiche sono governate lato server da una macchina a stati che nelle fasi iniziali trattiene la soluzione di riferimento e richiede solo indizi progressivi. Poiché il modello può comunque attingere alla propria memoria parametrica, affianchiamo limiti stretti al generatore e test multi-turno anti-spoiler senza promettere un divieto semantico assoluto.

In quali ambiti aziendali risultano utili i tutor socratici basati su fonti interne?

Nell’inserimento tecnico di nuovi collaboratori, nell’addestramento su procedure di sicurezza e qualità e nelle esercitazioni pratiche di competenza IA previste dall’articolo 4 dell’EU AI Act, dove conta imparare a verificare i documenti ufficiali.

Guida operativa correlata (in tedesco): KI im Unternehmen einführen: Vom Arbeitsauftrag zur überprüfbaren Freigabe.

Condividi questo articolo

Commenti

Nessun commento ancora. Sii il primo a commentare!

Lascia un commento

Non sarà pubblicata

Articoli Correlati

Hai un progetto in mente?

Sviluppiamo software personalizzato e soluzioni IA. Iniziamo insieme il tuo prossimo progetto.

Primo colloquio gratuito