Détectez les propriétés de schéma dont les valeurs varient d'un modèle à l'autre ou d'une exécution à l'autre, et corrigez-les avant qu'elles ne polluent vos données — pour des enrichissements reproductibles, comparables et précis.
Entity Enricher traite les LLM comme des bases de connaissances interrogeables. Cela ne fonctionne que lorsqu'un nom de propriété fixe une réponse unique et reproductible. Une propriété comme annual_revenue ne le fait pas : quel exercice fiscal ? Quelle devise ? En millions ou en unités ? Chaque modèle — et chaque nouvelle exécution du même modèle — est libre de choisir un cadre différent, si bien que les valeurs divergent même lorsqu'aucun modèle n'a tort.
Les propriétés volatiles nuisent à tout ce qui suit : la fusion multi-modèles voit des conflits qui ne sont en réalité que des différences de cadrage, et les écarts de cohérence du benchmark se creusent pour des raisons qui n'ont rien à voir avec la qualité du modèle. Le contrôle de non-déterminisme détecte ces propriétés et vous explique comment les fixer.
Chaque propriété signalée est classée selon l'une de quatre causes, chacune ayant son propre remède :
| Cause | Exemple | Solution |
|---|---|---|
| Temporel | ceo, stock_priceceo_2025 | Un fait mouvant sans date d'ancrage — fixez la période, ou restructurez en tableau indexé par période. |
| Ambigu | annual_revenuerevenue_fy2024_usd_millions | Le nom ne fixe pas l'unité, la devise, la période ou la portée — intégrez le cadre manquant dans le nom ou la description. |
| Subjectif | reputationesg_risk_rating_sustainalytics | Aucune vérité de terrain objective — remplacez par un indicateur mesurable ou une échelle fixe ; sinon, la propriété reste signalée à titre indicatif. |
| Multivalué | top_competitorstop_3_competitors_by_revenue | Plusieurs réponses également correctes, généralement une liste non bornée — bornez-la et précisez le critère d'ordre. |
Un renommage n'est pas le seul remède : pour les propriétés de schéma, l'analyseur propose aussi une correction de description qui fixe le cadre manquant. Une description plus précise atteint l'IA d'enrichissement exactement comme le nom, mais ne rompt jamais votre contrat de données — c'est donc le remède privilégié pour les schémas déjà en usage.
Une fois un échantillon généré, l'analyseur l'examine. Les renommages sans ambiguïté sont appliqués automatiquement aux clés inventées par l'IA (jamais aux champs que vous avez nommés vous-même), et les corrections structurelles sont renvoyées au générateur pour un maximum de deux tours de correction. Les échantillons ancrés dans des documents joints sont ignorés — leurs valeurs proviennent du document source, et non de la mémoire du modèle.
Une fois qu'un schéma généré est enregistré, une passe finale annote chaque propriété avec son niveau de non-déterminisme. Cette étape est réalisée au mieux : si elle échoue, la génération elle-même n'est pas affectée.
Le bouton Revérifier n'analyse que les propriétés qui n'ont pas encore d'annotation, et passe à une réanalyse complète une fois que chaque propriété est annotée.
Le JSON d'exemple que vous collez pour créer un schéma peut être analysé sans état — vous obtenez un rapport des noms de propriété risqués sans qu'aucune modification ne soit apportée.
Le contrôle est purement consultatif. Il ne bloque jamais la génération, ne rejette jamais un enrichissement, et ses annotations sont retirées de chaque prompt envoyé aux modèles d'enrichissement — il vous informe, vous, pas l'IA.
Les propriétés signalées affichent un badge « varie » dans l'éditeur de schéma : ambre pour un risque moyen, rouge pour un risque élevé. En survolant le badge, vous voyez la note de l'analyseur expliquant ce qui varie et pourquoi. Les propriétés jugées déterministes ne portent aucun badge.
Un verdict est rendu à partir du nom et de la description d'une propriété considérés ensemble — ainsi, renommer une propriété ou modifier sa description supprime son annotation. L'éditeur signale ces propriétés comme obsolètes et propose une revérification, qui n'analyse que ce qui manque. C'est précisément ce que vous voulez après avoir appliqué un renommage suggéré : la revérification confirme si le nouveau nom est déterministe.
Le contrôle peut être désactivé par schéma depuis le menu supplémentaire de l'éditeur de schéma. Une fois désactivé, la passe post-génération est ignorée et les badges, le bouton Revérifier et les avertissements d'obsolescence sont masqués. Les annotations existantes sont conservées (simplement masquées), et réactiver le contrôle sur un schéma qui n'a jamais été analysé le lance automatiquement.
Les schémas générés à partir de documents joints démarrent avec le contrôle désactivé : leurs valeurs sont transcrites depuis le document source, la variance d'une exécution à l'autre dans les connaissances du modèle ne s'applique donc pas.
Les notes de l'analyseur sont rédigées dans la langue de votre interface — un utilisateur français voit des explications en français, un utilisateur japonais en japonais. Les noms de propriétés suggérés restent en anglais, conformément aux conventions de nommage des schémas.
Chaque analyse est un véritable appel de modèle (peu coûteux), enregistré comme son propre prompt sur l'enregistrement et déduit des crédits comme tout autre usage de l'IA. Les revérifications incrémentales ne facturent que les propriétés réellement analysées.
La génération de schéma elle-même reçoit pour instruction de produire des noms et des descriptions déterministes (périodes, unités et critères d'ordre fixés), de sorte que la plupart des schémas sont propres et que l'analyseur n'a plus qu'à repérer les cas restants.
Le contrôle est disponible par programmation :
| Surface | Description |
|---|---|
POST /api/schema/analyze-sample | Analyser un échantillon JSON collé — rapport sans état, rien n'est modifié |
POST /api/schema/saved/{id}/analyze | Analyser un schéma enregistré et écrire des annotations — incrémental par défaut, force=true réanalyse tout |
analyze_sample_determinism | Outil MCP — le même rapport d'échantillon sans état, depuis Claude ou tout client MCP |
analyze_schema_determinism | Outil MCP — annoter un schéma enregistré ; combinez avec edit_schema pour appliquer un renommage suggéré |
Consultez la référence de l'API et le guide du serveur MCP pour l'authentification et le catalogue complet des outils.
Comment les schémas sont générés avec autocorrection et post-traitement.
Les couches de défense qui empêchent les modèles de fabriquer des données.
Mesurez empiriquement la cohérence d'une exécution à l'autre grâce aux répétitions.