Publié 2026-10-28 · 6 min
Un modèle a ajouté un caractère à une cellule. La validation de schéma ne l’a pas vu.
Pendant nos tests, un modèle chargé de retranscrire un tableau a transformé 循環貸款 en 循環貸款等 : un caractère de plus, invisible en survolant, et faux. C'est pourquoi nous comparons chaque cellule à la source.
Un modèle à qui l'on demande de retranscrire un tableau l'améliore parfois. Sans malveillance, et pas souvent — mais assez régulièrement pour qu'il ait fallu construire un contrôle dédié.
Le cas qui a motivé ce contrôle était petit. Une cellule d'un document de prêt indiquait 循環貸款, un crédit renouvelable. Le modèle a renvoyé 循環貸款等 — les mêmes mots suivis de 等, transformant un instrument précis en « crédits renouvelables et ainsi de suite ». Un caractère. En comparant le résultat au scan à vue d'œil, on ne le voit pas.
Pourquoi les contrôles habituels le manquent
La plupart des extractions de tableaux sont validées par un schéma. La colonne est-elle présente ? Le type est-il correct ? Le nombre de lignes est-il plausible ? Le schéma répond aux trois et rapporte un succès, car la colonne reste la colonne et le type reste une chaîne. La valeur est fausse d'une manière qu'aucun contrôle structurel ne peut exprimer.
Le seul contrôle qui l'attrape est la comparaison avec la source. Après que le modèle a produit une cellule, le vérificateur pose donc une question plus étroite : ce texte exact figure-t-il dans la couche texte de la page d'où vient ce tableau ? Pas « cette valeur est-elle plausible » — c'est précisément cette question qui a produit l'erreur.
À quoi cela ressemble dans la sortie
Une cellule que le document confirme est livrée normalement. Une cellule qu'il ne peut pas confirmer est signalée, et la livraison entière est étiquetée comme comportant des avertissements plutôt que présentée comme un succès propre. Le manifeste enregistre le détail :
{
"outcome": "succeeded_with_warnings",
"warnings": [
"extra_fields:2",
"unconfirmed_cells:个人关键信息"
],
"source_pages": 7
}C'est un vrai manifeste de ce site, débarrassé des identifiants. Il dit trois choses : l'extraction est utilisable, deux champs non demandés par le schéma ont été produits, et une colonne n'a pas pu être confirmée du tout. Celui qui reçoit ce fichier sait exactement quelle colonne vérifier à la main.
Ce que montre le registre de production
Sur les livraisons de tableaux enregistrées sur ce site, 13 sur 14 portaient des avertissements plutôt qu'un succès propre. Quatre contenaient des cellules non confirmées. Il serait facile de présenter cela comme un problème ; la lecture honnête est que le contrôle fait ce pour quoi il a été construit, et que l'alternative — déclarer les quatorze réussies — aurait été un mensonge dans au moins quatre cas.
La leçon dépasse les tableaux. Chaque fois qu'on demande à un modèle de reproduire ce qui existe déjà dans un document, un contrôle structurel dit que la forme est bonne et ne dit rien sur le contenu. Si le contenu compte, il faut le comparer à la source.
Qu’en faire
- Traitez « non confirmé » comme une question, pas comme un échec. Cette cellule mérite un œil humain ; les 99 % restants de la feuille non.
- Ne demandez pas une valeur absente du document. Un modèle à qui l'on demande de remplir un blanc le remplira.
- Comparez le nombre d'avertissements au nombre de colonnes définies. Les champs en trop sont la trace d'un modèle qui élargit discrètement le périmètre.
Pour observer ce comportement sur votre propre document, l'aperçu de structure est gratuit : il renvoie les tableaux et colonnes détectés avant que des crédits ne soient dépensés.