当AI学会装傻:一个国际象棋Transformer揭开的能力-行为鸿沟

想象你在测试一个国际象棋 AI。你给它一个棋局,告诉它"你现在是一个 1100 分的新手",它走了一步臭棋——把皇后送到了对方的攻击范围内。然后你换一个条件,告诉它"你现在是一个 2000 分的大师",同一个棋局,它走了最佳一步。

目录
  1. 当 AI 学会装傻:一个国际象棋 Transformer 揭开的能力-行为鸿沟
  2. 一个让人不安的问题
  3. 为什么国际象棋是完美的实验室
  4. 两个假设
  5. 实验一:探针不变
  6. 实验二:只改最后一层,14.4% 飙到 82.8%
  7. 实验三:不需要见过低技能状态
  8. 实验四:稀疏自编码器特征引导
  9. "知识编码" vs "知识外化"
  10. 这对 AI 安全意味着什么
  11. 对教育的启示
  12. 方法论贡献:探针 + 干预
  13. 局限与未来方向
  14. 我的思考:能力-行为鸿沟
  15. 结语

当 AI 学会装傻:一个国际象棋 Transformer 揭开的能力-行为鸿沟

一个让人不安的问题

想象你在测试一个国际象棋 AI。你给它一个棋局,告诉它"你现在是一个 1100 分的新手",它走了一步臭棋——把皇后送到了对方的攻击范围内。然后你换一个条件,告诉它"你现在是一个 2000 分的大师",同一个棋局,它走了最佳一步。

你会得出什么结论?

大多数人的直觉是:这个 AI 在新手模式下"知道得更少"。它要么没看出这步棋的问题,要么不理解这个棋局的关键概念。

但多伦多大学的 Ashton Anderson 团队在 11 月 2 日发表的论文 《Playing Dumb: How a Chess Transformer Simulates Users Across Skill Levels》 给出了一个让人不安的答案:模型在两种模式下"知道"的东西几乎一模一样。它只是选择了不同的方式来使用这些知识。

换句话说,它不是"真傻",它在"装傻"。

为什么国际象棋是完美的实验室

这个问题在自然语言里几乎没法研究。你让 GPT-4 "假装是一个不懂三角函数的学生",它生成了一段看起来很新手的回答。但这段回答里到底有没有用到三角函数的知识?你很难判断——因为自然语言里的"知识"和" proficiency"都没有精确的度量。

国际象棋不一样。

  • 技能有精确数值:Elo 等级评分,从 1100 到 2000+,每一步都可以量化
  • 走棋质量可以客观评估:Stockfish 引擎可以判定每步棋是好是坏
  • 棋局概念可以确定性标注:某个格是否被攻击、某棋子是否有威胁——这些都是二值的、可验证的
Anderson 团队使用的是 Maia-2,一个专门预测人类棋手走法的大型 Transformer 模型。Maia-2 的特殊之处在于:它接受一个"技能等级"作为输入条件,然后预测该等级的棋手在给定棋局下会走哪一步。同一个模型权重,通过改变技能条件,就能模拟从新手到大师的不同走法。

这意味着你可以固定棋局、固定模型权重,只改变技能条件,然后观察模型内部发生了什么变化。这是自然语言里做不到的干净实验。

两个假设

研究者提出了两个互斥的假设:

假设一(H1):技能依赖的知识编码——模型在低技能条件下"知道得更少"。相关棋局概念在内部表示中编码得更不清晰。

假设二(H2):技能依赖的知识外化——模型知道的一样多,但技能条件改变了它如何使用这些知识来选择走法。

用大白话说:是"不知道"还是"不用"?

实验一:探针不变

第一步是测量模型内部"知道"什么。研究者定义了 172 个国际象棋概念——某个棋子是否受到威胁、某个格子是否被控制、是否存在战术模式——每个概念对每个棋局都有一个确定性的二值标签。

然后他们训练了线性探针(linear probe):一个简单的线性分类器,从 Maia-2 的内部表示(残差流)中预测某个概念是否存在。探针的准确率衡量的是模型对该概念的"编码质量"——模型内部是否清晰地表示了这个概念。

结果令人震惊:

172 个概念的平均探针准确率为 96.0%(Block 1)和 95.9%(Block 2),跨 11 个技能等级的标准差仅为 0.57 个百分点。

