代码竟成AI推理“新宠”?DeepSeek团队提出CodeI/O方法:另辟蹊径,解锁通用AI推理能力!
大家有没有感觉,AI在某些“窄技能”上表现惊艳,比如做数学题、写代码,但在更广泛的推理任务上,就有点力不从心了?就像咱平时说的,有点“偏科”啊!
这是为啥呢?研究人员发现,问题就出在训练数据上!像数学、代码生成这种任务,数据管够,模型学得就好。但像逻辑推理、科学推断、符号推理这些更通用的推理任务,训练数据就稀少且碎片化,模型自然就“吃不饱”
那咋办呢?难道通用AI推理能力提升就卡在这儿了?
来自DeepSeek团队 的大神们最近发表了一篇论文,提出了一种名为 CodeI/O 的新方法,简直是另辟蹊径,让人眼前一亮!

我们一起来扒一扒这篇论文
CodeI/O 的核心思想简单来说就是:把代码变成AI推理的“养料”!🌿
你可能会问,代码和推理有啥关系? 关系可大了!
研究人员发现,真实世界的代码程序,其实蕴含着丰富的推理模式! 想想我们写代码的过程:
-
• 逻辑流程规划:先想好程序的大框架,一步步实现功能
-
• 状态空间搜索:调试bug,尝试不同的解决方案
-
• 决策树遍历:if-else,各种条件判断
-
• 模块化分解:把复杂问题拆成小模块,逐个击破
这些不都是 通用的推理能力吗? 只不过,这些推理模式隐藏在代码的语法和细节之中,之前的AI模型很难直接学到
CodeI/O 的巧妙之处 就在于,它把原始代码 转化成了一种 “代码输入-输出预测” 的格式。 就像下面这样:
-
• 输入:一段代码 (函数) + 测试用例的输入
-
• 输出:这段代码在给定输入下的执行结果 (输出)
更绝的是,CodeI/O 还要求模型用 自然语言的 “思维链 (Chain-of-Thought, CoT)” 来预测这个输入和输出! 这就像让模型用人类的语言,一步步解释代码的推理过程

这样做有啥好处呢?
-
1. 提取通用推理模式: 通过预测代码的输入输出,并用CoT解释,模型就能学到代码中蕴含的 通用推理“原语”,比如逻辑流程、状态搜索等等,而且 摆脱了代码语法的束缚
-
2. 数据丰富且可扩展: 代码资源遍地都是!CodeI/O 可以从各种代码库中大规模收集数据,而且很容易 生成新的输入-输出对,训练数据管够!
-
3. 保真且可验证: 代码是可以执行的!我们可以 验证模型的预测是否正确 ,甚至可以 让模型进行多轮修正 (CodeI/O++),进一步提升推理能力
实验效果如何呢?
研究人员在 14个不同的推理 benchmark 上进行了测试,包括符号推理、科学推理、逻辑推理、数学推理、常识推理等等。 结果令人惊喜! 🎉
-
• 效果全面提升: CodeI/O 在 各种推理任务 上都取得了 一致的提升,不像其他方法可能只在特定任务上有效
-
• 超越强大基线: 即使和一些现有的优秀数据集 (如OpenMathInstruct2, OpenCoder-SFT-Stage1, WebInstruct) 相比,CodeI/O 也 更胜一筹
-
• 模型能力更均衡: CodeI/O 不会像某些方法那样,只提升模型在少数任务上的表现,反而导致其他任务下降,而是 全面均衡地提升模型的推理能力

写在最后:
CodeI/O 就像是给AI模型找到了一种新的“学习方法”:
-
• 不刷题,改“读代码”: 从海量代码中学习通用的推理模式,而不是死记硬背题目的答案
-
• 从“术”到“道”: 摆脱代码语法的束缚,学习更本质的推理“原语”
-
• 数据自给自足: 代码数据取之不尽,用之不竭,训练数据不再是瓶颈
参考:
https://arxiv.org/pdf/2502.07316
⭐
(文:AI寒武纪)