返回 Explorations

当 AI 评估失去时间坐标

为什么检索到了正确事实,仍然可能做出错误判断

问题从何而来

假设用户问 AI 助手:某个国际组织的负责人是谁?通过网页搜索,我们很快就能找到该组织的现任负责人。但如果对话中的一条较早消息已经确立了某个历史时期呢?现任负责人可能是一个正确的事实,却仍然不是用户实际所问问题的正确答案。

这种看似反常的失败,并不总是因为评估器缺乏事实知识。评估器可能检索到准确的信息,忠实地执行评分准则,却拒绝一个符合历史背景的回答——因为评分准则已经悄然改变了问题的时间参照。

一次评估,能否在事实层面有据可依,却在时间层面发生错位?

1. 时间影响评估的两种方式

时间错位的两个来源:对话中的时间锚定,以及随时间变化的事实

图 1:对话锚定回答“用户指的是哪个时间”,时变事实核验回答“什么事实在那个时间成立”。正确的评估需要先确定目标时间,再核验该时间下的事实。

1.1 对话历史中的时间锚定

来看两条虚构的消息:

2026 年 10 月 10 日:“我下周五有一场面试。”
2026 年 10 月 20 日:“我之前提到的那场面试是几号?”

合适的日期是 10 月 16 日:这个相对时间表达属于前一条消息。如果根据后续提问的日期来解析它,即使外部事实没有变化,也已经改变了任务本身。

更难的情形是,对话根本没有给出明确日期。前文关于某位历史任职者的陈述,可能隐含地限定了一个时间区间,而当前问题问的是另一个职位。后一个问题是否沿用这一时间区间,取决于对话语义,而不仅仅是关键词匹配。其中一些案例确实可能存在歧义。

1.2 随时间变化的标准答案

再考虑一个单轮问题:“X 公司的 CEO 是谁?”假设虚构人物 Alice 在 2024 年担任这一职务,而 Bob 在 2026 年担任,那么正确答案就取决于相关的参照时间。对于一个询问现状的问题,旧的参考答案可能已经过时;同样,用今天的信息给过去的回答打分,也会造成时间错位。

这是两种不同的机制:上下文时间锚定负责确定用户所指的时间;考虑时间的事实核验负责检查哪些事实在那个时间成立。一个多轮事实问答可能同时需要这两者。

2. 时间信息在哪里丢失

两阶段评估流程:对话与问题、评分准则生成器、评判器与检索

图 2:时间参照可能隐含在对话中。评分准则生成阶段可能设定错误的时间范围;评判与检索阶段则可能使用来自错误时间的证据。

在基于评分准则的系统中,生成器根据对话和问题构建准则;评判器再按照这些准则检验候选回答,有时还会借助检索。

评分准则生成阶段的失败。 一个历史问题可能被悄然改写为要求给出现任任职者的准则。于是,评判器准确地评估了一个错误的命题。

评判阶段的失败。 即使评分准则的时间范围正确,评判器仍可能检索到当前事实,却没有检查证据的有效时间区间。

这就是为什么增加搜索并不自动等于解决问题:搜索能够提供证据,却无法单独决定这些证据应当支持哪一个带有时间限定的命题。

3. 一项探索性全因子实验

我们研究了三个因素:生成器的时间指令(G)、评判器的时间指令(J),以及网页检索(W)。每个因素分别取关闭(0)或开启(1),因此共有八种设置。需要特别注意的是,启用网页检索的实验在执行后端和超时设置上也有所不同,因此 W 并不是一个严格隔离的因果干预。

开发集包含 200 个不同的问题,每个问题配有一个有来源支持、经模型审查的参考答案,以及一个人为构造的负例候选回答。类别如下:

类别 数量 主要挑战
context_date 25 时间在较早的对话中明确给出
context_fact 25 历史事实隐含地约束相关时间区间
explicit_time 50 当前问题中明确给出历史日期
implicit_current 50 固定参照日期下的动态事实
timeless 50 作为对照的稳定事实

在负例候选回答中,117 个被设计为时间错位的回答,83 个为普通事实错误。每种实验条件分别评判 200 个正例和 200 个负例候选回答,共产生 3,200 条评判记录,而不是 3,200 个相互独立的问题。

