Individua le proprietà dello schema i cui valori variano tra modelli o tra esecuzioni e le corregge prima che inquinino i suoi dati — per arricchimenti riproducibili, comparabili e precisi.
Entity Enricher tratta gli LLM come basi di conoscenza interrogabili. Ciò funziona solo quando il nome di una proprietà fissa un'unica risposta riproducibile. Una proprietà come annual_revenue non lo fa: quale anno fiscale? Quale valuta? Milioni o unità? Ogni modello — e ogni riesecuzione dello stesso modello — è libero di scegliere un contesto diverso, quindi i valori divergono anche quando nessun modello è in errore.
Le proprietà volatili danneggiano tutto ciò che è a valle: la fusione multi-modello rileva conflitti che in realtà sono differenze di inquadramento e le dispersioni di coerenza del benchmark si allargano per motivi che non hanno nulla a che vedere con la qualità del modello. Il controllo del non-determinismo individua queste proprietà e vi indica come stabilizzarle.
Ogni proprietà segnalata viene classificata in una di quattro cause, ciascuna con il proprio rimedio:
| Causa | Esempio | Rimedio |
|---|---|---|
| Temporale | ceo, stock_priceceo_2025 | Un fatto variabile senza data di riferimento: fissi il periodo o ristrutturi in un array indicizzato per periodo. |
| Ambigua | annual_revenuerevenue_fy2024_usd_millions | Il nome non fissa l'unità, la valuta, il periodo o l'ambito — incorporate il contesto mancante nel nome o nella descrizione. |
| Soggettivo | reputationesg_risk_rating_sustainalytics | Nessuna verità oggettiva di riferimento — la sostituisca con un proxy misurabile o una scala fissa; altrimenti resta segnalata come consultiva. |
| A valori multipli | top_competitorstop_3_competitors_by_revenue | Diverse risposte ugualmente corrette, di solito un elenco non delimitato — delimitatelo e indicate il criterio di ordinamento. |
Una ridenominazione non è l'unica soluzione: per le proprietà dello schema l'analizzatore propone anche una correzione della descrizione che fissa il contesto mancante. Una descrizione più precisa raggiunge l'AI di arricchimento esattamente come fa il nome, ma non compromette mai il contratto sui dati, quindi è il rimedio preferito per gli schemi già in uso.
Dopo la generazione di un campione, l'analizzatore lo esamina. Le ridenominazioni non ambigue vengono applicate automaticamente alle chiavi inventate dall'AI (mai ai campi da lei nominati), mentre le correzioni strutturali vengono reinviate al generatore per un massimo di due cicli di correzione. I campioni basati su documenti allegati vengono saltati: i loro valori provengono dal documento sorgente, non dalla memoria del modello.
Una volta salvato uno schema generato, un passaggio successivo annota ogni proprietà con il relativo livello di non-determinismo. Questo passaggio è best-effort: se fallisce, la generazione non ne risente.
Il pulsante Ricontrolla analizza solo le proprietà ancora prive di annotazione e passa a una rianalisi completa una volta che ogni proprietà è annotata.
Il JSON di esempio che incollate per la creazione dello schema può essere analizzato senza stato — ottenete un report dei nomi di proprietà a rischio senza che nulla venga modificato.
Il controllo è solo consultivo. Non blocca mai la generazione, non rifiuta mai un arricchimento e le sue annotazioni vengono rimosse da ogni prompt inviato ai modelli di arricchimento — informa voi, non l'IA.
Le proprietà segnalate mostrano un badge “varia” nell'Editor di schemi: ambra per rischio medio, rosso per rischio alto. Passando il puntatore sul badge viene mostrata la nota dell'analizzatore che spiega cosa varia e perché. Le proprietà giudicate deterministiche non riportano alcun badge.
Un verdetto viene emesso considerando insieme nome e descrizione di una proprietà, perciò rinominare una proprietà, o modificarne la descrizione, ne elimina l'annotazione. L'editor evidenzia tali proprietà come obsolete e offre un nuovo controllo, che analizza solo ciò che manca. È esattamente ciò che serve dopo aver applicato una ridenominazione suggerita: il nuovo controllo conferma se il nuovo nome è deterministico.
Il controllo può essere disattivato per singolo schema dal menu di overflow dell'editor dello schema. Quando è disattivato, il passaggio successivo alla generazione viene saltato e i badge, il pulsante Ricontrolla e gli avvisi di obsolescenza vengono nascosti. Le annotazioni esistenti vengono mantenute (solo nascoste) e riabilitare il controllo su uno schema mai analizzato lo esegue automaticamente.
Gli schemi generati da documenti allegati partono con il controllo disabilitato: i loro valori sono trascritti dal documento di origine, quindi la varianza tra esecuzioni nella conoscenza del modello non si applica.
Le note dell'analizzatore vengono scritte nella lingua della sua interfaccia: un utente francese vede spiegazioni in francese, un utente giapponese in giapponese. I nomi di proprietà suggeriti restano in inglese, in linea con le convenzioni di denominazione degli schemi.
Ogni analisi è una chiamata reale (economica) al modello, registrata come prompt a sé sul record e detratta dai crediti come qualsiasi altro utilizzo dell'AI. I controlli incrementali fanno pagare solo le proprietà effettivamente analizzate.
La generazione dello schema stessa è istruita a produrre nomi e descrizioni deterministici (periodi, unità e criteri di ordinamento fissati), così la maggior parte degli schemi risulta pulita e l'analizzatore deve solo intercettare i casi residui.
Il controllo è disponibile a livello programmatico:
| Superficiale | Descrizione |
|---|---|
POST /api/schema/analyze-sample | Analizza il JSON di esempio incollato — report stateless, nulla viene modificato |
POST /api/schema/saved/{id}/analyze | Analizza uno schema salvato e scrive le annotazioni — incrementale per impostazione predefinita, force=true rianalizza tutto |
analyze_sample_determinism | Strumento MCP — lo stesso report di campione stateless da Claude o da qualsiasi client MCP |
analyze_schema_determinism | Strumento MCP — annota uno schema salvato; da combinare con edit_schema per applicare una ridenominazione suggerita |
Consultate il Riferimento API e la guida al server MCP per l'autenticazione e il catalogo completo degli strumenti.