ALLER AU CONTENU
Agents IA9 minAgents in Production / Ep. 8

Prouver le travail d'un agent IA à un auditeur

Adam Boudjemaa
PARTAGER

À RETENIR

  • Un auditeur ne demande pas si l'agent est juste. Il demande comment un chiffre précis a été produit, qui en répondait, et comment savoir que le journal n'a pas été retouché ensuite.
  • Ces trois questions correspondent à trois parties d'un même enregistrement : la preuve réellement utilisée, la décision avec sa revue humaine, et une chaîne de hachage qui rend toute altération visible.
  • La preuve doit être écrite avant que la réponse existe. Une citation ajoutée après coup prouve que l'agent savait trouver une source, pas qu'il s'en est servi.
  • La durée de conservation est fixée par la loi, pas par votre facture de stockage. L'article 19 de l'AI Act européen pose un plancher d'au moins six mois pour les journaux des systèmes à haut risque, et les registres des courtiers américains relèvent de six ans sous la règle 17a-4.
  • On ajoute, on ne modifie jamais. Une correction est un second enregistrement, et une piste d'audit modifiable sur place n'est pas une piste d'audit.
14
CHAMPS DANS L'ENREGISTREMENT
un enregistrement par action
6
MOIS MINIMUM
AI Act européen, article 19
6
ANS
règle 17a-4 de la SEC

PAS UN CONSEIL JURIDIQUE

Ceci n'est pas un conseil juridique. C'est un article d'ingénierie écrit par un ingénieur IA et smart contracts, à jour au 3 août 2026. Savoir si une règle donnée s'applique à votre système relève d'un avocat qualifié. Chaque exigence légale ci-dessous renvoie à sa source pour que vous puissiez la vérifier.

La question qui tue la plupart des pilotes IA

La démo se passe bien. Le pilote se passe bien. Puis quelqu'un de l'audit choisit une ligne dans un rapport produit par l'agent, la pointe du doigt, et demande comment ce chiffre est arrivé là.

C'est le moment où la plupart des projets IA en entreprise régulée s'arrêtent discrètement. Non parce que le système avait tort, mais parce que personne ne sait reconstituer une décision précise six semaines après.

COMMENT MEURT UN PILOTE
Diagramme de flux : 5 étapesDiagramme de flux : 5 étapes. La démo se passe bien, puis Le pilote se passe bien. Le pilote se passe bien, puis L'audit choisit une ligne dans un rapport produit par l'agent. L'audit choisit une ligne dans un rapport produit par l'agent, puis Personne ne sait reconstituer cette décision. Personne ne sait reconstituer cette décision, puis Le projet s'arrête discrètement.1La démo se passe bien2Le pilote se passe bien3L'audit choisit une ligne dansun rapport produit par l'agentIl la pointe du doigt et demandecomment ce chiffre est arrivé là.4Personne ne sait reconstituercette décisionSix semaines après, plus aucun moyende reconstituer la façon dont lechiffre a été produit.5Le projet s'arrête discrètement
Aucune étape de cette chaîne n'est une défaillance du modèle. La rupture est à l'étape quatre, et c'est un problème de tenue de registres.

L'observabilité ne vous sauve pas ici. L'observabilité est faite pour l'équipe qui exploite le système. Un enregistrement d'audit est fait pour quelqu'un qui ne vous fait pas confiance, et l'écart se voit dans chaque choix de conception. Alors plutôt que de décrire ce que j'instrumente, voici l'enregistrement lui-même.

L'enregistrement, champ par champ

Un enregistrement par action d'agent. Ni par session, ni par question d'utilisateur. Par action, parce que l'action est l'unité que l'auditeur désigne.

Il est en ajout seul. Une correction ne modifie jamais une ligne, elle en écrit une autre. Et chaque champ ci-dessous existe parce qu'une question précise m'a été posée et que la réponse n'était pas dans les logs.

La base légale est courte. L'AI Act européen impose aux systèmes à haut risque de permettre techniquement l'enregistrement automatique des événements pendant toute leur durée de vie : c'est l'article 12, tenue de registres. Il dit que la journalisation doit exister. Il ne vous donne pas de schéma : voici le mien.

L'ENREGISTREMENT D'AUDIT
interface AgentAuditRecord
recordIdstring

