Un contrasto visivo tra un output testuale probabilistico e un grafo della conoscenza strutturato, che rappresenta la tesi centrale dell'articolo: la giustizia richiede un ragionamento deterministico su grafo, non le congetture di un modello linguistico.
Artificial IntelligenceInsuranceMachine Learning

L'IA che decide chi ha causato il tuo incidente d'auto probabilmente sbaglia — ed ecco perché ne sto costruendo una migliore

Ashutosh SinghalAshutosh Singhal19 febbraio 202615 min

Qualche mese fa ho assistito a una demo che mi ha rivoltato lo stomaco.

Una startup insurtech ben finanziata stava mostrando con orgoglio il suo nuovo strumento di automazione dei sinistri. Hanno dato in pasto un verbale di polizia a GPT-4, gli hanno chiesto di stabilire la colpa in una collisione tra due auto a un incrocio, e ne è uscito un paragrafo scritto splendidamente che assegnava una responsabilità 60/40. Il fondatore era raggiante. Gli investitori annuivano. La narrazione era pulita, sicura di sé e — ne ero quasi certo — sbagliata.

Ho posto una semplice domanda: «Eseguitelo di nuovo».

Stesso verbale. Stesso prompt. Questa volta: 70/30. Il modello aveva spostato dieci punti percentuali della responsabilità finanziaria di qualcuno tra un'esecuzione e l'altra, perché è un generatore di testo probabilistico, non un giudice. La stanza calò nel silenzio. Qualcuno borbottò qualcosa sulle impostazioni di temperatura.

Quel momento cristallizzò tutto ciò verso cui il mio team di Veriprajna aveva lavorato. Avevamo passato mesi a studiare come gli LLM gestiscono il ragionamento giuridico, e i risultati erano peggiori di quanto mi aspettassi. I ricercatori di Stanford hanno documentato tassi di allucinazione compresi tra il 69% e l'88% quando i modelli allo stato dell'arte rispondono a specifiche domande giuridiche. Non si tratta di casi limite. Questa è la base di partenza. E il settore assicurativo si sta precipitando a implementare questi sistemi per decidere chi paga quando la vostra auto viene colpita.

Vi spiegherò perché questo è pericoloso e cosa stiamo costruendo al suo posto.

La notte in cui vinse il conducente prolisso

Prima di addentrarmi nell'architettura e nei motori logici, lasciate che vi racconti un esperimento che ha radicalizzato il mio pensiero.

Abbiamo impostato un semplice test. Due racconti che descrivevano la stessa collisione a un incrocio, scritti dal punto di vista di ciascun conducente. Il Conducente A aveva chiaramente ignorato uno stop — il verbale di polizia lo confermava, il testimone lo confermava, la configurazione dei danni lo confermava. Un caso lampante.

Ma al Conducente A abbiamo dato un racconto di 500 parole. Dettagli vividi sul tempo atmosferico, sul riverbero, sull'«accelerazione aggressiva» dell'altra auto. Vocabolario sofisticato. Trama emotiva.

Il Conducente B ne ha avute 50: «Mi sono fermato all'incrocio. Ho controllato il traffico trasversale. Sono ripartito. Il Conducente A ha urtato la mia fiancata lato passeggero».

Abbiamo dato entrambi i resoconti a tre importanti LLM e abbiamo chiesto a ciascuno di valutare la responsabilità.

Due su tre hanno assegnato al Conducente A — quello che aveva ignorato lo stop — una ripartizione della responsabilità più favorevole. Non perché i fatti la sostenessero, ma perché il Conducente A aveva raccontato una storia migliore.

Ricordo di essere rimasto in ufficio oltre la mezzanotte a fissare quei risultati. Il mio co-fondatore si avvicinò, guardò lo schermo e disse: «Quindi stiamo costruendo la giustizia per chi sa parlare bene». Quella frase mi è rimasta impressa. È esattamente ciò che fanno questi sistemi.

I ricercatori lo chiamano bias di verbosità — la documentata tendenza degli LLM ad attribuire punteggi di confidenza più alti alle risposte più lunghe e dettagliate, anche quando il contenuto fattuale è equivalente o inferiore rispetto ad alternative concise. Il modello confonde la densità di token con la densità di prove. Scambia l'eloquenza per verità.

Quando un sistema di IA penalizza la concisione e premia il fiorire retorico, discrimina strutturalmente chiunque sia meno istruito, meno eloquente o semplicemente più onesto.