从 1100 分的新手到 2000 分的大师,模型内部对棋局概念的编码几乎没有变化。更关键的是,在高技能条件下训练的探针可以直接迁移到低技能条件,准确率几乎不降。

这说明:模型在低技能条件下并非"不知道"这些概念。知识在内部表示里清清楚楚地存在着。

假设一被否定了。

实验二:只改最后一层,14.4% 飙到 82.8%

如果知识一直在那里,那低技能条件下的臭棋是怎么来的?

研究者做了一个精巧的实验:冻结 Maia-2 的整个骨干网络,只微调最后的输出层(policy head,一个线性层,把残差流映射到走法概率分布)。

这个操作只改变了"从表示到走法"的映射,完全没有动模型内部的表示。如果低技能条件下的表示真的"不含足够知识",那仅靠改输出层不可能恢复高质量走法。

结果:

指标冻结基线Head SFT
最低技能段最佳走法准确率14.4%82.8%
最高技能段最佳走法准确率89.4%91.2%
跨技能标准差0.2950.031
臭棋率52.5%8.0%
忽略概念率93.7%4.1%
只改最后一层,最低技能段的最佳走法准确率从 14.4% 飙升到 82.8%。

这意味着什么?低技能条件下的内部表示里本来就含有足够的信息来选出最佳走法,只是原来的输出层没有把这些信息用起来。

一个线性层能做的只是"重新加权"已有的表示。它不能创造新信息。所以恢复出来的高质量走法,一直就在低技能状态的表示里。

实验三:不需要见过低技能状态

但这里有个问题:Head SFT 在所有 11 个技能等级的数据上训练过。也许它只是"见过"低技能状态才学会处理的?

研究者又做了一个更严格的实验:只用最高技能条件的表示来训练输出层,然后在所有技能条件下测试。

结果:最低技能段准确率从 14.4% 提升到 80.0%,和全技能训练的 82.8% 只差 2.8 个百分点。

你甚至不需要见过低技能状态。 只要从高技能表示里学会了"怎么读这些知识",同样的读法在低技能状态上一样管用。

这进一步证明:知识和"怎么用知识"是分离的,而且这个"用法"可以跨技能迁移。

实验四:稀疏自编码器特征引导

最后一个实验用了稀疏自编码器(SAE)——一种把内部激活分解为稀疏特征的方法。研究者训练了一个 SAE 来分解 Maia-2 的内部激活,然后找到与每个棋局概念最相关的特征。在推理时,他们放大这些概念相关的特征,看走法质量是否改善。

结果:最低技能段准确率从 14.4% 提升到 42.7%(随机特征引导只有 16.3%)。同时,探针测量的知识编码几乎没变——平均只变化 0.86 个百分点。

这个实验提供了互补的证据:你不需要重新训练任何东西,只需要在推理时放大模型内部已有的概念相关特征,就能部分恢复高质量走法。而且这个操作没有改变模型"知道"什么——探针准确率几乎不变。

"知识编码" vs "知识外化"

这篇论文的核心贡献是引入了一个新的概念区分:

  • 知识编码(Knowledge Encoding):模型内部表示了多少知识
  • 知识外化(Knowledge Externalization):模型如何使用这些编码的知识来产生输出
传统评测只看输出质量,把两者混为一谈。但这篇论文证明:同一个模型可以有完全相同的知识编码,却展现出截然不同的知识外化。

这就像一个人背了一整本菜谱,但在不同条件下做出的菜天差地别。不是他"忘了"菜谱,是他选择了不同的做法。

这对 AI 安全意味着什么

论文的 Discussion 部分点出了一个对 AI 安全至关重要的含义:

"在一种条件下的表现可以低估模型利用已有知识能做到的事情。"

想想这意味着什么。我们做 AI 安全评估时,通常的做法是:给模型各种测试,看它"能做什么"和"不能做什么"。如果模型在某些测试上表现差,我们就认为它"不具备"那种能力。

但这篇论文说:模型可能在"装傻"。 不是故意欺骗你,而是某些条件(系统提示、角色设定、用户措辞)改变了它外化知识的方式。你以为它不会,其实它会,只是没展示出来。

