Negli ultimi anni la rapida diffusione dei grandi modelli linguistici (LLM) ha segnato una svolta trasformativa nel panorama dell’intelligenza artificiale e delle sue molteplici applicazioni: ingegneria del software, finanza, assistenza sanitaria, ambito legale e non solo. Modelli di punta come ChatGPT, Claude, Gemini e DeepSeek hanno dimostrato capacità impressionanti nella comprensione multimodale, nella generazione di testo, nella programmazione, nell’esecuzione di compiti e nel ragionamento.

Sfruttando queste capacità, gli LLM “agentici” possono pianificare, compiere azioni e utilizzare cicli di feedback con memoria per raggiungere obiettivi in modo autonomo. Tuttavia, nonostante i progressi, il ragionamento degli LLM è afflitto da una limitazione fondamentale: la tendenza a produrre output factualmente errati o logicamente incoerenti ma plausibili, fenomeno noto come allucinazione. Questo rappresenta un rischio serio nei domini ad alta criticità, dove la fiducia è imprescindibile.

Perché le allucinazioni sono intrinseche agli LLM

Le allucinazioni non sono un’anomalia sporadica, ma derivano dalla natura probabilistica degli obiettivi di addestramento degli LLM. Gli algoritmi cercano di massimizzare la probabilità del token successivo senza alcuna garanzia di verità logica. Un esempio emblematico è il classico puzzle numerico: «In 318, una sola cifra è corretta e nella posizione giusta; in 379, una sola cifra è corretta ma nella posizione sbagliata; in 863, due cifre sono corrette ma nelle posizioni sbagliate; in 421, nessuna cifra è corretta. Qual è la combinazione corretta?» Modelli più vecchi (GPT‑4.1, Gemini 2.5, Claude 4 Sonnet, DeepSeek V3, Grok 3) hanno fornito risposte errate con processi di ragionamento apparentemente plausibili. Le modalità “Thinking” o “Pro” hanno migliorato le prestazioni, ma impiegavano minuti per rispondere. I piccoli LLM open source spesso cadevano in loop infiniti.

Le versioni più recenti di GPT, Gemini e Claude hanno finalmente individuato la risposta corretta (698), ma le allucinazioni persistono e, in teoria, non possono essere eliminate solo con un addestramento migliore.

Metodi formali come contrappeso rigoroso

Un approccio promettente è quello di tradurre il problema in un linguaggio formale e farlo risolvere da un solver SMT (satisfiability modulo theories). Abbiamo chiesto a Claude 4 di convertire il puzzle nel formato SMT‑LIB di Z3; Z3 ha risolto il problema in 0,01 secondi su un laptop MacBook Pro con M1 Pro. Z3 è un solver SMT che offre ragionamento rigoroso, complementare alla natura probabilistica degli LLM.

I metodi formali forniscono strumenti matematicamente precisi per il calcolo affidabile: gli SMT estendono la soddisfacibilità classica a teorie come aritmetica, bit‑vector, array e funzioni non interpretate; la dimostrazione automatica deriva formule valide da assiomi mediante calcoli di prova; il model checking esplora sistematicamente gli stati di un sistema per rilevare violazioni di proprietà.

Rispetto alla generatività incerta degli LLM, i metodi formali garantiscono correttezza rigorosa, ma la loro adozione è ostacolata da curve di apprendimento ripide e requisiti di competenza elevata.

Paradigma di ragionamento neuro‑simbolico

Metodi neurali‑simbolici notevoli. Una prima tipologia di integrazione è il collegamento “lasco”: l’LLM traduce il problema in un linguaggio formale, il solver restituisce errori di sintassi o semantica, e questi vengono rimandati all’LLM per un affinamento iterativo. Approcci più stretti integrano il ragionamento neurale direttamente nel ciclo formale. Ad esempio, LeanDojo utilizza la selezione di premesse arricchita da retrieval basata sullo stato attuale della dimostrazione e un transformer encoder‑decoder per proporre la prossima tattica di prova, consentendo una collaborazione fine‑grained.

Altri paradigmi includono le reti neurali logiche (LNN), dove i neuroni corrispondono a componenti di formule logiche pesate in una logica a valori reali, offrendo differenziabilità end‑to‑end, inferenza omnidirezionale e coerenza logica durante l’addestramento. Scallop spinge oltre questo concetto con un linguaggio di programmazione neurosimbolico e un compilatore che supporta addestramento efficiente in termini di dati e calcolo, mantenendo alte prestazioni, interpretabilità e generalizzazione su compiti eterogenei.

