AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com

该论文的第一作者是清华大学计算机系研究生温佳鑫,蚂蚁技术研究院副研究员关健为共同第一作者。

大模型应该以什么形式进行推理?自然语言是表示推理路径的最佳方案吗?

2024 年 9 月,OpenAI 携 o1 模型吹响推理革命的号角,以惊人的思维链长度刷新认知边界。在这场技术革命中,中国力量迅速崛起:DeepSeek R1 以极低的训练成本成功复现 o1 性能,引发全球热议。然而,在振奋的结果背后,上述「灵魂拷问」似乎并没有得到解答。

事实上,在这场推理大潮来临之前,本文研究团队就一直在围绕这些问题进行思考和探讨。自然语言形式的推理范式虽然从思维链开始就主导了推理模型的构建,其本身却存在着不可忽视的缺陷:推理过程中常见逻辑断裂、焦点漂移、冗余重复等系统性问题。这就像一名博学却缺乏系统训练的学生,知识有余而逻辑不足。

研究团队认为这些问题源自自然语言的双面性:表达自由灵活,却难以传递严谨的结构化思维。更本质的挑战在于:文本中蕴含的推理结构往往被埋藏在自然语言冗余的表达形式之下。这些隐含的逻辑模式难以被模型有效捕捉和复用。对于参数量较小的模型而言,这一困境更为严峻。

为应对这一困境,研究团队在 ICLR 2025 上提出了 CodePlan 方法。这一创新框架将「代码形式的规划」(Code-Form Planning)引入推理过程,让大模型先用「编程思维」来思考,再用自然语言来表达

得益于编程语言的严谨特性,代码规划能够精确构建包含条件分支、循环迭代、函数调用等结构的推理蓝图,就像为大模型装上了一个逻辑严密的「操作系统」。更有趣的是,由于编程语言存在海量的数据,这种方法无需繁重的人工标注,能够自动从已有数据中提取隐含的规划信号;并且由于已有代码覆盖了各个领域的问题,CodePlan 除了解决复杂推理问题外,还可以很好地泛化到其它任务上。

在 13 个具有挑战性的基准测试中,CodePlan 实现了平均 25.1% 的相对性能提升。目前,研究团队已开源了 200 万条包含代码形式规划的推理数据,以期推动这一方向的研究。



  • 论文标题:CodePlan: Unlocking Reasoning Potential in Large Language Models by Scaling Code-form Planning
  • 论文地址:https://arxiv.org/pdf/2409.12452
  • Github: https://github.com/thu-coai/CodePlan
  • Dataset: https://huggingface.co/datasets/jiaxin-wen/CodePlan

一. 推理能力的阿喀琉斯之踵

在大模型推理能力突飞猛进的表象之下,隐藏着一个被忽视的现象:随着研究者不断追逐更大的参数规模、更庞大的数据量,模型的「思维熵增」现象反而愈发严重。这种反常现象主要表现在两个方面:一是推理过度膨胀,即便是回答 「2+3=?」这样的简单问题,o1 模型也会生成长达 200 多个 token 的冗长思维链;二是推理不够专注,在解决复杂问题时频繁跳跃于不同思路之间,却始终无法深入任何一个方向得出正确答案。

这一现象暴露出当前技术路线中一个根本性矛盾:自然语言固有的非结构化特性,与系统化推理所需的严谨规划框架之间存在着难以调和的冲突

深入分析这一现象,研究团队发现现有的推理模型主要依赖两个步骤:首先通过自然语言形式随机探索生成海量的推理路径,然后借助强化学习算法从中筛选优质轨迹。这种方法虽然拓宽了推理的探索空间,却像在茫茫沙漠中漫无目的地搜寻绿洲,缺乏有效的导航机制必然导致效率低下。更为致命的是,这种基于自然语言的自由推理方式难以沉淀出可复用的结构化知识,导致模型每次面对新问题时都需要从零开始探索。

因此,现有方法虽然培养了模型强大的直觉能力,却忽视了人类思维最本质的特征 —— 通过高层规划将零散知识系统化的能力。

CodePlan 在 5 类核心推理任务上取得显著提升。Vaniila: 不使用规划的基线方法;Natural Language Plan:基于自然语言的规划方法。



二. CodePlan:为大模型装载结构化思维引擎

面对大模型推理能力的瓶颈,研究团队提出了 CodePlan 框架,其核心创新在于引入「代码形式规划」(Code-Form Planning)作为思维的中间表征。

这一创新建立在对推理结构的精确表达之上。通过将编程语言的严谨结构引入推理过程,CodePlan 为大模型构建了一个可靠的「思维操作系统」。这个系统通过两个层次来实现思维的结构化:先用 Python 风格的伪代码勾勒出高层次的推理框架;再基于这个框架,系统性地展开具体推理步骤。

如下图所示,这种基于代码的表达方式具有四大核心优势:

  1. 条件分支能力:通过 if 语句动态调整推理路径,实现灵活的上下文适应;
  2. 循环迭代结构:利用 for 循环高效处理序列数据和重复操作;
  3. 模块化工具:通过函数定义和调用,增强模型对工具的创建和使用能力;
  4. 层次化架构:通过变量定义、子任务分解和严谨的逻辑编排,支持复杂推理任务的模块化分解。



