打开网易新闻 查看精彩图片

代码大模型会写代码,这件事已经不新鲜了。

真正新的问题是:它会不会在写之前先想清楚,这段代码一旦进入真实系统,会发生什么?

这个问题在工业场景里尤其关键。因为工业代码和普通编程不一样,它不是 “语法通顺、功能差不多” 就算过关,而是要面对真实硬件、真实工具链和真实约束。一个 Verilog 模块可能语法没问题,却在仿真或综合阶段直接失败;一个 CUDA kernel 可能逻辑上说得通,却在 grid 配置、索引映射或显存约束上出错;⼀个嵌入式程序也可能因为寄存器顺序或中断逻辑不对,根本跑不起来。

所以,工业代码大模型真正缺的,往往不是 “写” 的能力,而是 “想” 的能力。

最近,北航联合多家单位提出的InCoder-32B Thinking,瞄准的正是这个问题。它不是简单把代码模型再做大,也不是只给模型加⼀层通用的长链推理,而是试图让模型学会:在工业环境里,代码为什么会错,错了之后环境会给出什么反馈,下⼀步又该怎么改。

一、它不是普通的 thinking model

而是面向工业代码的 thinking model

打开网易新闻 查看精彩图片

这几年,thinking model 很火。大家已经习惯了让模型 “先想⼀想,再回答”。

但工业代码场景有个特殊问题:很多时候,单靠语言层面的思考并不够。因为工业任务的难点,不只是逻辑推理,还包括对工具链行为、硬件约束和执行反馈的理解。你可以在纸面上分析很多步,但如果根本不知道 GPU 的 shared memory 限制,不知道 Verilog 综合器如何报错,不知道几何建模中的非法结构意味着什么,再长的 reasoning 也可能是空转。

InCoder-32B Thinking 的不同之处,就在于它不是把 “思考” 当作纯文本技巧,而是直接建立在工业环境之上。它试图让模型的 reasoning,天然绑定真实执行反馈,而不是脱离系统的 “自洽解释”。

换句话说,它不是⼀个 “更会说” 的模型,而是⼀个 “更接近工程实际” 的 thinking model。

二、真正的新意

是让模型从 “报错 — 修复” 里学会思考

打开网易新闻 查看精彩图片

InCoder-32B Thinking 的核心设计之一,是Error-driven Chain-of-Thought(ECoT)。

它的关键点在于:模型的 thinking,不是人为写出来的,而是从一轮轮 “生成 — 执行 — 报错 — 修复” 的过程中提炼出来的。模型学习的,不只是最终答案,而是工程师如何一步步定位问题、修复错误、再验证结果。

这在工业代码中尤为重要。因为很多问题并不是 “不会写”,而是 “哪⾥写错了”。比如 GPU kernel 越界,本质可能是 shape 和索引映射不一致;RTL 编译失败,可能是端口声明或位宽不规范。

ECoT 做的事情,就是把这些真实失败和修复过程中的 reasoning 保留下来,让模型学会从错误中思考,而不是只记住正确答案。

三、让模型先 “预判结果”

再去写代码

打开网易新闻 查看精彩图片

如果说 ECoT 让模型学会 “如何改错”,那么另⼀个关键设计 Industrial Code World Model(ICWM),则让模型学会 “提前预判”。

可以把 ICWM 理解为⼀个工业代码的 “世界模拟器”:给定任务环境和候选代码,它会预测这段代码在真实工具链中的结果 —— 是通过、编译失败、运行报错,还是性能不达标,并生成相应的诊断信息。

这带来的变化很关键:模型不再只是写代码,而是开始预估代码进入真实系统后的后果。

论文显示,ICWM 在多个工业场景中的结果预测准确率达到 96.7%,多轮轨迹⼀致性达到 94.4%。这意味着,它已经能够在相当程度上替代真实执行环境,用于大规模数据生成和推理训练。

更重要的是,这也改变了训练数据的来源。

InCoder-32B Thinking 的 reasoning 数据,不是人工构造的解释,而是通过真实执行流程 “跑出来的”:任务生成 → 代码执行 → 收集报错 → 多轮修复 → 记录完整轨迹。

GPU、芯片、嵌⼊式、3D 建模等任务,都在对应的真实工具链中验证。

最终保留下来的,不只是正确答案,而是完整的错误 — 修复路径。这种数据天然包含工业系统最关键的信息:代码在真实环境中的行为反馈。

四、工业代码不是统⼀模板能解决的

它需要 “自适应思考深度”

打开网易新闻 查看精彩图片

论文还有一个很有意思的发现:不同任务的思考深度差异极大。

GPU kernel 优化的中位 thinking 长度达到19015 个字符,而 agentic coding 单步只有91 个字符,差距超过200 倍。

这说明,工业代码并不存在一个统一的 “思考模板”。有些问题需要长链路推理(比如性能优化、硬件约束),有些则适合短决策(比如多轮 agent 操作)。

InCoder-32B Thinking 学到的,不是固定长度的 CoT,而是根据任务复杂度和环境反馈,动态调整思考深度 —— 复杂问题深推理,简单问题快速决策。

这种能力,更接近真实工程师,而不是模板化的语言模型。

五、结果说明:工业代码模型的竞争

已经开始从 “会写” 转向 “会验证”

打开网易新闻 查看精彩图片

从结果来看,这条路线是有效的。

InCoder-32B Thinking 在14 个通用代码 benchmark和9 个工业代码 benchmark上进行了评测。在通用任务上保持竞争力,在工业场景中则取得显著提升,包括CAD Coder 84.0%、KernelBench L2 38.0%等指标。

更关键的是,这些提升是跨领域的 —— 芯片设计、GPU 优化、嵌入式、编译器、3D 建模都受益。

这说明它学到的,不是某个领域技巧,而是⼀种更底层的能力:

理解执行反馈 → 组织推理 → 完成修复

如果说过去大家比的是谁 “写得更像人”,那么现在,工业代码模型开始比的是谁 “更像工程师”。

开源信息

模型与代码现已开源。

Hugging Face:https://huggingface.co/Multilingual-Multimodal-NLP/IndustrialCoder

打开网易新闻 查看精彩图片

GitHub:https://github.com/CSJianYang/Industrial-Coder

当代码大模型开始不只生成代码,而是开始预测代码进入真实工业环境后的后果,工业代码智能的门槛,也就从 “会写程序” 抬高到了 “会理解系统”。