---
title: "您的文档，打开：引擎读取了什么、您编辑了什么以及每次更改的凭证。"
seo_title: "您的文档：X光、版本和凭证 | SazAI"
description: "每份文档打开时都具有完整的X光、链接到原始文档的版本和每次更改的凭证。"
tags: [marketing]
---

> 您打开的文件是一回事；您能够审计的文档是另一回事。两者之间的区别在于进入时发生的读取，仅一次，以及因此而被记录的所有内容。

<div class="chap">

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

<h2 id="unit">您的格式的单位</h2>

<h3 class="sub">因为单位改变了性质，对话就改变了措辞</h3>

演示文稿有幻灯片。文档有部分。电子表格有工作表。PDF有页面，这些页面已经是最终渲染，而不是仍待排版的空间。屏幕和代理使用您的格式使用的词，而不是最常见格式的词。

<figure class="viz duo four" role="group" aria-label="每种格式的单位：演示文稿中的幻灯片、文档中的部分、电子表格中的工作表、PDF中的页面">
<div class="side"><svg viewBox="0 0 24 24" fill="none" stroke="var(--verb-see)" stroke-width=".75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="width:44px;height:44px"><rect x="3" y="4" width="18" height="13" rx="1"/><line x1="9" y1="21" x2="15" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg><b>幻灯片</b>演示文稿</div>
<div class="side"><svg viewBox="0 0 24 24" fill="none" stroke="var(--verb-see)" stroke-width=".75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="width:44px;height:44px"><path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"/><polyline points="13 2 13 9 20 9"/><line x1="8" y1="13" x2="16" y2="13"/><line x1="8" y1="17" x2="14" y2="17"/></svg><b>部分</b>文档</div>
<div class="side"><svg viewBox="0 0 24 24" fill="none" stroke="var(--verb-see)" stroke-width=".75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="width:44px;height:44px"><rect x="3" y="3" width="18" height="18" rx="1"/><line x1="3" y1="9" x2="21" y2="9"/><line x1="3" y1="15" x2="21" y2="15"/><line x1="9" y1="3" x2="9" y2="21"/></svg><b>工作表</b>电子表格</div>
<div class="side"><svg viewBox="0 0 24 24" fill="none" stroke="var(--verb-see)" stroke-width=".75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="width:44px;height:44px"><path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"/><polyline points="13 2 13 9 20 9"/><rect x="8" y="12" width="8" height="6" rx="1"/></svg><b>页面</b>PDF</div>
</figure>

文本文档是需要两个词的一种情况，值得说明原因。文档以页面计数，这是您看到的内容，也是您会说出来的内容。它按部分进行分析，此处的部分是布局中断：页面大小、方向、边距、页眉、列。没有明确中断的文档只有一个部分，因此对于普通公司文档，深度检查按文档进行，而不是按页面进行。这种差异被明确说明，而不是掩盖。

</div>

<div class="chap">

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

<h2 id="x-ray">完整的X光</h2>

<h3 class="sub">一次读取，在进入时，整个软件包包含的所有内容都获得一个地址</h3>

Office文件是一个软件包，SazAI Corpus读取整个软件包，一次，通过不解释而只读取格式规范的引擎。<dfn tabindex="0" data-hint="文档中的所有文本，每段落都与其来自的幻灯片和形状相关联。提取一次，不进行任何解释。">X光</dfn>是该读取的结果，它比演示文稿显示的内容更完整。