相比传统的自然语言规划,CodePlan 的优势突出。Python 代码不仅能够以更简洁的方式传递规划信息,而且这种表达方式在预训练语料中分布更广,使模型在训练阶段就已经建立起对代码结构的深层理解。

这种与生俱来的「代码素养」让模型能够更自然地生成和理解规划信息,大大降低了学习成本。更重要的是,这种规划方式展现出惊人的通用性——从数学推理到指令理解,从符号运算到开放式问题,都能构建出清晰的代码形式规划表示。

三. 广泛提升模型推理能力

为验证 CodePlan 的效果,研究团队构建了一套高效的规划信息自动挖掘方法。如下图所示,该方法包含两个关键创新:首先通过代码预训练模型精准解析文本中潜藏的推理结构,将其转化为显式的伪代码表示;其次设计了基于启发式评分的动态过滤机制,确保所提取规划的质量。

基于这一方法,团队成功构建了一个包含 200 万个「< 用户提示,代码规划,回复 >」三元组的大规模数据集



训练数据构建流程。

实验结果令人振奋。研究团队以 Mistral 和 Llama 为基座模型,在跨越数学推理、符号运算、指令理解、多跳问答和决策等五大领域的 13 个具有挑战性的基准测试中进行了系统评估。

结果显示,相比于直接从用户指令生成推理步骤的基线方法(Vanilla)和使用自然语言形式规划的传统方法(PS Prompting),CodePlan 在所有任务上都实现了显著提升。特别是在复杂度较高的任务上,性能提升更为明显。例如,在 Last Letter 任务上,Mistral-7B 的准确率提升了超过 20 个百分点,展示出 CodePlan 在处理高难度推理问题时的独特优势。





1. 任务越复杂,提升越显著

深入分析实验结果揭示了 CodePlan 一个令人瞩目的特性:随着任务复杂度的提升,其性能优势愈发显著。研究团队以多跳问答任务为例进行了精细化分析,通过将数据集按推理步数(2 跳、3 跳、4 跳)划分,清晰地展示了这一规律。



多跳问答任务的性能对比。

如上图所示,在相对简单的 2 跳问题上,CodePlan 相比基线模型已有稳定提升;而在需要三次以上推理跳转的复杂问题中,性能差距急剧扩大。特别是在最具挑战性的 4 跳问题上,CodePlan 的优势达到最大,这充分说明其在处理深层次推理时的卓越能力。

这种「难者愈强」的特性,正是源于 CodePlan 的结构化推理框架。通过将复杂推理过程分解为清晰的代码步骤,模型能够更好地把控长程依赖关系,避免了传统方法在多步推理中常见的逻辑断裂和注意力发散问题。

2. 更高效、更稳定的后训练

研究团队在探索 CodePlan 的训练特性时,发现了另一个重要优势:它为大模型的后训练提供了一条更高效、更可靠的路径。

CodePlan 的训练曲线。



如上图所示,在 GSM8K 数学推理和 MuSiQue 多跳问答这两个具有代表性的任务上,CodePlan 展现出显著的训练优势。传统的后训练方法(蓝线)在训练过程中表现出明显的性能波动。相比之下,CodePlan(橙线)不仅实现了更快的性能提升,更重要的是保持了稳定的上升趋势。

这一现象揭示了 CodePlan 的核心优势:通过引入结构化的代码规划作为中间表示,它成功建立了一个更加普适的学习框架。这个框架能够有效降低不同任务之间的表达差异,使得模型可以更专注于学习本质的推理模式,从而实现知识的高效迁移和稳定积累。这不仅提高了训练效率,更为大模型能力的持续进化提供了可靠保障。

3. 案例分析:化繁为简的结构化思维

让我们来看看「数值比较」(9.8 和 9.11 谁更大)和「字母计数」(统计 strawberry 中字母 r 的出现次数)这两个看似简单,却常常难倒模型的问题。



如上表所示,CodePlan 通过引入代码形式的规划,优雅地解决了这些问题。与之形成鲜明对比的是,没有规划辅助的模型往往给出模糊或错误的答案。它们要么直接下结论,要么陷入冗长却不准确的解释中,反映出缺乏系统化思维方法的局限。

这个对比表明:CodePlan 不是简单地告诉模型「该做什么」,而是教会模型「如何思考」。通过将复杂任务分解为清晰的代码步骤,CodePlan 为模型提供了一个可靠的问题解决范式。

结语:开辟大模型结构化思维新思路

CodePlan 的提出为大模型推理能力发展提供了一个新思路。这项创新通过将代码形式规划引入推理过程,成功解决了自然语言表达中的结构化缺陷;更重要的是,它开创了一种全新的方法论,为大模型注入了系统化的问题解决能力。通过开源 200 万条规划数据,研究团队为整个社区贡献了资源。在此基础上,期待在金融、医疗等高要求场景中有更多激动人心的应用突破。

ad1 webp
ad2 webp
ad1 webp
ad2 webp