Identifiant unique triable. L'ordre fait partie de la preuve : préférez un identifiant ordonné dans le temps à un uuid aléatoire.

occurredAtstring

ISO-8601 UTC. Le moment de l'action, jamais celui de l'écriture de la ligne. L'écart entre les deux intéresse un auditeur.

actor'agent' | 'human'

Qui a fait l'action. Les corrections humaines vivent dans la même table que les actions d'agent, et c'est ce qui rend la séquence lisible.

agentIdstring

Quel agent déployé, versionné. Pas un nom d'affichage : le nom survit au comportement.

taskRefstring

L'objet métier concerné : la ligne de relevé, la facture, le rapport. C'est ce que l'auditeur désigne.

modelIdstring

La chaîne exacte du modèle envoyée au fournisseur. Les modèles sont retirés et remplacés, et la réponse appartient à celui qui l'a produite.

promptVersionstring

Empreinte du contenu du prompt, pas un libellé humain. Les libellés dérivent, pas les empreintes.

inputDigeststring

SHA-256 de l'entrée exacte. Prouve ce qui a été demandé sans stocker une seconde copie de données sensibles.

evidenceEvidenceRef[]

Par source réellement utilisée : docId, sha256, page, byteRange. Écrit au moment de la récupération, avant qu'une réponse existe.

checksCheckResult[]

Chaque contrôle exécuté, avec son résultat : concordance numérique, implication, politique. Les échecs sont enregistrés, pas seulement les succès.

decision'answer' | 'abstain' | 'escalate' | 'blocked'

L'issue de l'aiguillage, comme valeur à part entière. S'abstenir est un résultat, pas une erreur.

humanReviewHumanReview | null

Relecteur, horodatage, verdict, et motif en texte libre. Null est une réponse valide et informative.

retentionClassstring

Quelle règle déclenche le compte à rebours de cette ligne. Le stocker fait de la suppression une décision de politique, pas une tâche planifiée.

chain{ prevHash, recordHash }

Chaque enregistrement hache le précédent. Modifiez une ligne et toutes les empreintes suivantes cessent de correspondre.

Quatorze champs, un enregistrement par action, en ajout seul. Les huit premiers disent ce qui a tourné, les quatre suivants ce qui a été conclu et par qui, et les deux derniers décident de la durée de vie et de la confiance qu'on peut y placer.

Deux de ces champs pèsent plus que les autres, et tous deux relèvent de l'ordre plutôt que du contenu.

evidence est écrit quand les documents sont récupérés, avant que le modèle produise quoi que ce soit. Attachez les citations après la réponse et vous aurez prouvé que le système sait trouver une source plausible, ce qui n'est pas l'affirmation testée. Et chain rend le journal infalsifiable de façon démontrable : un auditeur peut le recalculer devant vous, position bien plus solide que de lui demander de croire vos contrôles d'accès.

un-enregistrement.json
{
  "recordId": "01K4R7QW3M8ZC2VJ9F0X6TBNPD",
  "occurredAt": "2026-08-03T06:14:22.118Z",
  "actor": "agent",
  "agentId": "recon-agent@4.2.0",
  "taskRef": "stmt:2026-07/line-0412",
  "modelId": "claude-haiku-4-5-20251001",
  "promptVersion": "sha256:9f1c…a07e",
  "inputDigest": "sha256:3b8d…41c2",
  "evidence": [
    { "docId": "inv-2026-07-0188", "sha256": "sha256:c41a…7b90", "page": 1, "byteRange": [2048, 2560] },
    { "docId": "bank-stmt-2026-07", "sha256": "sha256:0d72…e3f1", "page": 4, "byteRange": [8192, 8448] }
  ],
  "checks": [
    { "name": "numeric_tie_out", "passed": false, "detail": "delta 0.02 EUR" },
    { "name": "entailment", "passed": true, "detail": "supported by inv-2026-07-0188" }
  ],
  "decision": "escalate",
  "humanReview": null,
  "retentionClass": "sec-17a4-a-6y",
  "chain": {
    "prevHash": "sha256:77ab…10de",
    "recordHash": "sha256:e908…5c33"
  }
}

Un enregistrement réaliste : une escalade. La concordance a échoué de deux centimes, aucune réponse n'a été produite et une personne a été sollicitée. Notez que l'échec est stocké avec le même statut qu'un succès.

