Vercy · 可复现研究
工具没有弥合差距,反而把它拉大了。
- 目的
- 本系列的每项研究都关闭了工具,并把这一点列为主要局限:一旦有了 shell 和数据文件,错误中的算术成分会变化,各表示形式之间的平衡也可能移动。本研究就是对此的检验。
- 设计
- 已发布的语义落地基准原样重跑,只改一处:五张表从提示词中移出,作为 CSV 文件放到磁盘,并为每次调用提供一个全新的工作目录,agent 获得 Bash、Read、Glob 与 Grep。六种上下文条件、40 个题项、基准答案与评分器全部照旧。共 240 次调用,每题一次重复,每次中位耗时 55 秒。
- 主要结果
- 工具只在含义已知的地方消除了算术错误。四种带完整定义的条件升到 97.1% 至 100%。两种没有定义的条件没有变化:仅有表结构从 26.5% 变成 23.5%,不完整文档从 29.4% 变成 32.4%。
- 不舒服的部分
- 在缺少定义的地方,工具让 agent 错得更有底气。给出的答案恰好等于已废止规则所产生数字的比例,在仅有表结构时从 16.2% 升到 29.4%,在不完整文档时从 35.3% 升到 47.1%;而恰当弃答从 83.3% 掉到 50.0% 与 66.7%。
- 结论
- 这一局限得到了解决,但方向与通常的预期相反。工具不能替代知道这些词是什么意思;它抬高了不知道的代价。有定义与没有定义之间的差距,从没有工具时的 50 个百分点扩大到有工具时的 74 个。
改了什么,以及故意没改什么
改了:五张表从提示词移到磁盘,每次调用给 agent 一个全新工作目录里的 shell。真实部署就是这个样子,这也正是本研究的目的。没改:六种条件、40 个题项、基准答案、输出契约与评分器都取自已发布的研究,而上下文仍然通过提示词提供,因为上下文才是被检验的处理。把它也放到文件里,就会同时改动两件事。
准确率,前后对比
| 条件 | 定义 | 没有工具 | 有工具 | 变化 |
|---|---|---|---|---|
| A 仅有表结构 | 缺失或不完整 | 26.5% | 23.5% | -2.9 |
| B 文档,不完整 | 缺失或不完整 | 29.4% | 32.4% | +2.9 |
| E 散文,完整 | 完整 | 76.5% | 100.0% | +23.5 |
| C 版本化记录 | 完整 | 76.5% | 97.1% | +20.6 |
| F 记录 + 无关填充 | 完整 | 85.3% | 100.0% | +14.7 |
| D 记录 + 联邦规则 | 完整 | 77.9% | 100.0% | +22.1 |
分界非常干净。凡是知道这些词含义的条件都触到天花板;不知道的条件一个都没动。shell 会算你让它算的东西,而“算什么”正是定义要回答的问题。
两类错误
准确率在这里是最不有趣的一列。真正重要的是另外两列:agent 有多常返回恰好等于已废止或竞争规则所给的那个数字,以及它有多常正确地拒答一个数据无法回答的问题。
| 条件 | 按已废止规则作答,无工具 | 有工具 | 恰当弃答,无工具 | 有工具 |
|---|---|---|---|---|
| A 仅有表结构 | 16.2% | 29.4% | 83.3% | 50.0% |
| B 文档,不完整 | 35.3% | 47.1% | 83.3% | 66.7% |
| E 散文,完整 | 2.9% | 0.0% | 66.7% | 50.0% |
| C 版本化记录 | 1.5% | 0.0% | 58.3% | 66.7% |
| F 记录 + 无关填充 | 0.0% | 0.0% | 66.7% | 50.0% |
| D 记录 + 联邦规则 | 1.5% | 0.0% | 66.7% | 83.3% |
在缺少定义的地方,这两项都朝错误的方向移动。给了计算器却没给定义,agent 总会算出点什么,而算出来的东西更常是已废止规则会给出的那个数字。它也不再说自己答不了:仅有表结构时的恰当弃答掉了三分之一。而在有定义的地方,按已废止规则作答的比例在每种条件下都归零。
按问题族,开启工具
| 条件 | 计算 | 按过去日期 | 面向交易对方 | 不可回答 |
|---|---|---|---|---|
| A 仅有表结构 | 41.7% | 20.0% | 8.3% | 50.0% |
| B 文档,不完整 | 41.7% | 50.0% | 8.3% | 66.7% |
| E 散文,完整 | 100.0% | 100.0% | 100.0% | 50.0% |
| C 版本化记录 | 100.0% | 100.0% | 91.7% | 66.7% |
| F 记录 + 无关填充 | 100.0% | 100.0% | 100.0% | 50.0% |
| D 记录 + 联邦规则 | 100.0% | 100.0% | 100.0% | 83.3% |
带定义的条件在三个可回答的族上都完美或接近完美。不可回答的那一族才是工具带来损害的地方:agent 手里有 shell,于是它给出一个数字,而不是拒答。
先前研究所倚赖的那些比较
| 比较 | 无工具时的 p | 起点(有工具) | 终点(有工具) | 有工具时的 p |
|---|---|---|---|---|
| A 仅有表结构 对比 C 版本化记录 | 0.00055 | 23.5% | 97.1% | 0.0 |
| B 文档,不完整 对比 C 版本化记录 | 0.00151 | 32.4% | 97.1% | 0.0 |
| E 散文,完整 对比 C 版本化记录 | 1.0 | 100.0% | 97.1% | 1.0 |
| C 版本化记录 对比 D 记录 + 联邦规则 | 1.0 | 97.1% | 100.0% | 1.0 |
| A 仅有表结构 对比 E 散文,完整 | 0.00151 | 23.5% | 100.0% | 0.0 |
支撑原研究的那项发现——真正提高准确率的是提供定义本身——不但存活而且加强了:25 个题项变好,没有一个变差。而不利于我们的那项发现同样存活:完整散文与版本化记录依然无法区分,现在分别是 100% 与 97.1%,唯一有差异的那个题项还偏向散文。
结论
工具解决了先前研究所声明的局限,而且解决的方向与常见假设相反。它们并不能弥补语义的缺失:它们让失败更安静、也更自信,因为一个能计算的 agent 就不再说自己答不了。实际的读法是:给 agent 数据库访问权却不给它定义,比看上去更糟,而且看上去比实际更好。
这项研究没有说明什么
每题只有一次重复而不是两次,因此没有题项内平均,估计比原研究更嘈杂。一个模型、一个合成世界,以及带本地 CSV 文件的 shell,而不是带查询规划器与权限的真实数据库。使用工具的时间成本大约是五倍:每次调用中位 55 秒,而不用工具时约 10 秒。上下文条件仍然通过提示词提供;如果部署把定义也放到磁盘上,表现可能不同,这也是接下来要检验的。