77条 AI 盲评全部跑完的时候,我本来挺高兴。
数据不少。
评分也有了。
不同方案谁高谁低,看起来一目了然。
折腾了这么久,我甚至觉得:
这下终于可以根据结果改产品了。
但我越看,越觉得哪里不太对。
有些结果和我的实际体验对不上。
有些回答明明很差,分数却没有想象中差。
还有一些案例,我总觉得似曾相识。
最后我决定先不改产品。
而是把这77条数据重新翻了一遍。
然后,我做了一件很反常的事:
删。
一直删到最后,只剩下16条。
更奇怪的是——
数据少了以后,我反而第一次觉得:这份结果可以相信了。
77条,真的等于77次验证吗?
问题就是从这里开始的。
我做的是一个银发 AI 陪伴项目。
简单来说,我想验证:
一个能够记住老人过去说过什么、知道家庭成员是谁、理解上下文的 AI,
到底会不会比普通聊天 AI 更像一个“认识你很久的人”。
为了验证它,我们让不同版本的系统回答同样的问题,再把回答匿名,让评审不知道哪个答案来自哪个系统。
听起来挺严谨。
最后一共积累了77条评测记录。
但当我开始一条条往回查的时候,很快发现了第一个问题。
77条记录,并不等于77个不同的问题。
真正不同的老人输入,只有45个。
其中有19个问题,被重复拿来测过。
加起来,多出了32条重复观察。
换句话说:
表格看起来越来越长,
但里面有一部分,其实是在反复看同一道题。
这就像你想验证一个学生数学水平怎么样。
你说:
“我测了他77道题。”
听起来很多。
结果打开试卷一看:
有些题只是换了张纸,又做了一遍。
那77这个数字,就没有刚开始那么有说服力了。
更麻烦的是,它们还不是同一时期的系统
如果只是重复,其实还不是最严重的问题。
真正让我警觉的是:
这77条结果,来自项目不同阶段。
AI 产品和普通产品有一个很麻烦的地方:
它一直在变。
今天修了一条规则。
明天改了记忆逻辑。
后天又换了回复方式。
一个月前的系统,和今天的系统,看起来名字一样,实际上可能已经不是同一个东西了。
但我们当时的评测数据里,把这些不同阶段产生的结果放到了一起。
然后统一计算、统一比较。
这时候问题就来了。
你以为自己在问:
哪个 AI 方案更好?
实际上你可能是在比较:
不同时间、不同版本、不同运行状态下产生的一堆回答。
它们不是不能看。
但它们已经不适合被简单地放在一起,然后得出一句:
“A 比 B 好。”
那一刻我开始有点后怕
因为如果我当时没有停下来,
接下来会发生什么?
非常可能是:
评测说这里不好,
我们就去改这里。
评测说那个方案更强,
我们就继续往那个方向投入。
工程师继续写代码。
系统越来越复杂。
模型调用越来越多。
成本越来越高。
过几个星期以后,我们甚至可能会发现:
方向走错了。
而最可怕的是,
整个过程中大家都觉得自己是在“根据数据做决策”。
这件事让我第一次非常明确地意识到:
数据多,不一定让你更接近真相。
有时候,它只是让一个有问题的结论,看起来更像真的。
所以我把77条放下,重新找了一组“干净”的数据
这一次,我们不再追求“数量看起来够多”。
而是换了一个很笨的标准:
每一条,我都必须知道它从哪里来的。
最后找到了一轮历史运行。
只有16个老人问题。
但这16个问题有一个很大的不同:
每一个问题,都有三个不同系统在同样条件下产生的回答。
同一个老人。
同一句话。
同样的历史信息。
然后分别交给三个版本的系统回答。
这样一来,我们才能真正问:
面对同一个人、同一个问题,哪个系统表现得更好?
16个问题。
三个系统。
一共48个回答。
重新匿名。
重新盲评。
这一次,样本从77条变成了16组。
数字小了很多。
但我终于知道自己在比较什么了。
然后出现了一个让我很难受、但也很有价值的结果
重新评完以后,
我们投入最多、结构最复杂的那个系统,
并没有赢。
至少在这16个问题里,它大部分时候都没有给出更好的聊天体验。
相反,一些更简单的系统,回答得还更自然。
完整系统只有在极少数真正需要长期记忆的场景里,表现出了一些独特价值。
比如老人突然问:
“小雅最近怎么样?”
普通系统并不知道小雅是谁。
而我们的系统知道:
小雅是他的女儿,
还知道她在杭州工作。
这说明长期记忆确实不是完全没用。
但是接下来更尴尬的事情发生了。
系统最后回答的是:
“小雅工作地点是杭州。”
它记住了。
也找对了人。
甚至把正确的记忆调了出来。
但它还是没有回答:
“她最近怎么样?”
那一刻我反而觉得,这16条数据特别值钱。
因为它没有帮我证明:
“我做的系统很厉害。”
它告诉我的是:
我们真正的问题在哪里。
真正好的评测,不应该负责让你开心
后来我越来越觉得,
很多人做 AI 评测的时候,其实会不自觉地期待一个结果:
证明自己做的东西有效。
模型分数涨了。
胜率提高了。
测试通过更多了。
图表更漂亮了。
这些东西都会让人觉得项目正在进步。
但真正有价值的评测,作用恰恰不是这个。
它应该有能力告诉你:
你可能做错了。
而且当你做错的时候,
它不能因为你投入了很多时间、写了很多代码、做了很多功能,
就对你客气一点。
这也是为什么,我后来反而更相信那16条。
不是因为16这个数字有什么魔力。
而是因为:
每一条我都知道从哪里来。
为什么能和另外两个答案比较。
为什么有资格进入这次实验。
以及最重要的:
它到底能证明什么,不能证明什么。
从那以后,我看到“测了500条”,第一反应已经变了
以前看到一份 AI 报告写:
“我们测试了500条数据。”
我第一反应可能会是:
样本挺多。
现在我会多问几句:
这500条真的是500个不同问题吗?
有没有重复?
是不是同一个版本跑出来的?
不同模型面对的是不是完全相同的输入?
有没有某些题已经被反复调过很多遍?
失败以后有没有重新跑到成功为止?
这些问题说不清楚,
500条也只是一个很大的数字。
我后来给这件事学了一个专业词:
Sample Lineage。
翻成中文,可以理解成“样本血缘”。
但其实根本没那么复杂。
它说的就是一句话:
你表格里的每一行,到底是从哪来的?
如果连这个都说不清楚,
再漂亮的胜率,
再精确的小数点,
都可能只是在给人一种“我们已经验证过了”的错觉。
我们那次从77条删到16条,
表面上看,是评测数据越来越少。
但对我来说,恰恰相反。
那是这个项目第一次真正开始拥有:
我敢拿来做产品决策的证据。
所以现在如果再让我选一次,
我还是会选那16条。
因为做 AI 产品以后,我越来越相信一句话:
真正可信的评测,不是帮你证明自己做对了。
而是当你做错的时候,也让你没办法骗自己。