评判器可以输出 P(通过)、F(不通过)、U(证据不足)或 E(流程失败)。下文所有百分比均以完整的 200 个样本为分母,包含 U 和 E。这些预设的答案标签均尚未完成独立的人工语义裁定。

4. 实验结果:为什么单一通过率会产生误导

八种设置下正例和负例候选回答的通过、不通过、证据不足及流程失败分布

图 3:上半部分为正例候选回答,下半部分为负例候选回答。P 表示通过,F 表示不通过,U 表示证据不足,E 表示流程失败;每组分母均为 200。图中的预设标签并非经人工裁定的金标准标签。

设置 正例通过率 负例表观误接受率 配对成功率
G0 J0 W0 91.0% 4.5% 90.0%
G0 J0 W1 89.5% 1.5% 87.5%
G0 J1 W0 86.0% 3.5% 85.0%
G0 J1 W1 88.5% 1.5% 87.5%
G1 J0 W0 89.5% 1.5% 88.5%
G1 J0 W1 96.0% 0.0% 95.0%
G1 J1 W0 86.0% 0.5% 83.5%
G1 J1 W1 95.5% 0.5% 94.5%

配对成功要求:预设正例候选回答得到 P,同时与之配对的负例候选回答得到 F。这些是开发集上的描述性统计,并非基于金标准标签的准确率。观察到的误接受次数为零,并不意味着真实的错误率为零。

4.1 评分准则可能锁定错误的时间范围

最显著的现象出现在 context_fact 子集中。当生成器没有进行时间锚定时,在四种 J/W 组合下,25 个预设正例答案中每次都有 9 个被拒绝。加入生成器时间锚定后,在这些条件下,没有任何一个被直接拒绝,不过部分启用网页检索的请求在流程层面发生了失败。

三个预设的 context_fact 负例候选回答在所有 G0 条件下都被接受,在所有 G1 条件下都被拒绝。在一个记录下来的案例中,前文关于英国首相的陈述似乎为后续关于 WTO 总干事的问题限定了历史时期。未进行时间锚定的评分准则却反复指向现任任职者。这是一个得到评判日志支持的合理机制解释,并非经独立裁定、能够证明该历史解读是唯一预期含义的结论。

4.2 更谨慎不一定意味着更准确

在 G1 且不使用网页搜索的条件下,加入评判器时间指令后,负例中的通过数量从 3 个降到 1 个,但不通过数量也从 195 个降到 189 个,证据不足的数量则从 2 个增加到 10 个。正例接受率同样下降了。如果只报告表观错误减少,就会掩盖能够做出明确判断的覆盖率下降。

4.3 检索可以有帮助,却仍可能偏离问题

在 G1 且启用网页搜索的条件下,两种评判器设置都接受了全部 50 个预设的 implicit_current 正例答案。然而,启用网页检索的实验也出现了流程失败;单靠搜索,并没有修复 G0 条件下上下文事实类正例被拒绝的问题。后端、超时设置、执行时间和模型行为随机性方面的差异,也限制了因果解释。

5. 对基准设计的启示

这些观察提示我们,在实践中应当区分四个方面:

  1. 问题的时间参照是任务定义的一部分。 应保留相关消息的时间戳,以及上下文中的时间线索。
  2. 评分准则忠实于原问题,是评判器忠实执行准则的前提。 一个忠实的评判器,也可能完美执行一条设定错误的要求。
  3. 证据必须匹配目标时间的有效区间。 最新的信息,不一定是适用的信息。
  4. 报告表观错误率时,也要报告覆盖率。 通过、不通过、不确定和流程失败,是不同的结果。

这些结果并不能证明,一次简单的提示词修改就能解决时间相关评估问题。它们说明的是:如果只研究评判器的事实知识,就可能忽视上游环节的一种失败模式。

结语

评估器即使知道正确的事实,仍然可能核验了错误的时间点。 在多轮对话中,时间参照可能沿用自前面的轮次;在开放世界的问题中,事实本身也可能发生变化。评估流程必须先恢复前者,才能可靠地核验后者。

在追问一个答案是否正确之前,我们必须先问:相对于哪个时间,它才是正确的?