Un rapprochement, tracé de bout en bout

Voici cet enregistrement en train d'être produit, du début à la fin, pour une seule ligne de relevé bancaire. C'est le flux de rapprochement : les chiffres restent qualitatifs et l'intéressant est l'endroit où se font les écritures.

Observez l'ordre. La preuve est écrite avant la décision, et la correction humaine devient un second enregistrement plutôt qu'une modification du premier.

UNE DÉCISION, TRACÉE
Diagramme de séquence : 5 participants : Planificateur, Agent, Contrôles, Journal d'audit, RelecteurDiagramme de séquence : 5 participants : Planificateur, Agent, Contrôles, Journal d'audit, Relecteur. Étape 1 : Planificateur vers Agent, Déclenche l'exécution pour une ligne de relevé.. Étape 2 : Agent vers Journal d'audit, Écrit ce qu'il a récupéré : trois identifiants de documents, chacun avec son empreinte et l'extrait exact utilisé.. Étape 3 : Agent vers Contrôles, Soumet un rapprochement proposé à la concordance numérique et au contrôle d'implication.. Étape 4 : Contrôles vers Journal d'audit, Enregistre les deux résultats. La concordance échoue de deux centimes.. Étape 5 : Agent vers Journal d'audit, Décision : escalade. Aucune réponse produite, rien enregistré dans les comptes.. Étape 6 : Journal d'audit vers Relecteur, Fait remonter l'enregistrement avec ses liens de preuve.. Étape 7 : Relecteur vers Journal d'audit, Valide avec une note désignant les frais bancaires qui expliquent les deux centimes.. Étape 8 : Journal d'audit vers lui-même, Chaîne les deux enregistrements, chaque empreinte couvrant la précédente..PLANIFICATEUR > AGENTDéclenche l'exécution pour une lignede relevé.taskRef est fixé ici et reste identique danstous les enregistrements de cette ligne.AGENT > JOURNAL D'AUDITÉcrit ce qu'il a récupéré : troisidentifiants de documents, chacun avecson empreinte et l'extrait exactutilisé.evidence est écrit avant qu'une réponseexiste. Cet ordre est tout l'enjeu.AGENT > CONTRÔLESSoumet un rapprochement proposé à laconcordance numérique et au contrôled'implication.Rien n'est un rapprochement tant qu'il n'apas survécu aux deux.CONTRÔLES > JOURNAL D'AUDITEnregistre les deux résultats. Laconcordance échoue de deux centimes.checks stocke l'échec. Un journal qui negarde que les succès est du marketing.AGENT > JOURNAL D'AUDITDécision : escalade. Aucune réponseproduite, rien enregistré dans lescomptes.decision est une valeur, pas une exception.S'abstenir doit être aussi journalisable querépondre.JOURNAL D'AUDIT > RELECTEURFait remonter l'enregistrement avecses liens de preuve.Le relecteur ouvre le document source àl'extrait stocké, pas un résumé.RELECTEUR > JOURNAL D'AUDITValide avec une note désignant lesfrais bancaires qui expliquent lesdeux centimes.Un second enregistrement, ajouté. Le premiern'est jamais touché.JOURNAL D'AUDIT > JOURNAL D'AUDITChaîne les deux enregistrements,chaque empreinte couvrant laprécédente.L'infalsifiabilité est une propriété de laséquence, pas d'une ligne isolée.
Une ligne de relevé, quatre enregistrements, zéro modification. L'agent n'a produit aucune réponse, et c'est une issue réussie, entièrement documentée.

Le flux lui-même, et la raison pour laquelle cet agent avait le droit de refuser, c'est la construction du rapprochement bancaire.

Trois questions d'auditeur, trois champs

En pratique l'interrogatoire est court. Les auditeurs ne cherchent pas à comprendre votre architecture, ils cherchent à falsifier une affirmation. Trois questions font l'essentiel du travail, et chacune tombe sur un champ précis.

L'auditeur demande
Le champ qui répond
Ce que vous affichez
Comment ce chiffre est-il arrivé là ?
evidence et inputDigest
Les documents sources, ouverts à l'extrait exact utilisé par l'agent, avec des empreintes qui correspondent encore.
Qui en répondait ?
decision et humanReview
L'issue de l'aiguillage, plus un relecteur nommé et horodaté, ou la règle qui rendait la revue inutile.
Comment savoir que ce journal n'a pas été modifié ?
chain
Recalculez la chaîne devant lui. Une ligne altérée casse toutes les empreintes suivantes, et la rupture se voit en quelques secondes.