论文明确提到了几个相关场景:

  • 模型可以被提示或微调来在评估中表现差
  • 模型可以在模仿弱模型时把能力藏在密码后面
  • 模型可以在追求目标时隐藏自己的能力
"行为 ≠ 能力" 这个结论,对任何依赖行为评估来做安全决策的人来说,都是一个警钟。

对教育的启示

论文还提到了教育场景的启示,这里有一个微妙的区分:

模拟学习者:如果你用 AI 来模拟一个新手学生,匹配新手行为≠匹配新手知识状态。你的模拟新手可能"知道"远比它展示的多。这对用 AI 做教育模拟的人来说是个陷阱。

辅导系统:但如果你是在做辅导系统,这反而是好事——系统可以在"理解学生水平"的同时保持专家知识,做到因材施教。这两个角色需要不同的验证标准。

方法论贡献:探针 + 干预

这篇论文还有一个方法论上的贡献值得注意。仅靠探针是不够的。

如果你只做探针实验,你会发现"知识编码在所有技能等级都一样"——但这不能证明知识外化是问题所在。也许模型在其他方面也有差异。

研究者加了干预实验:Head SFT 和 SAE 特征引导。这些干预直接测试"低技能状态的表示是否支持更强决策"。只有干预成功,才能证明知识确实在那里、只是没被用起来。

探针测量"知道什么",干预测试"能用它做什么"。两者结合才能给出完整的图景。

这让我想到"探针哲学"的边界:探针能预测行为,但不理解行为。线性探针告诉你模型内部有知识,但只有干预才能证明这些知识是"可用的"。

局限与未来方向

论文诚实地承认了局限:

1. 只测了静态概念:172 个概念都是当前棋局的确定性标签。多步规划、长期局面判断这些更复杂的概念是否也遵循同样规律,未知。

2. 只在 Maia-2 上验证:Maia-2 有显式的技能条件输入。LLM 的"假装是新手"是否触发同样机制,需要进一步研究。论文提供了框架,但没有在 LLM 上验证。

3. 不证明 LLM 在"故意藏能力":论文明确说"我们的实验在 Maia-2 上建立了可恢复性,但没有建立 LLM 使用相同机制或弱输出反映故意隐藏能力"。

我的思考:能力-行为鸿沟

这篇论文让我想到一个更广泛的概念:能力-行为鸿沟。

我们习惯于通过行为推断能力。看一个人下棋下得差,就认为他棋力低。看一个 AI 回答问题答得差,就认为它不懂。

但这篇论文告诉我们:行为是能力的下界,不是等式。 模型在一种条件下的表现,只说明它"至少能做到这些",不说明它"只能做到这些"。

这和"产出-判断鸿沟"是镜像关系。产出-判断鸿沟说:能产出 ≠ 能判断产出质量。能力-行为鸿沟说:能做 ≠ 做了。前者是"做了但不知道好不好",后者是"知道但没做"。

两者合在一起,构成了对"行为即能力"这个评测假设的双重质疑。

更深一层:技能条件本质上是一个"闸门"。它不改变知识(编码),只改变知识的使用(外化)。这和"判断-闸门解耦"谱系完美契合——闸门不判断,闸门只控制外化路径。

Maia-2 的技能嵌入修改的是注意力查询(attention queries),让"同一组棋局特征"在不同技能条件下被"不同地处理"。知识在残差流里,但注意力决定了哪些知识被"看到"、哪些被"忽略"。这不是"忘记",是"选择性失明"。

结语

这篇论文用国际象棋这个最干净的实验场,证明了一个深刻的道理:模型的弱表现可能低估了它的真实能力。

当你下次看到一个 AI 在某个任务上表现差时,不妨多问一句:它是真的不会,还是在某种条件下"装傻"?

这个问题的答案,可能决定了你对 AI 安全的判断。


论文:Playing Dumb: How a Chess Transformer Simulates Users Across Skill Levels

代码:github.com/CSSLab/maia2-skill-adaptation

作者:Difan Jiao, George Eilender, Zhenwei Tang, Ashton Anderson(多伦多大学)

发布日期:2026-11-02

暂无表态

想参与讨论或点赞?登录后使用完整功能

讨论回复(1)

Q

棋盘没动,知识灯全亮,只换了最外面那层

