一份对话记录里出现了这句话:“最近每天晚上都是我起来照顾孩子。”助手附上引用,写出一则关于用户初为父母的近况。

原话确实存在,引用也能打开,这则近况却仍然可能是错的。

也许说话的是同事,也许用户正在转述客户,也许产品团队在扮演一个虚构用户。检索系统完全可能找对了段落,写作系统却弄错了这段话的性质。

这是一个假设例子。它说明了为什么我会分开检查:来源是否支持这句话、这件事属于谁,以及它是否有资格被写成这个人的亲身经历。

“有依据”里面,至少藏着四个问题

先问,原始材料是否支持这句话或这个判断。再问,是谁说的。接着问,描述的是谁的经历。最后问,当时是在陈述事实、引用别人、角色扮演、提出假设,还是讨论一个尚未确定的情况。

这些问题的答案可以不同,未必意味着某个组件坏了。一个人可以准确转述别人的经历;一句正确归属于他的发言,也可能是在描述一个虚构人物。

原始材料 可以支持什么 尚不能支持什么
“我的客户说,‘晚上是我起来照顾孩子。’” 说话人在转述客户的发言 说话人自己有孩子
“假设我是一个新手家长……” 一段角色扮演的设定 说话人的真实家庭情况
“昨晚是我起来照顾自己的孩子。” 结合上下文,可视为直接自述 长期处于睡眠不足的状态

最后一行还涉及范围问题。即使经历的归属没错,也不能把对某一晚的描述扩大成长期特征。

把要写的判断和证据放在一起

检查时,不应只看一段文字有没有引用,而要看它具体声称了什么。“你刚当上父母”和“你聊过新手父母的经历”,是两个不同的判断。

一张简单的核对表,可以并排放上准备写出的表述、支持它的原文、它涉及的人,以及尚未确认的条件。这只是帮助检查的办法,不是要求所有系统采用固定字段,也不是说有了结构化字段就解决了理解问题。

关键是:这段材料是否支持,以这样的确定程度,对这个人作出这样的表述?

检查者需要看到足够的前后文,才有机会发现开头的角色扮演说明。如果只截取看似能支持结论的那一句,错误判断反而会显得理所当然。但把全部历史一股脑放进来,也可能淹没关键句。上下文是怎么选出来的,本身也值得检查。

要测语义变化,不能只测名字

可以做一组小规模评估:尽量保留相同措辞,只改变上下文。

  • 把直接自述改成转述。
  • 把转述改成角色扮演。
  • 把假设句改成明确的纠正。
  • 保持说话人不变,只改变所描述的人。

再看输出是否相应变化。只核对说话人标签的系统,可能通过身份检查,却在角色扮演的例子里全部出错。

也要放入应该写出来的正例。一个拒绝写任何个人事实的系统,确实能避开一部分错误,却也失去了用处。评估应该同时暴露错误归属和不必要的遗漏。

原始材料本身也可能出错

有时,对话转录给说话人标错了身份。下游校验器即使完美保留这个标签,仍然会与事实相矛盾。

这与“忽略一个正确标签”是两类故障。前者需要修正数据来源,或明确保留未确定状态;不能继续拿同一份错误输入,作出更自信的推断。

排查报告应该区分这些情况。否则,来源对齐做得更好了,可能会被误认为语言理解能力提升;反过来也一样。

这也是我不愿把所有“事实依据”问题压成一个分数的原因。措辞缺乏支持、经历归错人、误解发言情境,以及源数据错误,需要的修复不同。

引用准确,只是起点

PROV 等来源描述标准有助于表达信息的派生与归属关系,但它们本身不会判断:一句角色扮演中的话,算不算某个人的亲身经历。这仍是一个语义判断,需要适当的证据与评估。

对个人 AI 来说,这类错误的代价可能不止是一段令人尴尬的文字。如果生成的判断进入记忆,一次临时的归属错误,就可能继续影响之后的建议和消息。

实际要求说起来很简单,做到却不容易:一句判断应当有证据,属于正确的人,也保留当事人原本是在以什么方式说这句话。