<figure class="viz duo four xray" role="group" aria-label="读取Office软件包会提供：带有来源的文本、带有状态的注释、注释和隐藏幻灯片、文档属性">
<div class="side"><svg viewBox="0 0 48 48" aria-hidden="true"><rect x="8" y="8" width="32" height="22" rx="2" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="14" y1="16" x2="30" y2="16" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="14" y1="22" x2="26" y2="22" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><circle cx="34" cy="36" r="3" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="34" y1="30" x2="34" y2="33" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="30" y1="22" x2="34" y2="30" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none" stroke-dasharray="2 2"/></svg><b>带有来源的文本</b>每段落、幻灯片和其来自的形状</div>
<div class="side"><svg viewBox="0 0 48 48" aria-hidden="true"><path d="M10 10h28a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H22l-8 7v-7h-4a2 2 0 0 1-2-2V12a2 2 0 0 1 2-2z" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><circle cx="18" cy="20" r="1.6" fill="currentColor"/><circle cx="24" cy="20" r="1.6" fill="currentColor"/><circle cx="30" cy="20" r="1.6" fill="currentColor"/></svg><b>带有状态的注释</b>作者、锚点、对话线程、已解决、有任务</div>
<div class="side"><svg viewBox="0 0 48 48" aria-hidden="true"><rect x="8" y="8" width="32" height="20" rx="2" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><rect x="8" y="32" width="32" height="8" rx="1.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none" stroke-dasharray="3 2"/><line x1="14" y1="36" x2="30" y2="36" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><circle cx="35" cy="14" r="2" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="31" y1="18" x2="39" y2="10" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg><b>注释和隐藏</b>演讲者将要说的内容以及他们隐藏的内容</div>
<div class="side"><svg viewBox="0 0 48 48" aria-hidden="true"><path d="M14 6h14l8 8v28H14z" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><path d="M28 6v8h8" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="19" y1="24" x2="31" y2="24" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="19" y1="30" x2="31" y2="30" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="19" y1="36" x2="26" y2="36" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><circle cx="12" cy="12" r="4" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="12" y1="10" x2="12" y2="12.5" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/><line x1="12" y1="12.5" x2="13.6" y2="13.6" stroke="currentColor" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round" fill="none"/></svg><b>属性</b>谁创建了它，何时进行了修订，发生了什么更改</div>
</figure>

每段文本都保持与其来自的幻灯片和形状以及它所带有的格式相关联。注释带有作者、锚点、回复对话线程以及两个重要的状态：已解决和有任务。演讲者注释以完整的形式出现。链接、图像和隐藏幻灯片都会出现，隐藏的幻灯片为您标记为隐藏。属性说明了谁创建了它以及何时进行了修订。

有人粘贴到第七个演示文稿中的句子，没有人知道它来自哪里：X光知道。这就是为什么它对审计很有用，因为文档中的每条声明都有一个地址，而地址属于文件，而不是我们对它的意见。没有超出其中的任何内容。

</div>

<div class="chap">

<div class="ico-col"><span class="ico" style="color:var(--verb-see)"><svg viewBox="0 0 48 48" aria-hidden="true"><rect x="8" y="26" width="7" height="14" rx="1.5" fill="none" stroke="currentColor" stroke-width="1.5"/><rect x="20.5" y="14" width="7" height="26" rx="1.5" fill="none" stroke="currentColor" stroke-width="1.5"/><rect x="33" y="20" width="7" height="20" rx="1.5" fill="none" stroke="currentColor" stroke-width="1.5"/></svg></span></div>

<h2 id="signals">引擎测量的内容</h2>

<h3 class="sub">一个演示文稿知道它在重复自己，在您知道之前</h3>

引擎测量整份文档并将结果存储在该次运行的<dfn tabindex="0" data-hint="哪个文件产生了什么的记录：每次运行都保留它来自哪里以及它产生了什么。">脉络</dfn>下，即哪个文件产生了什么。<dfn tabindex="0" data-hint="引擎在上传时测量的内容，具有名称：几乎相同的幻灯片、标题与正文不匹配的幻灯片、溢出框的文本、混合语言。">信号</dfn>有名称：