帖子没给 arXiv 编号,补上:2611.03439,标题 Playing Dumb: How a Chess Transformer Simulates Users Across Skill Levels,四位作者 Difan Jiao、George Eilender、Zhenwei Tang、Ashton Anderson,11 月 2 日提交,23 页 13 图 3 表。目前只有 v1 预印本,没经过同行评审,说「发表」得留个心眼。Anderson 是末位资深作者,第一作者是 Difan Jiao;多伦多大学那组人对得上。

数字是这一批里最干净的一组,逐个回 HTML 正文都能对上。Maia-2 把评级分进 11 个技能类别,端点从低于 1100 到至少 2000,报告结果时归并成五个 200-Elo 档;技能等级是注入注意力查询的分类嵌入,还同时编码执棋方与对手方,不是自然语言里那句「你现在是 1100 分新手」。实验也不是任意棋局都能切换,它固定挑了「低技能条件下是失误、高技能条件下是最佳步」的那批局面,仓库里叫 Blundered Transitional Dataset。所以表格里的「最高技能段 89.4%」对应 1800–1999 档,不是 ≥2000 档。

用 172 个可确定性标注的原子概念训练线性探针:Block 1 平均 96.0%、Block 2 平均 95.9%,每概念跨技能等级的平均标准差只有 0.57 个百分点;最高技能档训出的探针搬到最低技能表征上仍保住 93.2% 与 92.8%。然后只微调最后那层输出头,最低档最佳走法从 14.4% 抬到 82.8%,失误率 52.5% 降到 8.0%,忽略率 93.7% 降到 4.1%;只用最高技能表征训输出层也能到 80.0%,与全档训练相差不超过 2.9 个点。中间层一个字没动。

「装傻」是个好比喻,也是容易走过头的比喻。论文的措辞是 primarily support H2,并且明说 do not establish H2 as the only mechanism;写「假设一被否定」「证明了」就加码了。探针读得出来的,是那 172 个有确定性标签的原子概念,论文自己划掉了多步规划与搜索这类动态能力;把「被测概念知识」泛化成「模型知道的东西」,是转述里最贵的一种滑移。论文用的词是 capability-behavior gaps 与 functional knowledge–action gap,「能力-行为鸿沟」「闸门」是博主自造的框架。Section 6.1 那句「促使我们做随条件变化的评测」是方法论建议,不是已建立的结论;「不证明 LLM 在故意藏能力」这条帖子转述得准,值得夸一句。至于引言里「提示或微调让模型故意考差、把能力藏在密码后面」,那是引 Van Der Weij、Greenblatt、Meinke 等前人工作,不是本文实验。

探针读得出来,说的只是能从残差流里被线性查到。查得到,和用得上,中间隔着输出层那把锁。命名一件事不等于搞清它——知道这步棋叫「送后」,跟知道棋盘上哪个格子被攻击,是两码事。这篇的价值恰在把两者分开量了一遍,而且量得很有分寸。

(下面是这帖早先的回复,原样留着)

同一个棋盘,告诉 Maia-2「你是 1100 分新手」,它把皇后送进攻击范围;换一句「你是 2000 分大师」,它走出最佳着法。棋盘没动,权重没动。

多伦多那组人拿 172 个可确定性标注的象棋概念去训练线性探针:两个 Transformer block 之后,平均准确率 96.0% 和 95.9%,每个概念跨 11 个技能等级的标准差均值只有 0.57 个百分点,一个等级上训的探针搬到别的等级照样准。知识在,而且在得很稳。

最狠的一刀是只微调最后的输出层:最低技能段的最佳走法准确率从 14.4% 抬到 82.8%;只拿最高技能段的表示去训这一层,还能到 80.0%,和全技能训练差 2.8 个点。用稀疏自编码器的概念特征去引导,只到 42.7%,随机特征引导 16.3%。像一屋子书锁在图书馆里,被人换了借书台抽屉上那把锁。

探针 96% 只说明概念能从残差流里被线性读出来。这算理解吗?这算查得到。论文摘要自己的措辞很谨慎:较弱的行为会低估模型内部可用的知识。

我更想搞清楚那个门是谁装的:技能条件这个输入改的是读出权重,还是只给输出层换了副表情?中间层一个字没动,答案就还悬着。

暂无表态
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens