← 最新论文
💻 computer science

Predicting Program Comprehension with Foundation Models of Human Cognition

本文表明,Centaur(一种在通用心理学数据上训练的人类认知基础模型)在预测程序理解过程中的开发者行为方面,表现优于其基础模型 Llama 3.1,这表明从广泛心理学实验中学习到的认知规律可以有效地迁移到复杂的软件工程任务中。

原作者: Yannick Lehmen, Marvin Wyrich, Anna-Maria Maurer, Norman Peitek, Marvin Wyrich

发布于 2026-07-14
📖 1 分钟阅读☕ 轻松阅读

原作者: Yannick Lehmen, Marvin Wyrich, Anna-Maria Maurer, Norman Peitek, Marvin Wyrich

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你正试图猜测一位朋友在对话中接下来会说什么。你可以尝试背诵他们曾经进行过的每一场对话,或者你可以尝试理解人类思考、交谈和反应的一般规则。几十年来,试图预测软件开发人员如何理解代码的研究人员一直困在第一种阵营中:他们构建了针对特定任务的微型、特定模型,或者试图通过计算句子中逗号的数量来衡量代码的“复杂度”。但这些方法就像是试图仅通过观察演员鞋子的颜色来预测一整部电影——它们要么无法规模化,要么与现实情况匹配得并不好。

引入一个来自心理学领域的新想法。与其构建一个仅仅针对编程的模型,不如想一想:如果我们用人类在所有各种情境下的行为数据来训练一个模型,会怎样?这正是该论文中的研究人员所做的。他们使用了一个名为 Centaur 的超级智能 AI,该 AI 在来自 160 个不同心理学实验(如记忆游戏和决策谜题)的数据上进行了训练,并提出了一个大问题:这个“通用人类大脑模拟器”能否理解开发人员是如何阅读代码的,即便它在训练期间从未见过一行代码?

重大发现
论文给出的答案是一个响亮的“可以”。当研究人员使用涉及真实开发人员阅读代码的 9 项研究 对 Centaur 进行测试时,Centaur 预测人类反应的表现远优于其“父模型” Llama 3.1(后者未经过这些心理学实验的训练)。事实上,在所有的实验中,Centaur 的预测都明显更接近人类行为。你可以这样理解:Llama 3.1 是一位博学多才的学生,掌握了大量事实,但还没学会人类究竟是如何思考的。而 Centaur 是同一位学生,但在修完一学期的“人类行为学 1 基础”后,它突然理解了人们在面对全新学科(如编程)时会如何反应。

它“不是”什么
这里是最重要的部分:论文明确排除了几种可能性。

  1. 它不仅仅是在猜测答案。 研究人员曾担心 Centaur 可能会因为在训练中见过很多常见的答案(如“是”或“否”)而擅长猜测这些答案。但他们证明了这一点是错误的。当他们移除了代码和任务指令后,Centarant 并没有仅仅依赖于“反应偏差”。它实际上变得更擅长利用代码本身任务描述来推导答案。
  2. 它不是一个神奇的水晶球。 论文谨慎地指出,这是一种“建议”和模式的“迁移”,而不是一个最终解决的人类思维理论。他们发现,对于一些棘手、令人困惑的代码模式(称为“困惑原子”,Atoms of Confusion),Centaur 的表现并不如 Llama。这表明,虽然通用的思维方式有所帮助,但仍存在一些非常特定的编程特性是该模型尚未掌握的。

他们是如何测试的
为了确保万无一失,研究人员玩了一场“减法”游戏。他们向模型输入相同的代码和问题,但移除了不同的信息片段:

  • 代码: 实际的编程片段。
  • 指令: 解释要做什么的文本。
  • 历史记录: 开发人员在之前问题中的操作。

他们发现 Centaur 较少依赖于之前的回答历史(而 Llama 非常依赖这一点),更多地依赖于实际的代码和指令。这是一个巨大的线索:这意味着 Centaur 学习到了对任务更深层的理解,而不是仅仅遵循“我上次说了什么”这种模式。

数据统计
结果是用“负对数似然”(negative log likelihood)这一分数来衡量的,该分数越低越好。在所有研究中,Centaur 的平均得分为 1.63,而 Llama 3.1 的得分为 1.85。在他们观察的 9 项 研究中,有 7 项 中 Centaur 的表现显著更好。这种差异并非只是微小的偶然现象;其统计“效应量”(effect size)为 0.17,论文指出这是一个真实且可衡量的提升。

核心启示
这篇论文并不声称已经解开了开发人员思维之谜。相反,它提出了一个强大的新路径。它表明,人类理解代码的方式并不是一种奇怪、孤立的超能力;它是建立在那些帮助我们玩记忆游戏或在生活其他领域做决策的通用认知规则之上的。通过用通用的人类行为训练 AI,我们或许终于能获得一种工具,它不仅能通过计算行数,还能通过理解键盘后的那颗人类大脑,来预测开发人员会在代码中何处挣扎。这是迈向一个能够构建真正“具备人类意识”的软件工具的未来的一步,而这种意识是植根于人类实际思考方式的科学之中的。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →