![]()
代碼大模型會寫代碼,這件事已經不新鮮了。
真正新的問題是:它會不會在寫之前先想清楚,這段代碼一旦進入真實系統,會發生什么?
這個問題在工業場景里尤其關鍵。因為工業代碼和普通編程不一樣,它不是 “語法通順、功能差不多” 就算過關,而是要面對真實硬件、真實工具鏈和真實約束。一個 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
當代碼大模型開始不只生成代碼,而是開始預測代碼進入真實工業環境后的后果,工業代碼智能的門檻,也就從 “會寫程序” 抬高到了 “會理解系統”。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.