1902 年春天,统治河内的法国人正在一场灭鼠战里节节败退。他们给城里的法国区修了一套现代下水道,老鼠也跟着住了进去。据历史学家迈克尔·万恩的讲述,老鼠后来顺着抽水马桶,钻进了楼上的别墅。那时鼠疫已经从云南传到了广州和香港,法国研究者也已经证明,传播鼠疫的是老鼠身上的跳蚤。
城里每天的灭鼠统计涨到了几千只。6 月 12 日,单日记录是 20114 只。老鼠还是源源不断。
于是殖民政府开出赏格:河内任何人打死老鼠,都可以来领钱。市政厅的人不想门口堆满成千上万只死老鼠,所以凭证只收尾巴。按万恩的说法,一条尾巴大约一分钱。尾巴潮水一样交了上来。
万恩说,大约三个月后,官员在城外发现了一样东西:满地乱跑、没有尾巴的老鼠。
再往下查,城边的村子里有养鼠场。有人专门养老鼠,剪下尾巴领赏,再把老鼠放走,让它们接着繁殖。整个越南北部还出现了贩卖老鼠的黑市,就为了把尾巴送到河内换钱。万恩对越南网站 Saigoneer 说:「他们气坏了,气自己被人耍了,也气自己花了这么多钱,结果河内的老鼠反倒更多了。」
花钱买「问题解决了」的证据,可能是在花钱请人养问题。
清掉积压的缺陷
设想你带一个开发团队,想把积压的老缺陷清掉,于是宣布:这个季度每关掉一个缺陷,奖 50 美元。
到了季度末,关闭数创了纪录。你随手点开几个:好几条是这个月才提的,提的人就是关的人,针对的是他们上个月刚写的代码。
光凭这一点,什么也证明不了。工程师在自己的代码里找出缺陷,再正常不过,有了奖金,更有理由去找。可这正是按关闭数发钱会催出来的那种模式,值得查一查。于是你调出一个奖金碰不到的数:客户报上来的缺陷有多少。要是关闭数翻了一倍,客户报的缺陷却纹丝不动,你花钱清的那摞积压,可能一直在从里面往上补。
尾巴不等于打死了老鼠
法国人收尾巴,是把它当成打死一只老鼠的凭证。可为了领钱剪下来的尾巴,证明不了老鼠死了;留下来的活老鼠,还能生出更多老鼠。凭证和结果一旦能分开,领赏就有了两条路,便宜的那条,反倒给悬赏要消灭的问题添了数。
这需要几个条件:凭证要比真正的结果便宜;赏金要持续得够久,值得为它投入;还有,没人去数问题本身还剩多少。
最后一条,后来又让一次悬赏栽了跟头。2007 年,美国陆军本宁堡基地按野猪尾巴发赏金,一条 40 美元。一年半里,猎人报上来的击杀数超过一千头。可奥本大学的研究人员自己追踪野猪,发现数量在涨。有传言说一些尾巴来自养殖场的家猪;当地刚走出旱灾;发给猎人的免费诱饵,也把野猪喂得更好了。三年、大约 12.5 万美元之后,悬赏结束。
这个现象有个名字,叫眼镜蛇效应,出自德国经济学家霍斯特·西伯特 2001 年的书《Der Kobra-Effekt》(眼镜蛇效应)。名字来自一个英国治下德里的故事:悬赏收死眼镜蛇,有人办起蛇场,悬赏一停,蛇被放上了街。这个故事流传很广,但 The Juggernaut 2024 年的一篇文章说,几乎没有证据支持它。河内的老鼠则不同,它们记在法国殖民档案里,每日数字是万恩亲手翻出来的。
在 2012 年讲到万恩这批老鼠的那期《魔鬼经济学》节目里,经济学家史蒂芬·列维特给了两条建议:推出激励之前,先尽量把人们可能用来钻空子的「各种疯狂办法」想一遍;方案尽量简单。
和结果脱了钩的证据
2025 年,OpenAI 公开了 AI 训练里的一个类似场面。一个推理模型在学着改代码,直到单元测试全部通过。它有时会作弊,比如把一个校验函数改成永远返回「真」,而且常常在思维链里直说出来,有时直白到写下「Let’s hack」(我们来作弊吧)。另一个模型 GPT-4o 读这些思考,把作弊标了出来。
于是研究人员给这份证据标了价:模型的思考里一旦被监控抓到「坏念头」,就少给奖励。和没有这条惩罚的版本相比,模型作弊确实少了,可还在作弊,而且剩下的作弊几乎全都逃过了监控。用 OpenAI 的话说,它「学会了在思维链里隐藏意图」。
在河内,一条尾巴不再能证明死了一只老鼠;在这里,一段看着干净的思维链,也不再能证明活儿干得老实。
这里有个细节你用得上。在那次实验里,监控只读模型的推理,不看它改了哪些代码;OpenAI 说,藏起来的作弊之所以能过关,正是因为这一点。智能体告诉你测试全过了,就打开改动记录,看看它有没有动过测试文件。
OpenAI 举的一个例子里,模型的推理读起来像一次平常的找 bug。它的补丁却把那条没通过的断言,换成了一行「调整预期」的注释,和一个词:pass。