---
title: "La conversation est avec l'IA, le fichier est touché par le moteur : ce qui en sort est une spécification exécutée."
seo_title: "Conversation avec l'IA, fichier touché par le moteur | SazAI"
description: "La couche parlante et la couche d'édition sont séparées à dessein : le modèle comprend, le moteur exécute, vérifié."
tags: [marketing]
---

> Presque tous les produits d'IA pour documents mettent le modèle dans le chemin du fichier : il lit le matériel, décide ce qui changer et remet un nouveau document. Cela fonctionne dans la démo et échoue dans le cas qui importe, parce qu'un modèle de langage est excellent pour interpréter et mauvais pour garantir. SazAI Corpus part d'une division différente, et tout ce que les autres pages promettent en vient.

<div class="chap">

<div class="ico-col"><sz-icon style="color:var(--verb-talk)" name="sparkles" size="36"></sz-icon></div>

<h2 id="two-layers">Les deux couches</h2>

<h3 class="sub">L'une comprend ce que vous voulez ; l'autre ouvre le fichier par les propres règles du format</h3>

La couche parlante comprend la demande, choisit l'opération, explique le résultat et
répond à vos questions. Elle est faite d'un modèle de langage, et c'est là que l'IA fonctionne. La
couche qui touche le fichier est un moteur déterministe : il ouvre le document par les règles de
son propre format, trouve les éléments qui existent, change exactement ceux qui sont autorisés et écrit
le fichier. Ce moteur n'interprète pas l'intention et n'improvise pas.

<figure class="viz duo" role="group" aria-label="La demande en langage naturel devient une opération choisie, et c'est le moteur qui écrit le fichier">
<div class="side"><svg viewBox="0 0 90 60" aria-hidden="true"><rect x="4" y="10" width="82" height="40" rx="10" fill="none" stroke="var(--verb-talk)" stroke-width="1.5"/><line x1="16" y1="24" x2="64" y2="24" stroke="var(--gray)" stroke-width="2"/><line x1="16" y1="34" x2="48" y2="34" stroke="var(--gray)" stroke-width="1.5"/></svg><b>votre demande</b><span>dans vos propres mots, comme vous la parlez</span></div>
<div class="mid"><svg viewBox="0 0 120 72" aria-hidden="true"><line x1="8" y1="36" x2="52" y2="36" stroke="var(--verb-talk)" stroke-width="1.5"/><path d="M46 30l6 6-6 6" fill="none" stroke="var(--verb-talk)" stroke-width="1.5"/><rect x="52" y="24" width="24" height="24" rx="4" fill="none" stroke="var(--verb-talk)" stroke-width="1.5"/><line x1="76" y1="36" x2="112" y2="36" stroke="var(--gray)" stroke-width="1.5"/><path d="M106 30l6 6-6 6" fill="none" stroke="var(--gray)" stroke-width="1.5"/></svg><b>une opération choisie</b><span>nommée, enregistrée, avec un reçu</span></div>
<div class="side"><svg viewBox="0 0 90 60" aria-hidden="true"><rect x="12" y="6" width="66" height="48" rx="4" fill="none" stroke="var(--gray)" stroke-width="1.5"/><rect x="22" y="18" width="28" height="16" rx="2" fill="none" stroke="var(--gray)" stroke-width="1.5"/><line x1="22" y1="42" x2="68" y2="42" stroke="var(--lightgray)" stroke-width="1.5"/></svg><b>le fichier écrit</b><span>par le moteur, jamais par le modèle</span></div>
<figcaption>Le modèle choisit l'opération ; le moteur est ce qui ouvre et écrit le fichier.</figcaption>
</figure>

La conséquence pratique de cette division est celle qui décide un achat : la pire erreur possible dans la
couche IA est toujours une erreur de conversation. Si le modèle mal interprète votre demande, la
mauvaise opération s'exécute et cela apparaît dans le reçu, avec le nom de ce qui s'est exécuté et contre
quelle version. Ce qui ne se produit pas est le fichier revenant silencieusement endommagé par une
improvisation.

</div>

<div class="chap">

<div class="ico-col"><sz-icon style="color:var(--verb-talk)" name="settings" size="36"></sz-icon></div>

<h2 id="spec">Le document sort d'une spécification</h2>

<h3 class="sub">Vous dites ce que vous voulez ; ce qui s'exécute est une opération sur une structure connue</h3>