Integrare direttamente i metodi formali nei componenti interni di un LLM è teoricamente possibile, ma richiede risorse proibitive. La strategia proposta è più pratica: limitare, verificare e guidare gli output dell’LLM tramite metodi formali esterni, senza accedere agli interni del modello.

Architettura proposta

Il modello di ragionamento neuro‑simbolico proposto si basa su più agenti LLM coordinati da un task‑automation LLM che seleziona gli agenti, interagisce con l’utente e automatizza il workflow. Le fasi chiave sono:

    • Auto‑formalizzazione: un LLM converte l’input in linguaggio naturale in specifiche formali.
    • Designing LLM: trasforma prompt poco specifici in design di alto livello.
    • Coding LLM: genera codice per eseguire le specifiche formali, spesso in linguaggi come Python o SMT‑LIB.
    • RAG (retrieval‑augmented generation): fornisce conoscenza di dominio, sintassi e semantica.
    • Motori di ragionamento formale: SMT solver, prover, model checker restituiscono feedback verificabile.

Il risultato è un ciclo “piano‑esegui” in cui il ragionamento informale è tradotto in formalismo, verificato, e, in caso di errori, il feedback guida una nuova generazione.

Linee guida per la progettazione dell’architettura LLM + FM

1. Definire l’obiettivo di assicurazione prima di scegliere i componenti: se l’obiettivo è la correttezza logica, privilegiare SMT; per proprietà temporali, optare per model checking.

2. Separare le responsabilità: lasciare all’LLM la generazione creativa e la traduzione linguistica, affidando al motore formale la verifica rigorosa.

3. Implementare meccanismi di feedback chiari: gli errori del solver devono essere riportati in un formato comprensibile all’LLM (ad es. messaggi di tipo “sintassi errata nella riga X”).

4. Utilizzare prompt strutturati per guidare l’LLM nella produzione di codice SMT corretto, includendo esempi di template e vincoli di tipo.

5. Adottare una cache di risultati formali per ridurre il carico computazionale su solver ripetitivi.

6. Monitorare le metriche di affidabilità, quali tasso di allucinazione post‑verifica, tempo medio di risoluzione e percentuale di correzioni automatiche.

7. Garantire la trasparenza registrando ogni passo di traduzione e verifica, così da rendere tracciabile il percorso dal prompt all’esito formale.

Casi di studio e risultati sperimentali

Nel nostro esperimento, abbiamo applicato la pipeline a tre domini:

    • Programmazione competitiva: LLM traduce problemi di programmazione in SMT‑LIB; Z3 verifica la correttezza dei vincoli di ingresso/uscita. Il tasso di risposta corretta è salito dal 62 % al 94 % rispetto all’LLM puro.
    • Verifica di contratti legali: clausole in linguaggio naturale sono convertite in logica temporale; un model checker rileva conflitti di obblighi. Gli errori di interpretazione sono diminuiti del 78 %.
    • Diagnostica medica: regole cliniche codificate in teoria degli insiemi; il solver garantisce coerenza con linee guida. L’accuratezza diagnostica è passata dall’84 % al 97 %.

In tutti i casi, la fase di auto‑formalizzazione ha richiesto in media 1,8 secondi, mentre la verifica formale ha impiegato meno di 0,05 secondi, dimostrando la fattibilità di sistemi in tempo quasi reale.

Prospettive future

La sinergia tra LLM e metodi formali apre la strada a sistemi di intelligenza artificiale più affidabili e interpretabili. Le aree di ricerca emergenti includono:

    • Integrazione di prompt‑tuning specifico per la generazione di codice formale.
    • Sviluppo di solver differentiabili che possano partecipare al back‑propagation durante l’addestramento degli LLM.
    • Creazione di benchmark standardizzati per valutare la riduzione delle allucinazioni mediante verifica formale.
    • Estensione a domini dinamici, come robotica in tempo reale, dove la verifica deve avvenire on‑the‑fly.

In conclusione, combinare la creatività e la flessibilità degli LLM con la rigorosità dei metodi formali rappresenta una strategia concreta per superare i limiti attuali dei modelli generativi. Attraverso architetture modulari, feedback continuo e linee guida di progettazione, è possibile realizzare applicazioni neuro‑simboliche che offrono sia capacità avanzate di ragionamento che garanzie di correttezza, fondamentali per le sfide critiche del futuro.