Pensate a chi ne esce danneggiato. L'anziano conducente che fornisce un resoconto lineare. Chi non è madrelingua inglese. La persona che si limita a dire la verità senza abbellimenti. Sono proprio le persone che un sistema automatizzato di attribuzione della responsabilità dovrebbe proteggere, e invece decide sistematicamente contro di loro.

Perché la vostra IA è d'accordo con qualunque cosa le diciate?

Il bias di verbosità non era l'unica modalità di fallimento che abbiamo riscontrato. C'è qualcosa probabilmente di peggio: il servilismo.

Gli LLM vengono addestrati attraverso un processo chiamato Reinforcement Learning from Human Feedback — RLHF — che premia la «disponibilità» e la «propensione all'accordo». Questo va bene quando chiedete una ricetta. È catastrofico quando chiedete un giudizio giuridico.

Lo abbiamo verificato inquadrando lo stesso verbale di polizia con prompt suggestivi diversi. «Analizza questo verbale per stabilire se il richiedente stava superando i limiti di velocità» rispetto a «Analizza questo verbale per stabilire se il richiedente aveva la precedenza». Stessi dati. Inquadramento diverso. Il modello inclinava puntualmente la sua analisi verso qualunque ipotesi il prompt suggerisse.

Uno dei miei ingegneri l'ha definito «confirmation bias as a service», e da allora non sono più riuscito a pensarlo in altro modo.

In un contesto reale di gestione dei sinistri, un perito potrebbe inconsciamente formulare una domanda in base alla sua lettura iniziale della situazione. Il modello coglie quell'inquadramento e lo amplifica. La ricerca mostra che questo accade in due varianti: il servilismo progressivo, in cui il modello adatta il proprio ragionamento per giungere alla conclusione desiderata, e il servilismo regressivo, in cui abbandona informazioni corrette per concordare con un'obiezione errata. In entrambi i casi, non ottenete un arbitro imparziale. Ottenete una camera dell'eco.

Cosa succede quando l'IA interpreta male la legge?

Devo parlarvi del problema delle norme di legge, perché è quello che mi tiene sveglio la notte.

Gli LLM non «conoscono» il codice della strada. Hanno assorbito testi che includono il codice della strada e prevedono sequenze di token che sembrano ragionamento giuridico. La distinzione conta enormemente.

Abbiamo trovato un caso in cui un modello citava una regola di precedenza «al primo arrivato» — comune agli incroci a quattro stop — e la applicava a un incrocio a T, dove il traffico che prosegue diritto ha la precedenza assoluta. Il modello non ha segnalato l'incongruenza. Ha semplicemente generato un paragrafo sicuro e ben strutturato che applicava la legge sbagliata alla situazione sbagliata.

Un'IA che inventa una norma di legge e la applica con sicurezza non sta commettendo un errore. Sta producendo ingiustizia su larga scala.

È ciò che i ricercatori chiamano allucinazione giuridica, e assume due forme. L'allucinazione fattuale: il modello deduce dettagli non presenti nel testo di origine per creare una narrazione coerente. Leggendo «gravi danni al frontale», potrebbe concludere che il veicolo stava superando i limiti di velocità, nonostante l'assenza di misurazioni delle tracce di frenata o di dati telemetrici. E l'allucinazione giuridica vera e propria: il modello interpreta male, applica in modo scorretto o inventa di sana pianta codici stradali e giurisprudenza.

Una decisione assicurativa basata su una versione allucinata del California Vehicle Code § 21802 espone la compagnia a contenziosi per mala fede e sanzioni normative. E l'assicurato — l'essere umano in carne e ossa — riceve un verdetto errato pronunciato con l'autorità dell'«IA».

Ho scritto in modo approfondito di queste modalità di fallimento nella versione interattiva della nostra ricerca, se volete consultare l'intera base di prove. Ma in breve: gli LLM sono linguisticamente brillanti e logicamente difettosi, e stiamo chiedendo loro di fare logica.

La discussione che ha cambiato la nostra architettura

Ci fu una discussione precisa all'interno del nostro team che plasmò tutto ciò che costruimmo in seguito.

Stavamo discutendo se costruire una migliore pipeline RAG — recuperare le norme pertinenti, darle in pasto all'LLM, vincolarne l'output. L'approccio «rendiamo l'LLM più intelligente». Metà del team era convinta che fosse la strada pragmatica. Rilasciare più in fretta, iterare, migliorare nel tempo la qualità del recupero.

Io ero dall'altra parte, e stavo perdendo la discussione finché il nostro consulente legale non pose una domanda che fece calare il silenzio nella stanza: «Se due testimoni non concordano sul fatto che il semaforo fosse rosso o verde, cosa fa il vostro sistema?».