La troisième question est celle que les ingénieurs sous-estiment, et elle a une réponse réglementaire précise aux États-Unis. Selon la règle 17a-4(f) de la SEC, un système d'archivage électronique doit soit conserver les enregistrements dans un format non réinscriptible et non effaçable, soit tenir une piste d'audit horodatée complète des modifications et suppressions. Une chaîne de hachage est une pièce de cette seconde option, pas la totalité : elle rend l'altération évidente, mais seule elle ne conserve pas ce que disait une ligne supprimée, n'enregistre pas qui l'a modifiée et ne permet pas de reconstituer l'original. Il vous faut encore les valeurs antérieures conservées, l'identité de l'auteur et la durée de conservation autour. Demandez à votre conseil juridique quelle option vous revendiquez réellement.

Le versant récupération de la première question, vérifier une citation au lieu de simplement l'attacher, a son propre approfondissement.

Combien de temps faut-il le garder

Le dernier champ, retentionClass, est celui que les ingénieurs repoussent jusqu'à l'urgence. La suppression est la seule opération irréversible du système : elle mérite d'être une décision de politique stockée sur la ligne, pas une tâche planifiée écrite dans la précipitation.

Quelle horloge s'applique est une question juridique, et la réponse dépend de ce que l'enregistrement soutient plutôt que de ce qui l'a produit. Voici la forme générale.

L'HORLOGE DE CONSERVATION
Décision: Combien de temps garder un enregistrement d'audit d'agent ?Arbre de décision : Combien de temps garder un enregistrement d'audit d'agent ? Si le système est à haut risque au sens de l'AI Act européen, alors Au moins six mois. Si l'enregistrement soutient un registre de courtier, alors Six ans, les deux premiers aisément accessibles. Si il soutient une communication ou un registre secondaire, alors Trois ans, les deux premiers aisément accessibles. Si votre stockage peut être réécrit, alors Tenez plutôt une piste d'audit horodatée complète.DÉCISIONCombien de temps garder unenregistrement d'audit d'agent ?SI le système est à haut risque ausens de l'AI Act européenAu moins six moisL'article 19 impose de conserverles journaux générésautomatiquement pendant une duréeadaptée à la finalité prévue, etd'au moins six mois, saufdisposition contraire du droit del'Union ou national.SI l'enregistrement soutient unregistre de courtierSix ans, les deux premiersaisément accessiblesLa règle 17a-4(a) de la SEC fixecela pour les catégories qu'elleénumère. Si l'agent a produit lechiffre, construisez comme sil'enregistrement sur l'agenthéritait de la même horloge.SI il soutient une communication ouun registre secondaireTrois ans, les deux premiersaisément accessiblesLa règle 17a-4(b) couvre ce palierplus court. Deux paliers, donc deuxclasses de conservation dans votreschéma : c'est la raison d'être duchamp.SI votre stockage peut être réécritTenez plutôt une pisted'audit horodatée complèteLa règle 17a-4(f)(2)(i) autorisesoit un format non réinscriptible,soit une piste d'audit complète desmodifications, des suppressions etde leurs auteurs. Choisissezexprès.
Quatre branches, et la plus longue applicable l'emporte. Stockez celle qui a attrapé l'enregistrement, car dans trois ans personne ne se souviendra pourquoi il est encore là.

Les deux règles de conservation ci-dessus méritent d'être lues dans le texte plutôt que dans un résumé de fournisseur : l'article 19 de l'AI Act européen pour le plancher de six mois sur les journaux des systèmes à haut risque, et la règle de la SEC liée dans la section précédente pour les paliers de six et trois ans.

Ce que coûte l'enregistrement, et ce qu'il rapporte

L'objection que j'entends, c'est que tout cela est lourd. Ça ne l'est pas, et le coût n'est pas là où on l'attend.

Mécaniquement, c'est une insertion par action et une empreinte. Le vrai coût est de la discipline : on ne peut pas le rattraper après coup. Une preuve écrite après la réponse n'est pas une preuve, et un journal modifiable sur place n'est pas une piste d'audit : l'ordre doit être bon dès le premier commit.

