LLM e dati strutturati: il paradosso di ChatGPT e Perplexity che ignorano la sintassi del web semantico
Le intelligenze artificiali di nuova generazione stanno trattando il codice strutturato come semplice testo, ignorando la sintassi e la validazione che ne definiscono la struttura e portando a una regressione funzionale.
Il sogno del Web Semantico era tecnicamente elegante: fornire alle macchine un linguaggio strutturato, invisibile all’occhio umano ma cristallino per i parser, capace di descrivere in modo inequivocabile cosa fosse un “prodotto”, un “evento” o una “ricetta”.
Per oltre un decennio, standard come JSON-LD (JavaScript Object Notation for Linked Data) sono stati il protocollo di cortesia tra sviluppatori e motori di ricerca. Noi scrivevamo codice pulito, e Google ci ricompensava con rich snippet.
Tuttavia, l’avvento dei Large Language Model (LLM) sta smantellando questa certezza ingegneristica con una brutalità che lascia perplessi i puristi del codice.
Quello che stiamo osservando oggi, 6 febbraio 2026, non è un’evoluzione, ma una sorta di regressione funzionale mascherata da intelligenza. I recenti test condotti sull’interpretazione dei dati strutturati da parte di ChatGPT e Perplexity rivelano una verità scomoda: queste intelligenze artificiali non stanno “leggendo” il codice come farebbe un interprete software rigoroso.
Lo stanno semplicemente “guardando” come se fosse testo normale, ignorando la sintassi, la validazione e, ironicamente, la struttura stessa che dà il nome ai “dati strutturati”.
Un parser che non fa il parsing
Per capire la gravità tecnica della questione, bisogna scendere nel dettaglio di come un computer dovrebbe gestire un formato come il JSON. Se mancasse una virgola o una parentesi graffa in un file JSON-LD, un parser standard (come JSON.parse() in JavaScript) solleverebbe immediatamente un’eccezione, interrompendo l’esecuzione.
È un sistema binario: o è corretto, o è rotto.
Questa rigidità è garanzia di affidabilità.
Tuttavia, gli esperimenti condotti dall’analista SEO Mark Williams-Cook hanno mostrato un comportamento diametralmente opposto. Inserendo deliberatamente markup JSON-LD non valido (sintatticamente rotto) in una pagina di test, ci si aspetterebbe che un sistema avanzato ignorasse quei dati corrotti.
Invece, i modelli AI come ChatGPT e Perplexity interpretano il markup schema non valido come testo regolare, estraendo informazioni come indirizzi falsi da codice che un browser non avrebbe mai renderizzato.
Questo avviene perché l’LLM non possiede un modulo logico separato che esegue il parsing del codice HTML/JSON. Il modello vede il codice sorgente semplicemente come una sequenza di token. Se la sequenza di caratteri assomiglia semanticamente a un indirizzo — anche se incapsulata in una sintassi JSON errata — il modello probabilistico “indovina” che quello è un dato rilevante.
Secondo me, questo test dimostra che l’agente LLM sta semplicemente raccogliendo qualsiasi cosa tu elenchi nell’HTML. Non importa se lo schema è valido. Se il sistema interpreta il testo come rilevante per il prompt, viene incluso. Indicherebbe quindi che lo schema *non* viene utilizzato nel senso esplicito per cui è stato progettato con quei sistemi.
— Mark Williams-Cook, SEO Analyst e Ricercatore Indipendente
Dal punto di vista dello sviluppo software, questo è un approccio “sporco”.
Funziona? Spesso sì.
È robusto? Assolutamente no.
Significa che l’output dell’AI non è frutto di una comprensione della struttura dati, ma di un’allucinazione guidata dal contesto che ha, per puro caso, indovinato l’intento dell’autore.
L’illusione della comprensione semantica
Questa gestione approssimativa dei dati strutturati apre scenari preoccupanti per l’integrità dell’informazione. Se un LLM non distingue tra un commento HTML nascosto, un JSON rotto o un testo visibile, la superficie di attacco per la manipolazione dei risultati (quella che oggi chiamiamo Generative Engine Optimization o GEO) si amplia a dismisura.
Non serve più rispettare gli standard W3C; basta inserire stringhe di testo che “sembrino” autorevoli nel codice sorgente per ingannare il modello probabilistico.
C’è però una distinzione da fare tra le capacità di “lettura” superficiale e la capacità di analisi profonda dei dati, dove le architetture dei vari modelli mostrano differenze sostanziali. Mentre entrambi i sistemi cadono nel tranello del JSON invalido, quando si tratta di processare file di dati puri (come CSV), le prestazioni divergono.
In un confronto diretto sulle capacità di analisi dati, ChatGPT è riuscito ad analizzare completamente un dataset visualizzando una correlazione negativa tra tempi di risoluzione e soddisfazione cliente, mentre Perplexity ha fallito nel generare visualizzazioni o analisi complete, bloccandosi su problemi di interpretazione dello schema del file.
Questo evidenzia un paradosso tecnologico: abbiamo sistemi capaci di inferenze statistiche straordinarie su dataset complessi (nel caso di OpenAI), che però inciampano o “barano” quando devono leggere un semplice markup strutturato in una pagina web.
La mancanza di un layer deterministico — un componente software che dica “fermati, questo codice è sbagliato” prima di passarlo al modello linguistico — è una scelta architetturale che sacrifica la precisione in nome della flessibilità.
In un contesto tecnico, la flessibilità senza regole è spesso preludio al caos.
La fine del web semantico o solo una pausa?
Per anni ci siamo detti che strutturare i dati fosse essenziale per aiutare le macchine a capirci. Oggi scopriamo che le macchine ci capiscono “abbastanza bene” anche se scriviamo codice pessimo, purtroppo ignorando le regole che avevamo stabilito per loro. Questo potrebbe disincentivare gli sviluppatori dal mantenere standard elevati di codice.
Perché perdere tempo a validare un JSON-LD se l’AI di turno lo ingerisce ugualmente, masticandolo come fosse testo non formattato?
La risposta risiede nell’affidabilità a lungo termine. Un sistema basato su inferenza probabilistica (LLM) che legge codice sporco avrà sempre un margine di errore non prevedibile. Un sistema basato su parsing deterministico ha un margine di errore zero sulla sintassi. L’attuale approccio delle Big Tech sembra privilegiare la velocità e la “magia” dell’output immediato rispetto alla correttezza formale.
Nonostante queste lacune tecniche nel backend, l’esperienza utente finale rimane ingannevolmente positiva: entrambi i modelli hanno ottenuto un punteggio di accuratezza di 4 su 5 nei test utente, dimostrando che per l’utente medio, il “come” si arriva alla risposta importa poco, purché la risposta sembri plausibile.
Tuttavia, per chi progetta sistemi, questa è una china pericolosa. Accettare che l’AI tratti i dati strutturati come “suggerimenti testuali” invece che come “definizioni di entità” significa rinunciare al controllo.
La conclusione: Schema, buono. Riconfezionare le basi come una qualche nuova formula magica GEO, male.
— Mark Williams-Cook, SEO Analyst e Ricercatore Indipendente
Siamo di fronte a un bivio filosofico nello sviluppo web. Da una parte c’è la vecchia scuola (Google, W3C) che richiede precisione sintattica per costruire un grafo della conoscenza affidabile. Dall’altra c’è la nuova ondata (OpenAI, Perplexity) che applica la forza bruta della statistica a qualsiasi stringa di caratteri, ignorando la semantica del codice.
Il rischio reale non è che gli LLM non capiscano il web, ma che il web inizi ad adattarsi alla “pigrizia” tecnica degli LLM, producendo codice sempre più sporco e meno standardizzato, nella speranza che qualche algoritmo stocastico riesca a trovarci un senso.
Se la struttura non conta più, stiamo costruendo un futuro digitale più intelligente, o solo più confuso?