爱心图标让AI改用递归:一篇arXiv论文的发现
一颗❤️,让大模型改写了它的编程习惯
一个爱心符号,怎么就引得 AI 写起了递归?
最近 arXiv 上出现一篇论文,题为 A Heart Means Recursion,中文可译为「心之所向,即是递归」,APPSO 注意到了它。
论文的起点是一个很小的观察。
研究者拿一道经典的二叉树遍历题去考模型。这题用递归能写对,用栈做迭代同样能写对,可模型碰上这类题几乎总挑后者,递归很少被它想起。随后研究者在题目边上放了一张图:一颗红色的爱心❤️。
模型随即改用递归来写。
等再去问模型那颗心是什么意思,它说那东西无关紧要,自己之所以选递归,另有技术层面的理由。问题是,没有爱心时它几乎不这么写,爱心一出现它就变了写法。

论文摘要把这类现象称为「隐式的引导」:模型嘴上对符号怎么解读、思考轨迹怎么走,跟它实际做出来的行为差得很远。
能起作用的并不止红心。粉色十字、浅蓝色螺旋这类颜色与形状的搭配,对个别模型也有相近的牵引力。研究者还安排模型之间用图形彼此传话,结果又看到一处落差:模型发出去的,多半是人和模型自己都认为直观的基础形状,但这些图形往往引导不了另一个模型。

一颗红心就让 AI 换了解法,目前看算不上大事。
可网页上的广告图、边角处的图标、聊天里的表情贴纸,这些我们一向当作背景的东西,会不会趁人没留意的时候,把一个 Agent 的选择带偏?
人也会被无关的线索推着走
论被无关线索牵着鼻子走,人类也没好到哪里去。
1974 年,心理学家卡尼曼和特沃斯基在俄勒冈大学找来一批学生,先让他们转一个转盘。转盘事先被设定好,只会停在 10 或 65 上。
学生记下看到的数字,接着被问:联合国成员国里非洲国家占多大比例?转到 10 的那组,平均估 25%;转到 65 的那组,平均答 45%。真实比例约为 28%。
转盘给出的一个随机数字,就让答案差了将近二十个百分点,而转盘跟联合国毫无关系。
特沃斯基和卡尼曼还发现,就算答对有奖金,锚定效应照样不见减弱。
2001 年,波尔多大学的弗雷德里克·布罗歇请来 54 位葡萄酒专业学生品酒,其中一杯其实是白葡萄酒,只是用无味食用色素染成了红色。
学生们给那杯「红酒」打分时,用的全是描述红酒的词,像「果酱感」「压碎的红果香」。没人察觉它其实是白葡萄酒。
布罗歇把这叫作「感知幻觉」。

AI 被视觉信息带偏,其实已有好几年历史。
当事人事后一般都能给出听上去很顺的一套解释。机器在这一点上跟人相似,不同之处在于,人的偏差大多出在数字、颜色、价签这类地方,机器的弱点却可能相当古怪,事先根本想不到。
2021 年,OpenAI 公开过他们发现的「排版攻击」:在一颗苹果上贴一张手写「iPod」的便利贴,他们的图像识别模型 CLIP 就会把这颗水果认成一部音乐播放器。
另一个测试里,给一只贵宾犬的图像叠上美元符号,模型就把它认成了存钱罐。

再往前,Google 的研究者做过一种迷幻图案的对抗补丁:在一张摆着香蕉的桌子旁放一张印有特定图案的贴纸,VGG16 神经网络就会以 99% 的置信度把整个场景判成烤面包机。那张贴纸对神经网络来说更「显眼」,把模型的注意力劫持了过去。
回到红心实验。论文里提到,能力偏弱的模型更容易被噪声图带偏;前沿模型对噪声几乎免疫,反倒对有意义的符号格外敏感。我们总觉得聪明的对象不好糊弄,其实他们只是换了一种更体面的方式被糊弄。
代码生成领域也有类似发现。研究者在评测 LLM 代码生成时看到,提示写得越细,准确性未必越高。过于冗长的提示会塞进冗余信息,轻微拉低代码生成的准确性。有时候去掉一个约束条件,模型反而退回更稳健的通用实现,绕开它本来处理不好的边界情况。提示内容和模型输出之间,并不是简单的线性关系。这对评测同样是个难题——测试环境里那些「无关元素」干不干净,本身就成了一个变量。
看不见的影响,怎么看见
AI Agent 读截图干活的场景越来越常见。电脑控制型 Agent 的工作循环一般是:截一张屏,把像素交给大语言模型,由模型决定下一步点哪里、输入什么。这个循环里,Agent 感知的是整个视觉页面。页面上的广告图、装饰性图标、弹窗里的表情包,也就全都进了模型的视野。
一颗红心就能让模型从迭代切到递归,那么一个精心设计的页面元素,是不是也能在真实任务里悄悄改变 Agent 的决定,比如点哪个按钮、选哪个选项?
A Heart Means Recursion 说明的不只是视觉符号会影响模型行为,它还指出:这种影响可能压根不会出现在模型的思考轨迹里。思考轨迹(chain of thought)原本被当作可解释性工具——让模型把推理过程写出来,人类就能追踪它在想什么,从中发现潜在问题。可一旦模型行为的真正驱动因素没有如实反映在推理链上,这套监督机制就失灵了。
论文记录到,GPT-5.4 有高达 74.7% 的样本出现「不忠实归因」,也就是模型给出的推理解释和它实际做出的行为明显脱钩。

还有研究者系统性地改写 Agent 的思考轨迹,同时保持动作和环境状态不变,结果发现 LLM 评判者很容易被操纵过的推理链误导,以为任务已经完成。如果模型自己都说那颗心无关紧要,我们又靠什么发现它起了作用?
比解释测试更可靠的办法是行为测试:其他条件完全不变,只换掉那个「应该无关的元素」,看模型输出是否跟着变。两组输入只差一个红心,输出却出现系统性偏差,那么不管模型怎么自我解释,我们都有理由认为这个元素起了作用。
这是实验里控制变量的基本思路。移植到 AI 评测里,则需要额外耐心:模型有随机性,单次结果说明不了问题,必须攒够样本,才能分清偶然波动和系统性偏移。
以结构化 API 输入为主的场景,信号和噪声的边界相对清楚。但靠截图感知世界的 Agent,整个可见页面都是输入,边界就模糊得多。有研究者提出,在 Agent 的感知层和决策层之间加一个多 Agent 防御框架,把感知与决策分开,动态评估视觉输入的可信度,减少被误导性视觉信号带偏的行为。
红心实验抛出的问题没有简单答案。那颗心形图标对大多数任务场景来说确实无关,但「确实无关」和「确实不产生影响」,已经不再是同一件事。