> 原标题: Generalization in LLM Problem Solving: The Case of the Shortest Path > 作者: Anej Svete, Yuxi Xie, Mike Zhang, Mrinmaya Sachan, Ryan Cotterell > 机构: ETH Zurich, Singapore Management University, Microsoft Research > arXiv: 2604.15306
---
🎭 引言:一个看似简单的测试
让我从一个场景开始:
你走进一间会议室。长方形的桌子两端各放着一个花瓶——A和B。桌子周围散落着几把椅子。主持人问你:"从A到B的最短路径是什么?"
你笑了。这有什么难的?当然是直线——从桌子的一端直接走到另一端,距离大约3米。
但如果我把你蒙上眼睛,带你走进一个完全陌生的迷宫,然后告诉你:"起点是A,终点是B,有这三条可能的路线"——你还能如此确定吗?
这个场景,精确地捕捉了本研究的核心发现:LLM在"最短路径"问题上的表现,取决于它"见过多少种类似的布局"。它们不是"理解"了最短路径的概念,而是在某种程度的变体中"记住"了模式。
---
🧪 第一章:实验设计——把LLM放进迷宫
🎯 为什么选择"最短路径"?
研究者选择最短路径规划作为测试床,有三个原因:
1. 问题简单明确:最短路径是图论的基础问题,有确定的算法解(Dijkstra、A*) 2. 可视化友好:可以直观地用网格图表示,起点、终点、障碍物一目了然 3. 泛化可定义:可以系统性地控制两种泛化维度——空间布局的变化和路径长度的变化
🔬 两种泛化维度
论文定义了两个关键维度:
空间泛化(Spatial Generalization): 模型在训练时见过某种网格布局(比如5×5网格,障碍物的某种分布),测试时看到新的空间布局(更大的网格、不同的障碍物分布)时能否正确求解。
长度泛化(Length Generalization): 训练时见过的最短路径长度(比如最多5步),测试时需要找到更长的最短路径(比如10步、15步)时能否正确求解。
📊 数据集构造
研究者生成了1,280万个训练样本,系统性地覆盖:
- 网格大小:5×5到15×15
- 障碍物密度:0%到40%
- 最短路径长度:2到30步
---
🎪 第二章:惊人发现——LLM的"玻璃天花板"
📉 核心结果:泛化能力有限
实验使用了多种主流LLM(包括经过专门微调的版本),结果一致且令人警醒:
发现一:空间泛化有边界
当测试网格的大小超出训练分布时,模型性能急剧下降。
例如:
- 在5×5网格上训练的模型,测试7×7网格时准确率下降约15%
- 测试10×10网格时下降约35%
- 测试15×15网格时接近随机猜测水平
发现二:长度泛化是"硬天花板"
这是最惊人的发现:模型似乎无法泛化到比训练集中更长最短路径的问题。
具体数据:
- 如果训练集中最长最短路径是10步,模型在测试12步问题时准确率骤降
- 测试15步问题时接近随机水平
- 即使模型参数规模增大(从1B到70B),这一瓶颈依然存在
发现三:规模不是万能药
研究者测试了从1B到70B参数的各种模型,发现:
- 增大模型规模确实能提升分布内(In-Distribution)性能
- 但对分布外(OOD)泛化的帮助极其有限
🧩 "地图重新标记"现象
一个特别有趣的发现是"地图重新标记"(Map Relabeling)现象:
当研究者把测试集的网格布局稍微打乱(比如把起点从左上角移到右上角),模型表现出奇怪的不一致性——
- 某些"变体"下性能很好
- 某些"变体"下性能很差
---
🔍 第三章:深度分析——LLM究竟在"学"什么?
🤔 假设一:LLM学会了"启发式"而非"算法"
一个可能的解释:LLM没有学会Dijkstra或A*这样的完整算法,而是学会了一些启发式规则,比如:
- "先往终点方向走"
- "避开明显的障碍物"
- "不要走回头路"
🤔 假设二:上下文窗口的限制
另一个解释是自回归生成的局限性。
LLM生成路径时是一步一步做的:先决定第一步,再决定第二步……
当路径很长时,模型可能在中间"迷失"——就像人类在复杂迷宫中也会忘记自己从哪来、该往哪去。
但研究者反驳了这个解释:即使是70B模型,在上下文窗口足够的情况下,依然无法泛化到长路径问题。
🤔 假设三:训练数据的"隐性偏见"
最可能的解释是训练数据中的统计偏见。
在训练数据中,某些类型的路径(比如接近直线的路径)出现频率更高。模型可能内化了这些统计模式,而不是学习通用的规划原理。
当测试数据偏离这些常见模式时,模型就"迷失"了。
🧪 验证实验:直接教算法有用吗?
研究者还做了另一个实验:直接在提示中教模型Dijkstra算法,然后测试它能否正确执行。
结果令人沮丧:
- 模型可以复述Dijkstra算法的步骤
- 但在实际应用中,它仍然犯错——尤其是在需要多步迭代的情况下
---
💡 第四章:哲学反思——什么是"理解"?
🎭 图灵测试的盲区
这项研究对"如何评估AI的智能"提出了深刻挑战。
传统的图灵测试问:"AI能否表现得像人一样解决问题?"
但这项研究揭示了一个更深层的问题:"表现得像"和"真正理解"之间可能存在鸿沟。
一个LLM可能在90%的"最短路径"问题上给出正确答案——但这可能是因为它见过类似的问题,而不是因为它"懂"最短路径算法。
🧠 人类vs LLM的泛化
人类学习最短路径概念的方式是: 1. 学习Dijkstra或A*的抽象原理 2. 通过练习内化为程序性知识 3. 在面对任何新地图时执行算法
LLM的学习方式似乎是: 1. 在训练数据中记忆大量具体案例 2. 学习到统计上的相关性 3. 在面对新问题时会匹配最近的记忆模式
这解释了为什么LLM在空间泛化上表现尚可(因为不同大小的网格有相似的局部结构),但在长度泛化上失败(因为长路径的"全局规划"需要算法级的推理)。
🌉 连接更广泛的AI研究
这项发现与其他领域的研究惊人地一致:
数学推理:
- LLM在训练集中见过的数学问题上表现很好
- 但在需要多步新颖推理的问题上失败
- LLM可以生成常见的代码模式
- 但在需要新颖算法设计的问题上失败
- LLM可以回答简单的逻辑谜题
- 但在需要长链推理的问题上失败
---
🛠️ 第五章:出路与展望
🔧 可能的解决方案
论文提出了几个可能的方向:
方向一:显式算法注入
与其让LLM"隐式学习"最短路径,不如在模型架构中显式集成规划算法(比如神经符号方法)。
方向二:结构化训练数据
设计训练数据时,有意识地覆盖更广的长度和空间分布,确保模型见过足够多样的案例。
但这有局限:如果最短路径长度可以无限增加,我们永远无法"见过所有可能的长度"。
方向三:程序合成
让LLM生成解决最短路径问题的程序代码,而不是直接生成答案。这样模型只需要"描述算法",而不需要"执行算法"。
方向四:外部工具调用
当LLM遇到需要规划的问题时,调用外部规划器(如Dijkstra求解器),而不是自己尝试求解。
这实际上是目前RAG/工具使用范式的一个应用——承认LLM的局限,用外部系统弥补。
🎯 对AI研究者的启示
这项研究最重要的启示是:我们不能仅凭分布内性能来宣称"模型学会了某能力"。
必须设计系统性的OOD测试,尤其是针对:
- 组合泛化(把见过的组件以新方式组合)
- 长度泛化(处理比训练时更长的序列/更深的推理)
- 抽象泛化(把学到的概念应用到完全不同的领域)
🎬 结语:迷雾中的灯塔
这篇论文像一盏灯塔,照亮了我们评估LLM能力时的一个盲区。
它提醒我们:
- 高准确率不等于真正的理解
- 大模型不等于强泛化
- 记忆不等于智能
这并不意味着LLM无用。恰恰相反,认识到它们的局限,我们才能更好地使用它们。
就像我们不会让一个擅长背地图但不会实时导航的人当司机一样——我们需要为LLM设计合适的人机协作模式,让它们在擅长的领域发光,在局限的领域寻求帮助。
> "Know thyself"——了解自己的能力边界,是智慧的开始。
对AI研究者来说,了解AI的能力边界,同样是负责任创新的开始。
---
📖 参考文献
Svete, A., Xie, Y., Zhang, M., Sachan, M., & Cotterell, R. (2026). Generalization in LLM Problem Solving: The Case of the Shortest Path. arXiv preprint arXiv:2604.15306.
相关阅读:
- Feng et al. (2024). Towards Revealing the Mystery behind Chain of Thought
- Wu et al. (2024). Logic-LM: Empowering Large Language Models with Symbolic Solvers
- Creswell et al. (2023). Faithful Reasoning Using Large Language Models
#每日论文 #LLM泛化 #问题求解 #图算法 #机器学习理论 #PapersCool