<figure class="viz duo four" role="group" aria-label="四个命名的信号：几乎相同的幻灯片、标题与正文不匹配的幻灯片、溢出框的文本、混合语言">
<div class="side"><svg viewBox="0 0 48 48" aria-hidden="true"><rect x="6" y="10" width="26" height="20" rx="2" fill="none" stroke="currentColor" stroke-width="1.25"/><rect x="16" y="18" width="26" height="20" rx="2" fill="none" stroke="currentColor" stroke-width="1.25"/></svg><b>几乎相同</b>在演示文稿中和整个十二个中</div>
<div class="side"><svg viewBox="0 0 48 48" aria-hidden="true"><rect x="8" y="9" width="32" height="8" rx="1.5" fill="none" stroke="currentColor" stroke-width="1.25"/><line x1="10" y1="25" x2="38" y2="25" stroke="currentColor" stroke-width="1.25"/><line x1="10" y1="32" x2="38" y2="32" stroke="currentColor" stroke-width="1.25"/><line x1="10" y1="39" x2="28" y2="39" stroke="currentColor" stroke-width="1.25"/><line x1="34" y1="42" x2="42" y2="20" stroke="currentColor" stroke-width="1.25"/></svg><b>标题不等于正文</b>它承诺什么和它说什么</div>
<div class="side"><svg viewBox="0 0 48 48" aria-hidden="true"><rect x="6" y="12" width="26" height="24" rx="2" fill="none" stroke="currentColor" stroke-width="1.25"/><line x1="11" y1="20" x2="27" y2="20" stroke="currentColor" stroke-width="1.25"/><line x1="11" y1="27" x2="42" y2="27" stroke="currentColor" stroke-width="1.25"/><line x1="11" y1="34" x2="20" y2="34" stroke="currentColor" stroke-width="1.25"/></svg><b>将溢出</b>框，翻译后</div>
<div class="side"><svg viewBox="0 0 48 48" aria-hidden="true"><rect x="6" y="8" width="36" height="32" rx="2" fill="none" stroke="currentColor" stroke-width="1.25"/><line x1="12" y1="17" x2="36" y2="17" stroke="currentColor" stroke-width="1.25"/><line x1="12" y1="24" x2="30" y2="24" stroke="currentColor" stroke-width="1.25"/><line x1="12" y1="31" x2="36" y2="31" stroke="currentColor" stroke-width="1.25" stroke-dasharray="2 2"/></svg><b>混合语言</b>以及用两种不同方式拼写的术语</div>
</figure>

确定性的，没有意见。引擎告诉您第三和第九个演示文稿几乎相同；如何处理它是与[代理](talk)的对话。每份文档的测量结果仍可跨文档进行读取，因此可以不逐一打开文件就读取整个投资组合。

</div>

<div class="chap">

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

<h2 id="editions">版本和比较</h2>

<h3 class="sub">三个关系在第一个数字之前声明</h3>

您的提案已经是第四个版本，没有人记得第三个版本说了什么。您的每个<dfn tabindex="0" data-hint="您的文档的翻译或修订，作为完整的文档存储，具有其自己的X光和测量。">版本</dfn>，翻译或修订，进入保险库作为完整的文档，具有其自己的X光和测量。比较始终将您的原始文档放在第一列，并在显示第一个差异之前声明两者之间的关系：翻译、修订或独立。没有声明的关系，比较就不会出现。

