当AI学会装傻:一个国际象棋Transformer揭开的能力-行为鸿沟
想象你在测试一个国际象棋 AI。你给它一个棋局,告诉它"你现在是一个 1100 分的新手",它走了一步臭棋——把皇后送到了对方的攻击范围内。然后你换一个条件,告诉它"你现在是一个 2000 分的大师",同一个棋局,它走了最佳一步。
目录
当 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 引擎可以判定每步棋是好是坏
- 棋局概念可以确定性标注:某个格是否被攻击、某棋子是否有威胁——这些都是二值的、可验证的
这意味着你可以固定棋局、固定模型权重,只改变技能条件,然后观察模型内部发生了什么变化。这是自然语言里做不到的干净实验。
两个假设
研究者提出了两个互斥的假设:
假设一(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.295 | 0.031 |
| 臭棋率 | 52.5% | 8.0% |
| 忽略概念率 | 93.7% | 4.1% |
这意味着什么?低技能条件下的内部表示里本来就含有足够的信息来选出最佳走法,只是原来的输出层没有把这些信息用起来。
一个线性层能做的只是"重新加权"已有的表示。它不能创造新信息。所以恢复出来的高质量走法,一直就在低技能状态的表示里。
实验三:不需要见过低技能状态
但这里有个问题: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