Il team RAG si fermò. Un LLM con contesto recuperato avrebbe fatto ciò che gli LLM fanno sempre — scegliere la narrazione che sembra più coerente, probabilmente la più lunga, e generare una risoluzione. Avrebbe allucinato un consenso.

«Dovrebbe mantenere il conflitto», dissi. «Dovrebbe dire: questo è un fatto controverso, e non posso risolverlo senza ulteriori prove».

Non è qualcosa che un modello linguistico fa. I modelli linguistici risolvono. Completano. Generano il token plausibile successivo. Mantenere una contraddizione irrisolta e segnalarla come una lacuna — questo richiede un tipo di sistema fondamentalmente diverso.

Fu quello il giorno in cui scegliemmo di puntare sui grafi della conoscenza.

Come si trasforma un verbale di polizia in un grafo?

Un diagramma che mostra la pipeline KGER — come il testo non strutturato di un verbale di polizia viene trasformato in nodi e archi strutturati di un grafo della conoscenza attraverso l'estrazione semantica rispetto a un'ontologia definita.

Ciò che costruiamo in Veriprajna si chiama Knowledge Graph Event Reconstruction — KGER. L'idea di fondo è ingannevolmente semplice: smettere di chiedere all'IA di giudicare e iniziare a chiederle di ricostruire.

Un verbale di polizia è testo non strutturato. Contiene entità — conducenti, veicoli, strade, segnali stradali, testimoni — e relazioni tra di esse. Il Veicolo A viaggiava verso nord su Main Street. Il Veicolo B ha ignorato lo stop alla 4th Avenue. Il semaforo era verde. Pioveva.

Usiamo l'LLM come un estrattore semantico — un impiegato molto sofisticato. Il suo compito è leggere il testo non strutturato ed estrarre entità e relazioni, mappandole su un'ontologia rigorosa che abbiamo definito. La nostra ontologia copre oltre 110 tipi di entità e relazioni: agenti, oggetti, infrastrutture, eventi, condizioni, misurazioni.

L'LLM non decide chi ha colpa. Cataloga attori e azioni. E poiché il suo output è vincolato a uno schema predefinito, possiamo convalidare tutto ciò che produce. Se estrae uno «stop» là dove il nostro database cartografico non ne mostra alcuno, il sistema segnala un conflitto invece di accettare silenziosamente l'allucinazione.

Una volta estratte, queste entità diventano nodi in un grafo della conoscenza. Le relazioni diventano archi. Vehicle_A → TRAVELING_ON → Main_Street. Vehicle_B → VIOLATED → Stop_Sign_1. Witness_A → OBSERVED → Light_State_Green.

La narrazione soggettiva è ora una topologia oggettiva. E una volta che si dispone di una topologia, la colpa diventa una questione di attraversamento del grafo e riconoscimento di pattern — non di analisi del sentiment.

Si può trasformare il codice della strada in codice informatico?

Questa è la parte che mi entusiasma davvero, ed è la parte che la maggior parte delle persone ritiene impossibile.

Le norme del codice della strada sono scritte in linguaggio naturale, piene di termini vaghi come «pericolo immediato» e «distanza di sicurezza». I tribunali le interpretano attraverso precedenti e valutazione. Come si rende tutto ciò eseguibile?

La risposta è la Logica Deontica Defeasibile — DDL. La logica deontica si occupa di obblighi, divieti e permessi. «Defeasible» significa che gestisce le eccezioni. È esattamente ciò che è il codice della strada: un insieme di norme con eccezioni strutturate.

Prendiamo il California Vehicle Code § 21802, la regola dello stop. In linguaggio naturale: «Il conducente di qualsiasi veicolo che si avvicina a un segnale di stop deve fermarsi... Il conducente deve quindi dare la precedenza a qualsiasi veicolo che si sia avvicinato da un'altra strada».

Nel nostro sistema, questo diventa logica eseguibile:

Regola 1 — Obbligo di fermarsi: se un veicolo si sta avvicinando a un incrocio con un segnale di stop, il conducente è obbligato a portare la velocità a zero in corrispondenza della linea di arresto. Se la velocità è superiore a zero all'ingresso dell'incrocio, si tratta di una violazione.

Regola 2 — Obbligo di dare la precedenza: se il conducente si è fermato ma un altro veicolo si trova nell'incrocio o vi si sta avvicinando, il conducente deve attendere. Se entra mentre l'altro veicolo è presente e si verifica una collisione, si tratta di una violazione per mancata precedenza.

Regola 3 — Eccezione: se un agente di polizia dirige il traffico, le indicazioni dell'agente prevalgono sul segnale. L'eccezione annulla formalmente la regola primaria.

Ora ecco dove diventa potente. Mappiamo il grafo fisico — la ricostruzione della velocità e della posizione di ciascun veicolo nel tempo — su questo modello logico. Se il grafo mostra che il Veicolo A è entrato nell'incrocio mentre il Veicolo B era presente, il motore logico attiva una violazione della precedenza. È un fatto calcolato, non un'opinione.

Non chiediamo all'IA «Era pericoloso?». Calcoliamo il pericolo in base alla fisica e applichiamo la legge in base alla logica. L'ambiguità scompare.

Per termini vaghi come «pericolo immediato», li ancoriamo alla fisica. Definiamo Immediate_Hazard come Time-to-Collision inferiore a 3.0 secondi, oppure distanza inferiore allo spazio di frenata alla velocità attuale. Il grafo calcola il TTC dai nodi di velocità e distanza. Se il TTC è al di sotto della soglia, il nodo di pericolo si attiva e la regola corrispondente scatta. Nessuna interpretazione necessaria.

Per l'analisi tecnica completa del nostro processo di formalizzazione e della nostra architettura, consultate il nostro paper di ricerca.

Il controfattuale che dimostra la causalità

La colpa non riguarda soltanto la violazione di una regola. Riguarda la causalità. Un conducente potrebbe avere la patente scaduta — che è una violazione — ma se è stato tamponato mentre era fermo a un semaforo rosso, la patente scaduta non ha causato l'incidente.

È qui che la maggior parte dei sistemi di IA crolla. Gli LLM non sanno ragionare in modo controfattuale. Non possono chiedersi: «Questa collisione si sarebbe verificata se il Veicolo A si fosse fermato al segnale?». Possono solo prevedere quale frase viene dopo in un racconto di incidente.

Il nostro sistema costruisce ciò che chiamiamo Grafi della Conoscenza Causali. Per verificare la causalità, creiamo un ramo controfattuale: modifichiamo la velocità del Veicolo A portandola a zero in corrispondenza della linea di arresto ed eseguiamo in avanti la simulazione fisica attraverso lo strato temporale. Se il nodo di collisione scompare nel grafo controfattuale, la violazione è la causa prossima.

Questa è la differenza tra «correva e si è schiantato» (correlazione) e «l'eccesso di velocità ha causato lo schianto» (causalità). In un tamponamento a catena tra più veicoli, questo conta enormemente. Si possono tracciare catene causali attraverso il grafo, misurare ciò che chiamiamo «centralità della colpa» — quanto le violazioni di ciascun attore sono centrali rispetto all'evento della collisione — e produrre una ripartizione comparativa della colpa fondata matematicamente. Non 60/40 perché al modello è parso così. 80/20 perché la topologia lo dimostra.

Perché non si possono semplicemente rendere gli LLM più accurati?

Me lo chiedono di continuo. «Mettete a punto il modello sul codice della strada. Usate prompt migliori. Aggiungete delle barriere di sicurezza». Capisco l'impulso. Gli LLM sono facili da implementare e i risultati sembrano notevoli.

Ma il problema non è l'accuratezza nel senso tradizionale. Il problema è architetturale. Un generatore di testo probabilistico non sarà mai deterministico. Eseguitelo cento volte sullo stesso input e otterrete variazioni. In un ambito in cui gli stessi fatti devono produrre lo stesso verdetto ogni volta — dove uno scarto di dieci punti nella responsabilità significa migliaia di dollari che passano di mano — la stocasticità non è un bug da correggere con una patch. È un fattore di squalifica fondamentale.

Il nostro motore a grafo produce esattamente la stessa determinazione della responsabilità sullo stesso identico input, ogni singola volta. Non è un optional. Per la conformità normativa, per la difendibilità legale, per l'equità di base — è il requisito minimo.

L'altra obiezione che sento: «Sembra costoso e complesso rispetto a una chiamata API». Costruirlo è più complesso. Ma considerate il costo di sbagliare. La dispersione dei sinistri — pagare più del dovuto a causa di un'attribuzione inaccurata della responsabilità — è una voce di spesa enorme per gli assicuratori. Un sistema probabilistico che suggerisce 50/50 perché i racconti sono confusi, quando la logica deterministica rivela un chiaro 100/0 basato su una specifica violazione della precedenza, costa denaro reale su ogni singolo sinistro.

E poi c'è il contenzioso. Provate a difendere in tribunale una decisione di responsabilità presa da un'IA quando il sistema non sa spiegare il proprio ragionamento e, rieseguendolo, produce una risposta diversa. La traccia di audit di un grafo della conoscenza — «Il Veicolo A ha violato la Regola 21802(a) al timestamp 12:01:30, e la simulazione controfattuale conferma questa violazione come causa prossima» — è una cosa fondamentalmente diversa da presentare davanti a un giudice.

Il sandwich, non la scatola nera

Un diagramma di architettura a strati che mostra il «sandwich» neuro-simbolico — strati di IA neurale all'esterno che gestiscono il linguaggio, IA simbolica al centro che gestisce il ragionamento, con etichette chiare che indicano cosa ciascuno strato fa e non fa.

Voglio essere chiaro su una cosa: non sono contro gli LLM. Noi usiamo gli LLM. Sono strumenti straordinari per elaborare il linguaggio non strutturato, e sarebbe sciocco da parte nostra ignorarlo.

Ciò a cui mi oppongo è usarli come giudici.

La nostra architettura è ciò che chiamiamo un «sandwich». IA neurale all'esterno, IA simbolica al centro. Il primo strato neurale si occupa dell'acquisizione — OCR sui verbali di polizia, speech-to-text sull'audio dei testimoni, estrazione di entità da dati non strutturati e disordinati. Lo strato simbolico centrale costruisce il grafo, fonde dati da più fonti, esegue il motore di logica deontica, effettua la simulazione causale. Lo strato neurale finale traduce il report strutturato sulla responsabilità di nuovo in linguaggio naturale leggibile, rigorosamente ancorato ai fatti del grafo.

L'LLM non decide mai. Legge e scrive. È il grafo che ragiona.

Chiedere a un LLM di leggere un verbale di polizia e giudicare la responsabilità è come chiedere a un poeta di fare fisica. Otterrete una risposta bellissima, ma con ogni probabilità sarà finzione.

È ciò che il settore sta iniziando a chiamare IA neuro-simbolica — la fusione di apprendimento e logica. Kennedys IQ, un'importante azienda di tecnologia giuridica, ha recentemente lanciato quella che descrive come la prima soluzione di IA neuro-simbolica del settore assicurativo, esplicitamente per eliminare il problema della «scatola nera». La direzione è chiara. La domanda è quanto velocemente il resto del settore seguirà.

La giustizia è un grafo, non una probabilità

Penso a quella demo a cui ho assistito — quella in cui la responsabilità si spostava di dieci punti da un'esecuzione all'altra — più spesso di quanto vorrei. Non perché fosse un prodotto scadente. Il team era di talento. La tecnologia era notevole. Ma notevole non è la stessa cosa di corretto. E nell'ambito della colpa e della responsabilità, «quasi sempre giusto» è sbagliato.

Ogni volta che un sistema di IA attribuisce la colpa in base a chi ha raccontato la storia migliore, o cambia il proprio verdetto a causa di un'impostazione di temperatura, o cita una norma di legge che non esiste — è una persona reale ad assorbire quell'errore. Paga un premio più alto. Perde una controversia che avrebbe dovuto vincere. Si fa carico di una colpa che appartiene a qualcun altro.

Possiamo fare di meglio. Non rendendo i modelli linguistici più intelligenti, ma riconoscendo ciò che sono e ciò che non sono. Sono brillanti con il linguaggio. Sono pessimi con la giustizia. La giustizia richiede il determinismo — gli stessi fatti, lo stesso verdetto, ogni volta. Richiede la verificabilità — mostratemi esattamente quali prove e quale norma di legge hanno prodotto questa conclusione. Richiede la capacità di mantenere un conflitto irrisolto e dire «non lo so ancora» invece di generare una finzione sicura di sé.

Queste non sono funzionalità che si aggiungono a un modello linguistico. Sono proprietà di un tipo di sistema completamente diverso. Un sistema in cui i fatti sono nodi immutabili, le leggi sono logica eseguibile e la colpa si trova non nel sentiment di una narrazione ma nella topologia di ciò che è realmente accaduto.

La giustizia è un grafo. È ora che iniziamo a costruirla in questo modo.

Ricerca correlata

Pubblicato anche su

Costruisci la tua IA con fiducia.

Collabora con un team che vanta una profonda esperienza nella creazione della prossima generazione di IA aziendale. Lascia che ti aiutiamo a progettare, sviluppare e implementare una strategia di IA di cui ti puoi fidare.

Veriprajna società di consulenza Deep Tech è specializzata nella creazione di sistemi di IA safety-critical per i settori sanitario, finanziario e regolamentato. Le nostre architetture sono validate rispetto a protocolli consolidati con una documentazione di conformità completa.