Avant toute transformation, le document est lu entièrement et décomposé dans les éléments qui le composent : texte, formes, tableaux, cellules, pages, relations entre les parties, propriétés et
métadonnées. Cette carte est enregistrée, et c'est sur quoi tout le reste repose. Un changement n'est pas une
réécriture du fichier : c'est une <dfn tabindex="0" data-hint="La description explicite de ce qui doit changer, sur quels éléments, contre quelle version. Le moteur exécute la spécification ; il ne devine pas ce que vous vouliez.">spécification</dfn> exécutée contre cette carte, qui altère les
éléments autorisés, laisse le reste inchangé et vérifie le résultat contre la structure source.

C'est pourquoi une question sur le document est répondue sans retraiter quoi que ce soit, et pourquoi
une comparaison entre deux versions pointe la divergence par unité au lieu de montrer deux textes
côte à côte. La totalité de cette lecture, avec ce qu'elle garde pour chaque format, se trouve dans
[vos documents](documents).

</div>

<div class="chap">

<div class="ico-col"><sz-icon style="color:var(--verb-talk)" name="check" size="36"></sz-icon></div>

<h2 id="checked-boundary">Où le texte du modèle atteint réellement</h2>

<h3 class="sub">Dans la traduction la frontière est vérifiée, et quand elle ne correspond pas l'étape échoue</h3>

Cela vaut la peine d'être spécifique sur l'unique cas où le texte du modèle atteint réellement le
fichier, qui est la traduction. Là le texte traduit revient et doit être injecté dans les bons éléments, et la frontière entre ce que le modèle a produit et ce qui entre dans le
document est vérifiée, pas supposée. Le matériel envoyé porte des marqueurs qui délimitent chaque
passage, et le nombre de marqueurs qui revient est comparé au nombre qui est parti.
Si cela ne correspond pas, parce que le modèle en a abandonné un, en a inventé un, ou a écrit quelque chose qui
ressemble à un, l'étape échoue.

<figure class="viz" role="group" aria-label="Comptage d'éléments d'entrée et de sortie dans un test de traduction de 45 diapositives">
<div class="ev proof"><span class="n">633</span><span class="t"><b>Entré avec 633, sorti avec 633</b>Dans un test de traduction de 45 diapositives le fichier est entré avec 633 éléments et en est sorti avec 633, est entré avec 971 formes et en est sorti avec 971, et le moteur a touché exactement les 11 diapositives qui avaient du texte. Les 34 autres n'ont pas été altérées parce qu'il n'y avait rien à altérer dedans.</span></div>
<figcaption>Un comptage est la façon honnête de dire ceci ; un adjectif ne l'est pas.</figcaption>
</figure>

La différence que cela fait est la sienne habituelle dans cette maison : un modèle qui se comporte mal ici
ne produit pas un document endommagé en silence, il produit une opération qui n'a pas complété.
Vous le découvrez, au lieu de le découvrir à la réunion. La portée de cette garantie varie
avec ce que chaque format permet, et la page [traduire](translate) énonce où elle tient et où elle finit.

</div>

<div class="chap">

<div class="ico-col"><sz-icon style="color:var(--verb-talk)" name="rotate" size="36"></sz-icon></div>

<h2 id="model-is-a-choice">Le modèle de langage est un choix, pas une dépendance</h2>

<h3 class="sub">Ce qui reste le même quand le modèle change est la couche déterministe</h3>

Le modèle qui parle et le modèle qui traduit sont des rôles différents, choisis séparément par
le mérite mesuré dans chaque fonction, et tous deux sont remplaçables par configuration. Un client installé
pointe sur le modèle qu'il a contracté.

Cela importe pour une raison au-delà du prix : un outil attaché à un seul fournisseur d'IA vieillit avec
lui. La couche déterministe est celle qui ne bouge pas quand le modèle change, et c'est sur quoi la
[souveraineté](privacy) de l'arrangement repose. C'est aussi pourquoi l'agent n'invente pas un fait sur votre document : il répond à partir de ce que le moteur a enregistré, et l'enregistrement
soit tient l'information, soit ne la tient pas.

</div>

C'est la division ; ce qu'elle rend possible ce sont les canaux par lesquels vous parlez au produit, dans
[interfaces](interfaces), et l'ensemble des opérations que l'agent peut exécuter, dans
[capacités](capabilities).
