Controllo di non determinismo - Documentazione di Entity Enricher

Controllo di non determinismo

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.

Perché il determinismo è importante

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.

Le quattro cause

Ogni proprietà segnalata viene classificata in una di quattro cause, ciascuna con il proprio rimedio:

CausaEsempioRimedio
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.

Dove viene eseguito il controllo

Durante la generazione del campione

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.

Dopo la generazione dello schema

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.

Su richiesta dall'Editor di schemi

Il pulsante Ricontrolla analizza solo le proprietà ancora prive di annotazione e passa a una rianalisi completa una volta che ogni proprietà è annotata.

Su campioni incollati

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.

Interpretare i risultati

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.

Le annotazioni seguono la proprietà

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.

Interruttore per schema

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.

Utile da sapere

Le note parlano la sua lingua

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.

L'analisi è una chiamata AI a pagamento

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 prevenzione agisce anche a monte

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.

Accesso API e MCP

Il controllo è disponibile a livello programmatico:

SuperficialeDescrizione
POST /api/schema/analyze-sampleAnalizza il JSON di esempio incollato — report stateless, nulla viene modificato
POST /api/schema/saved/{id}/analyzeAnalizza uno schema salvato e scrive le annotazioni — incrementale per impostazione predefinita, force=true rianalizza tutto
analyze_sample_determinismStrumento MCP — lo stesso report di campione stateless da Claude o da qualsiasi client MCP
analyze_schema_determinismStrumento 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.

Passaggi successivi