La version observabilité

Des traces, des spans, un pourcentage échantillonné, une rétention de 30 jours et un tableau de bord qu'on peut reconstituer. Excellent pour déboguer. Inutile la première fois que quelqu'un d'extérieur pose une question sur une ligne de mars.

La version audit

Un enregistrement en ajout seul par action, complet sur le périmètre concerné, la preuve capturée à la récupération, une conservation fixée par la règle applicable, et une chaîne de hachage que n'importe qui peut recalculer. Ennuyeux, et ça transforme les pilotes en contrats.

Comment un système grimpe de la démo à quelque chose de défendable devant un régulateur, c'est tout le sujet de l'échelle de preuve FDE, et la traduction article par article de l'AI Act en ingénierie, c'est l'épisode cinq.

Pour l'approche plus large à laquelle appartient cet enregistrement, l'IA en finance régulée est le hub : recherche ancrée dans la preuve, confinement, conformité imposée par le système, et évals qui bloquent une release.

FAQ

De reconstitution, pas de réassurance. Il choisit une sortie, en général celle qui paraît étrange, et vous demande de reconstruire sa production : quelle preuve a été utilisée, quels contrôles ont tourné, ce que le système a décidé, qui a validé, et la démonstration que l'enregistrement n'a pas été modifié depuis. Si vous savez le faire à la demande pour n'importe quelle action, tout va bien. Si vous ne pouvez montrer qu'une justesse agrégée, non.

Non, et on confond les deux en permanence. L'observabilité est faite pour l'équipe qui exploite le système : elle est échantillonnée, elle expire, et elle est le plus souvent modifiable ou reconstituable après coup. Un enregistrement d'audit est fait pour quelqu'un qui ne vous fait pas confiance : complet sur le périmètre concerné, conservé selon une durée fixée par la loi, et infalsifiable de façon démontrable. On peut construire l'un sur l'autre, mais un tableau de bord de traces n'en est pas un par défaut.

Cela dépend de la règle qui vous attrape, et c'est une question d'avocat plutôt que d'ingénieur. Pour l'ordre de grandeur : l'article 19 de l'AI Act européen impose aux fournisseurs de systèmes à haut risque de conserver les journaux générés automatiquement pendant une durée adaptée à la finalité, et d'au moins six mois, sauf disposition contraire du droit de l'Union ou national. Aux États-Unis, les registres des courtiers relevant de la règle 17a-4 de la SEC vont jusqu'à six ans pour certaines catégories et trois pour d'autres, les deux premières années dans un lieu aisément accessible. Construisez pour la règle la plus longue qui puisse vous concerner.

Vous pouvez, et cela ne résistera pas à un examen. Une citation attachée après la réponse prouve que le système sait trouver un document plausible, ce qui n'est pas la question que teste l'auditeur. La preuve doit être capturée au moment où elle est récupérée, avec l'empreinte du document et l'extrait exact utilisé, avant qu'une réponse existe. Cet ordre fait toute la différence entre une citation et une preuve.

Des écritures en ajout seul plus une chaîne de hachage : chaque enregistrement contient l'empreinte du précédent, si bien que modifier une ligne casse toutes les empreintes suivantes, et la rupture est triviale à démontrer. Attention toutefois à la façon dont vous le présentez à un régulateur. Sous la règle 17a-4 de la SEC, un système d'archivage électronique doit soit conserver les enregistrements dans un format non réinscriptible, soit tenir une piste d'audit horodatée complète des modifications et suppressions. La chaîne apporte la preuve d'altération, qui est un ingrédient de la seconde option. Elle ne conserve pas à elle seule ce que disait une ligne supprimée, n'enregistre pas qui a fait la modification et ne permet pas de reconstituer l'enregistrement d'origine, or cela fait aussi partie de l'exigence.

Agents in Production

Episode 8 · 10 publies

Adam Boudjemaa

Adam Boudjemaa

Ancien CTO d'Integra. Auteur nommé (1 sur 5) d'ERC-3643, premier auteur d'ERC-6960, co-auteur d'ERC-7410 et co-auteur d'ERC-8203, encore à l'état de brouillon. Conçoit des systèmes d'IA en production et des systèmes Web3 régulés.

Cet article vous a plu ?

Recevez les suivants dans votre boîte mail chaque mardi.