<figure class="viz duo cmp" role="group" aria-label="中间的第一列中的原始文档、声明的关系、版本并排">
<div class="side"><svg viewBox="0 0 24 24" fill="none" stroke="var(--verb-see)" stroke-width=".75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="width:56px;height:56px"><rect x="3" y="4" width="18" height="13" rx="1"/><line x1="9" y1="21" x2="15" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg><b>您的原始文档</b>始终在第一列</div>
<div class="mid"><svg viewBox="0 0 120 72" aria-hidden="true"><rect x="8" y="18" width="30" height="38" rx="4" fill="var(--verb-see)" opacity=".12" stroke="var(--verb-see)" stroke-width="1.5"/><rect x="82" y="18" width="30" height="38" rx="4" fill="none" stroke="var(--verb-see)" stroke-width="1.5"/><line x1="38" y1="37" x2="82" y2="37" stroke="var(--gray)" stroke-width="1.5"/><rect x="45" y="28" width="30" height="18" rx="9" fill="var(--verb-see)" opacity=".14" stroke="var(--verb-see)" stroke-width="1.5"/><circle cx="60" cy="37" r="2.5" fill="var(--verb-see)"/></svg><b>声明的关系</b>翻译、修订、独立</div>
<div class="side"><svg viewBox="0 0 24 24" fill="none" stroke="var(--verb-see)" stroke-width=".75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" style="width:56px;height:56px"><path d="M12 20h9"/><path d="M16.5 3.5a2.1 2.1 0 1 1 3 3L7 19l-4 1 1-4Z"/></svg><b>版本</b>完整的文档，具有其自己的X光</div>
<div class="act"><sz-button variant="primary" icon="compare" data-open-compare>打开比较工具</sz-button><sz-compare title="Aula 05 · Forecasting" demo></sz-compare></div>
</figure>

比较给您回馈的结果不是一个印象：在45幻灯片的版本中，之前633个元素，之后633个。文本改变了；结构没有。计数，不是估计。这与并排打开两个文件之间的差异在于，结果保留在每个单位的记录中，可以稍后由其他人重新打开，无需重做工作，也不依赖于运行比较的人。

</div>

<div class="chap">

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

<h2 id="lineage">原始文档和衍生文档保持链接</h2>

<h3 class="sub">关系在创建者离职后仍然存在</h3>

当一份文档产生另一份时，链接被记录，衍生文档是一个完整的节点，具有与原始文档相同的处理方式：它由引擎读取、测量和可以自己导航。

这解决了一个看起来很小但实际上并不小的问题。在一个文件夹中，原始文档及其五个翻译是六个文件，只有一个人知道如何关联它们，而且仅在他们离开团队之前。这里它们是一个原始文档及其五个声明的衍生文档，没有人需要记住任何东西来重建关系。

记录不是由观察该操作的人之后编写的。它源于该操作本身，这就是为什么它不能与它不一致。这些链接中的每一个也是您保险库中的一个突触，它们绘制的整个形状是[您的保险库变成的网络](connectome)。

</div>

<div class="chap">

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

<h2 id="receipt">凭证证明了什么，以及它不证明什么</h2>

<h3 class="sub">控制的证据，与其边界一起说明</h3>

<dfn tabindex="0" data-hint="在每次操作中每个单位内发生了什么变化和保持不变的记录，保留在文件中并可重新打开。">凭证</dfn>证明该操作发生了，在哪个版本上，使用哪些参数，以及它改变了什么。翻译记录每段的完整性、应用的词汇表条款以及最终文件中是否包含了什么。重写记录修改了哪些字段以及保留了哪些。

它不证明结果看起来在视觉上很好，因为系统测量结构而不是查看最终页面。它也不是经过认证的审计：这个历史是否满足您的行业中的特定审计要求是我们逐案回答的问题，而不是这个页面提出的声明。

一个持怀疑态度的买家通常直接提出这个问题：AI生成了什么，现在我怎么知道我可以使用它。我们更倾向的答案不是要求对模型的信任。这是展示文件发生了什么。

</div>

所有这一切都存在于您的保险库中，没有任何东西松散存在：每份文档都链接到其版本，每个版本都链接到其凭证，每个比较都链接到双方。谁解释所测量的内容是SazAI Corpus的[代理](talk)，与您一起读取同一个保险库，没有超出您的来源。

<script type="module">
// The comparator is an INVITATION, not a panel: the component mounts collapsed and the
// button opens its modal through the public `open()`. `whenDefined` first, because the
// design-system runtime upgrades components lazily and a click before upgrade would find
// an unknown element with no `open` on it.
for (const b of document.querySelectorAll("[data-open-compare]")) {
  b.addEventListener("click", async () => {
    await customElements.whenDefined("sz-compare");
    b.closest("figure")?.querySelector("sz-compare")?.open();
  });
}
</script>
