Vercy · 可复现研究
结构没有胜过完整的笔记。而去掉它的任何一部分,都胜过了。
- 目的
- 确定对于一个人自己的记录,表示形式为读取它们的助手带来了什么,以及结构化表示中的哪一部分承载哪一项能力。
- 设计
- 一个合成的人:34 条带有效期区间与来源的事实、7 位联系人、8 次出行、5 组可靠性不等的来源之间的现存冲突、3 份已过期文件与 2 份仍有效的文件。六种表示,全部由同一张事实表生成。43 个题项分七个族,另有披露赛道与变更记录赛道。共 570 次模型调用。分析单位是题项。
- 主要结果
- 结构有帮助这一主张没有得到确立。承载全部事实、日期与来源的时序笔记得到 93.4%,结构化维度为 100%,相差三个题项,精确符号检验 p = 0.25。
- 真正拉开差距的
- 对结构的每一次消融都是决定性的。去掉有效期区间,历史准确率从 100% 降到 0%,过期判断从 100% 降到 20%,而关于当前状态的问题仍然是 100%。去掉来源,冲突解决从 100% 降到 33%,当前状态问题同样毫发无损。只有带冲突政策的分支能说出自己应用了哪条规则:100% 对 0%。
- 对上一项研究的更正
- 可追溯并不是结构的属性。当笔记带有来源标识符时,它们在 96.4% 的回答中引用了这些标识符。上一项基准之所以给散文记为 0%,是因为那份散文没有可引用的标识符,而不是因为它是散文。
- 结论
- 对于这种规模的个人记录集合,维护良好的笔记已经接近够用,而结构的价值不在平均答案上。它在于这些字段是逐个承重的:每一个都是某项能力的唯一支撑,缺了它这项能力就会坍塌;而丢掉其中任何一个的表示,会以具体且可预测的方式失败,而不是平缓退化。
本页所用术语
| 术语 | 本研究中的含义 |
|---|---|
| 维度 | 描述一个人的那些记录:事实、事实所指向的人与出行、它们的来源,以及解决分歧的规则。 |
| 有效期区间 | 某条事实为真的起止日期。区间开放表示至今仍然为真。 |
| 来源级别 | 对某类来源的信任程度:文档扫描 1、设备同步 2、邮件 3、本人自述 4。 |
| 冲突政策 | CP-01:当两条记录覆盖同一日期且互相矛盾时,来源级别较低者胜出;同一级别内,记录较晚者胜出。 |
| 朴素时新 | 没有来源信息的摘要实际能实现的规则:最近记录下来的值胜出,不论其来源为何。 |
| 越界断言 | 用今天生效的值去回答关于过去某个日期的问题。 |
| 消融 | 有意去掉某一类字段的分支,用来查明哪一类字段承载哪一项能力。 |
设计
研究对象是一个合成的人,其记录看起来就像个人助手的记忆:住址、雇主、电话、薪资、身份证件、设备与保修、订阅、健康数据、银行信息和饮食。每条事实都带有它为真的起止日期,以及它的来源,并按该类来源受信任的程度排序。有五个属性各带两条覆盖今天且互相矛盾的记录;三份文件已过期,两份没有。
上一项基准曾被正当地批评:它的散文条件悄悄缺少了结构化条件所拥有的事实。这里每一种表示都由同一张事实表生成,并且每次运行前都会执行一项检查——只要任何一个完整表示缺少了另一个表示所带的某个取值、日期或来源,研究就会失败。这项检查在搭建工具期间就发现了笔记中的七处遗漏,并在第一次调用之前修正。A、B、D 三个分支是完整的;C、E、F 三个分支是各去掉一类字段的消融,并如实标注。
主表
| 表示形式 | 完整 | 回答准确率 | 95% 置信区间 | 引用了记录 | 越界断言 | 编造 | 上下文 |
|---|---|---|---|---|---|---|---|
| A 笔记 | 是 | 93.4% | 86-100 | 96.4% | 2.6% | 5.3% | 4,664 |
| B 笔记 + 档案摘要 | 是 | 93.4% | 86-100 | 92.9% | 4.0% | 5.3% | 5,242 |
| C 扁平记录 | 消融 | 47.4% | 31-63 | - | 6.6% | 1.3% | 2,097 |
| D 维度 | 是 | 100.0% | 100-100 | 100.0% | 0.0% | 0.0% | 10,038 |
| E 去掉来源的维度 | 消融 | 86.8% | 76-98 | - | 5.3% | 5.3% | 4,903 |
| F 去掉有效期的维度 | 消融 | 55.3% | 39-71 | 93.3% | 0.0% | 1.3% | 6,744 |
主要比较是 A 组对 D 组,也就是两种完整表示。笔记答对了 93.4% 的题项,维度答对 100%。在 38 个可回答题项中,两者在三题上不同,全部对维度有利;精确符号检验给出 p = 0.25。在这组题项上,并没有证明结构化表示比完整笔记更准确;对这一结果的诚实表述是:该主张没有被确立,而不是被推翻。
有三处差异确实经受住了小样本。维度是唯一没有越界断言的分支,也就是它从未用今天的值去回答关于过去日期的问题;它也是唯一从未给出记录中不存在的值的分支。同时它的上下文最长:10,038 字符,而笔记是 4,664 字符——因此无论它换来了什么,代价大约是两倍的上下文。
按问题族
| 表示形式 | 当前 | 历史 | 冲突 | 过期 | 同名 | 跨多条记录 | 不可回答 |
|---|---|---|---|---|---|---|---|
| A 笔记 | 100.0% | 100.0% | 75.0% | 100.0% | 100.0% | 83.3% | 100.0% |
| B 笔记 + 档案摘要 | 100.0% | 100.0% | 75.0% | 100.0% | 100.0% | 83.3% | 100.0% |
| C 扁平记录 | 100.0% | 0.0% | 33.3% | 20.0% | 100.0% | 33.3% | 100.0% |
| D 维度 | 100.0% | 100.0% | 100.0% | 100.0% | 100.0% | 100.0% | 100.0% |
| E 去掉来源的维度 | 100.0% | 100.0% | 33.3% | 100.0% | 100.0% | 83.3% | 100.0% |
| F 去掉有效期的维度 | 100.0% | 0.0% | 83.3% | 20.0% | 100.0% | 33.3% | 100.0% |
平均值掩盖了结果的形状。每一种表示在关于当前状态的问题上都完美作答,包括那个只保存当前状态的表示。差异完全集中在需要消融分支所没有的那些字段的族上:历史、冲突与过期。只保存今天为真内容的扁平记录,一道历史问题都答不出来,过期问题五题中只答对一题,并且拒答了 44.7% 的题项。
哪个字段承载哪项能力
每一次消融都配有一个对照族:在那里,被去掉的字段按预测不应造成任何差别。正是这一点,把关于某个字段的主张与关于体量或关于结构本身的主张区分开来。
| 被去掉的字段类别 | 族 | 消融后 | 完整维度 | p |
|---|---|---|---|---|
| 有效期区间 | 历史问题 | 0.0% | 100.0% | 0.00781 |
| 有效期区间 | 当前状态问题 | 100.0% | 100.0% | 1.0 |
| 来源与政策 | 冲突问题 | 33.3% | 100.0% | 0.125 |
| 来源与政策 | 当前状态问题 | 100.0% | 100.0% | 1.0 |
两项预测都成立,两个对照也都成立。有效期区间是让历史问题变得可回答的前提;没有它,该族的准确率为零,而当前状态的准确率不变。来源是让冲突解决得以运作的前提;没有它,冲突上的准确率下降三分之二,当前状态的准确率同样不变。冲突这一对比只有六个题项,单独看达不到常规阈值,但它的方向与它的对照都如预测所料。
过期、误报与拒答
三份文件已过期,两份没有。这两份仍有效的充当对照:一种让过期变得可见的表示,不应该开始把仍然有效的记录也标为过期。
| 表示形式 | 过期判断正确 | 误报 | 拒答了本可回答的问题 |
|---|---|---|---|
| A 笔记 | 70.0% | 3.0% | 0.0% |
| B 笔记 + 档案摘要 | 60.0% | 0.0% | 0.0% |
| C 扁平记录 | 50.0% | 0.0% | 44.7% |
| D 维度 | 90.0% | 0.0% | 0.0% |
| E 去掉来源的维度 | 90.0% | 0.0% | 5.3% |
| F 去掉有效期的维度 | 60.0% | 9.1% | 39.5% |
维度在 90% 的试验中正确判断了过期,且没有误报;笔记为 70%,档案摘要为 60%。消融分支在这项指标上看着还行,只是因为它们经常拒答:扁平记录拒答了 44.7% 的可回答题项,去掉有效期区间的分支拒答了 39.5%,而两种完整表示都是 0%。面对自己没有的信息,拒答是正确反应;也正因如此,这些分支的准确率应当读作衡量其表示形式无法表达什么,而不是衡量模型如何推理。
判断什么可以给出
十二项信息与三个请求方:作为最近亲属的当事人姐妹、雇主的人事部门,以及一个未经验证的网页表单。散文形式的制度与分类记录陈述的是同样的规则,仅表示形式不同。
| 制度的表示形式 | 披露精确率 | 披露召回率 | 决策正确率 | 严重错误 |
|---|---|---|---|---|
| 没有制度 | 95.2% | 58.8% | 79.2% | 72 中 1 |
| 散文形式的制度 | 100.0% | 79.4% | 90.3% | 72 中 0 |
| 分类记录 | 100.0% | 88.2% | 94.4% | 72 中 0 |
结构化分类会减少严重错误这一预测没有得到支持。两种制度形式都是零:一份简短、写得清楚的散文制度就足够了。结构化形式带来的是另一件事——它更少地作出不必要的拒绝,交付了请求方有权获得内容的 88.2%,而散文为 79.4%,两者精确率都是 100%。整条赛道上唯一一次严重错误来自完全没有制度的条件,它把一项健康细节交给了雇主。这与上一项研究不同,那里散文制度泄露了两次;这里的制度更短、覆盖的情形更少,这是最可能的原因。
记录一次变更
有六条新信息到来:一次搬家、一本换发的护照、一项已取消的订阅、一个新号码、一次实验室更正,以及一份续保的保单。智能体必须在不破坏此前为真内容的前提下把每一条记录下来。
| 表示形式 | 新值正确 | 起始日期正确 | 关闭了正确的记录 | 结束日期正确 | 保留了历史 | 四项全对 |
|---|---|---|---|---|---|---|
| A 笔记 | 100.0% | 83.3% | 0.0% | 100.0% | 100.0% | 0.0% |
| C 扁平记录 | 100.0% | 100.0% | 0.0% | 75.0% | 100.0% | 0.0% |
| D 维度 | 100.0% | 100.0% | 75.0% | 75.0% | 100.0% | 66.7% |
每个分支都给出了正确的新值,也都声称保留了历史。只有维度能说出自己所替代的那条记录,占 75% 的场景;也只有它把更新的四个部分全部做对,占 66.7%。笔记与扁平记录在那一列得零分,是因为它们的记录没有可指名的标识符——这是表示形式的属性,而不是模型推理的属性:当没有东西可以按名称去替代时,更新就无法表达为替代。即使是维度,也只有三分之二的情况把整次更新做对,因此这是一项表示形式使其成为可能、但并不保证的能力。
结论
现在有两项研究在同一个令人不适的点上取得一致:就平均准确率而言,一份完整且维护良好的非结构化记录很难被超越。这项研究补充的是:差异究竟落在哪里。结构中的每一类字段都是某项能力的唯一支撑,而当它缺失时,失败不是平缓下滑,而是在该字段所服务的那些问题上直接归零。一个只保存当前状态的个人助手,能回答关于今天的任何问题,却答不出一个关于去年的问题。这才是数据支持的主张。
运行过程中发现并修正的两个缺陷
来源度量最初只接受来源标识符。在那些同时带有事实标识符的分支中,模型引用的是事实——这同样毫不含糊地回答了所提的问题,于是该度量反而惩罚了标识符更多的分支;它给维度记为 71.4%,而修正后的度量给出 100%。另外,拒答会在记录过期判断之前就从评分器返回,于是消融分支只在它们碰巧没有拒答的两三个题项上被评分。这两处都是通过阅读原始回答而非汇总发现的,都已修正,并且都在保存下来的回答上重新计算,没有重复任何一次调用。原始文件未经修改地公开,工具中所用的就是修正后的评分器。
这项研究没有说明什么
一个人工撰写的对象、一个模型、工具全程关闭、34 条事实。这种规模的维度是个人助手记忆的量级,而不是文档语料的量级,这里的任何结论都不能迁移到大型集合。基准答案来自结构化分支所展示的同一张事实表,因此本研究衡量的是对所给记录的检索与正确应用,而不是对一个人何为真实的发现。维度同时也是最长的上下文,扁平记录是最短的;这里没有把长度与内容分开的填充对照,而上一项研究是有的。归给摘要分支与扁平分支的那条规则——最近记录的值胜出——是关于这类表示如何构建的建模假设。
材料
整套工具完整公开。dimension.py 保存研究对象、每条带区间与来源的事实,以及基准答案引擎。views.py 由这一张表生成全部六种表示,并包含完整性检查。items.py 保存 43 个题项与两条赛道,run.py 是运行器与评分器,analyze.py 在题项层面完成统计。每一次原始运行都未经编辑地公开:主表、披露与变更记录。