Nous Research 發佈開源編程模型 NousCoder-14B,對標 Claude Code 時刻

前言

2026 年開年以來,Anthropic 的 Claude Code 在開發者社區引發大量討論:終端裏的 Agent 能讀倉庫、改文件、跑測試、提 PR,很多人把它當作「AI 寫代碼」的新標杆。幾乎同一時期,Nous Research 研究員 Joe Li 主導的 NousCoder-14B 已在 Hugging Face 以 Apache 2.0 協議開源;到了 2026 年 8 月初,這條「開源權重 + 可復現 RL 訓練棧」路線在 Claude Code 帶火的背景下再度被集中討論。

NousCoder-14B 並不是 Claude Code 的直接替代品。它是一條不同的路線:14B 參數、基於 Qwen3-14B 後訓練、面向競爭編程(Competitive Programming)場景,在 LiveCodeBench v6 上宣稱 Pass@1 達到 67.87%,比基座 Qwen3-14B 的 60.79% 高出 7.08 個百分點。更重要的是,Nous Research 一併開放了 Atropos 強化學習框架、訓練腳本與評測環境——這對想本地部署、自研 Coding Agent 的開發者,價值可能不亞於榜單分數本身。

本文基於 Nous Research 官方技術報告、Hugging Face 模型頁及 VentureBeat 等公開報道整理,儘量把「能覈實的事實」和「尚不能下結論的部分」分開說明。

NousCoder-14B 是什麼

NousCoder-14B 是 Nous Research 發佈的競爭編程(Olympiad Programming)專用模型,在 Alibaba 開源的 Qwen3-14B 基礎上,用可驗證獎勵的強化學習(RL with Verifiable Rewards)做後訓練。

官方給出的核心訓練配置如下:

項目 數值
基座模型 Qwen3-14B
訓練數據 約 2.4 萬道可驗證編程題
算力 48 張 Nvidia B200
訓練時長 4 天
許可證 Apache 2.0
權重託管 Hugging Face: NousResearch/NousCoder-14B

訓練數據主要來自 TACO Verified、PrimeIntellect SYNTHETIC-1,以及 2024 年 7 月 31 日前的 LiveCodeBench 題目,配方與 Agentica × Together AI 的 DeepCoder-14B 項目一致。官方強調訓練集與測試集無交叉污染。

與 Claude Code 這類產品化 Agent不同,NousCoder-14B 當前定位是單次代碼生成模型:給定題面,輸出 Python 解法,再由沙箱執行測試用例打分。它不會自動瀏覽你的 Git 倉庫,也不會像 Claude Code 那樣編排多步工具調用——這是對比兩者時必須先說清楚的邊界。

LiveCodeBench v6 與 67.87% 意味着什麼

LiveCodeBench 是面向代碼生成能力的動態評測基準,持續收錄 LeetCode、AtCoder、Codeforces 等平臺新題,避免靜態題庫帶來的數據污染。NousCoder-14B 報告使用的是 LiveCodeBench v6 測試集:454 道題,時間範圍 2024 年 8 月 1 日至 2025 年 5 月 1 日。

評測方式很「硬」:模型生成代碼 → 編譯/解釋執行 → 對隱藏測試用例逐條校驗,並受時間(≤15 秒)與內存(≤4 GB)約束。指標 Pass@1 表示「第一次生成即通過全部測試」的比例。

官方公佈的對比結果(Context Length = 81,920 tokens):

模型 Pass@1
Qwen3-14B(無 RL) 60.79%
NousCoder-14B(DAPO) 67.87%
NousCoder-14B(GSPO) 66.26%
NousCoder-14B(GSPO+) 66.52%

需要冷靜看待的幾點:

  1. 67.87% 來自 Nous Research 自述及配套技術報告,目前公開材料中未見獨立第三方復現結論。
  2. LiveCodeBench 測的是算法題單文件生成,不能等價於「能維護大型倉庫、跨文件 Debug、做 Code Review」的軟件工程能力。
  3. 最佳成績出現在約 8 萬 token 上下文的評測設置下;訓練時先用 32k,再擴到 40k,評測階段用 YaRN 擴展到 80k——上下文長度對分數影響明顯,復現時需對齊配置。

即便如此,在 14B 體量上,用 4 天 RL 把 Pass@1 拉高 7 個百分點,仍說明執行反饋驅動的後訓練在編程領域依然有效。

強化學習訓練棧:Atropos + DAPO + Modal

NousCoder-14B 這次發佈的一大亮點,是把訓練流水線也開源了,而不只是丟一個權重文件。

可驗證獎勵:對就是對,錯就是錯

RL 環境的邏輯很直白:

  • 模型按 LiveCodeBench 標準 prompt 生成 Python 代碼;
  • 在 Modal 沙箱中並行執行,逐條跑測試用例;
  • 全部通過 → 獎勵 +1;超時、超內存或答案錯誤 → 獎勵 -1

每道題平均有數百條測試用例,驗證本身就很喫算力。團隊用 Modal 做自動擴縮容,並把推理與驗證流水線重疊:推理 worker 一完成生成,立刻把結果送去驗證,同時開始下一題——避免 GPU 空等。

DAPO:動態採樣策略優化

團隊在 GRPO 基礎上對比了三種目標函數,最終 DAPO(Dynamic Sampling Policy Optimization) 在最長上下文下略勝一籌。DAPO 相對 vanilla GRPO 的關鍵改動包括:

  • Clip-higher:鼓勵探索低概率 token;
  • Token 級策略梯度:不論生成長度,每個 token 對梯度貢獻權重一致;
  • Dynamic sampling:若一組 rollout 全對或全錯(優勢爲 0),直接丟棄該樣本,避免無效梯度。

訓練還採用 PipelineRL 式異步 RL:推理與訓練並行,控制 off-policy 程度(PipelineRL-k、PPO-off-policy-k 等超參見官方 Table 3)。

數據效率的冷思考

技術報告裏有一段值得開發者細讀:24k 訓練題已覆蓋「標準化格式下絕大部分可驗證競爭編程題」,互聯網同類題目總量也在同一數量級——這個細分域的高質量數據可能接近天花板。報告作者 Joe Li 也坦承:他當年在 Codeforces 上從約 1700 分爬到 2100+ 分,大約做了 1000 道題;模型卻要 24k 題才完成類似幅度的「能力躍遷」,樣本效率仍遠不如人類

未來方向官方點名了三條:更長上下文與長度控制、多輪 RL(利用編譯錯誤/部分測試反饋)、題目生成與 self-play(讓模型自己出題再解題,緩解數據瓶頸)。

與 Claude Code 的本質差異

Claude Code 和 NousCoder-14B 常被放在同一篇報道里,但產品形態差別很大:

維度 Claude Code NousCoder-14B
形態 終端/IDE Agent 產品 開源權重 + 訓練棧
模型 Anthropic 閉源大模型 14B 開源模型
交互 多輪對話、工具調用、子 Agent 單次代碼生成爲主
上下文 面向整倉代碼庫 面向單題題面(可擴至 80k token)
部署 雲端訂閱/API 可本地私有化部署
評測側重 真實工程任務(口碑傳播) LiveCodeBench 等算法基準

Claude Code 的核心是 Agent 編排:讀 CLAUDE.md、跑 bash、改多文件、並行 subagent、對接 MCP。NousCoder-14B 的核心是 可復現的 RL 配方:同樣的 Atropos + Modal 管線,理論上可以換基座、換數據、換獎勵函數繼續實驗。

對團隊選型而言:

  • 若目標是最快上手、端到端交付,Claude Code 類產品仍佔先發優勢;
  • 若目標是數據不出域、可審計、可微調,14B 開源模型 + 自建 Agent 外殼是更現實的組合——NousCoder-14B 提供了「編程能力內核」的一個選項,而不是完整 Agent。

本地部署入門

14B 模型對顯存有一定要求(BF16 全精度約需 28GB+ 顯存;量化後可降到消費級 GPU)。Hugging Face 模型頁已提供 Ollama、LM Studio、llama.cpp 等量化版本入口。下面給出兩種常見方式。

方式一:Transformers + 量化加載

需安裝 transformerstorch,建議使用 4-bit 量化降低顯存:

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model_id = "NousResearch/NousCoder-14B"

tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    device_map="auto",
    trust_remote_code=True,
    load_in_4bit=True,  # 顯存不足時可開啓
)

prompt = """You are an expert Python programmer. Solve the following problem.

Problem: Given an array of integers, return indices of the two numbers such that they add up to a target.

Write a complete Python solution."""

inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=2048, temperature=0.6, top_p=0.95)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

生成參數建議與官方評測對齊:temperature=0.6,top_p=0.95。競爭編程場景下,過低 temperature 可能損害探索性解法。

方式二:Ollama 一鍵拉取

Hugging Face 社區已爲該模型提供 Ollama 量化包,適合快速體驗:

# 需先安裝 Ollama: https://ollama.com
ollama pull nousresearch/nouscoder-14b

ollama run nousresearch/nouscoder-14b "Write Python code to check if a string is a palindrome."

本地部署後,若要接近 LiveCodeBench 分數,還需注意:

  1. 上下文長度:最佳成績依賴約 80k context,普通 8k/32k 部署會明顯掉點;
  2. 僅生成代碼不夠:需自建執行沙箱(Docker / gVisor / Modal 同類方案)跑測試;
  3. Agent 層需自研:若要對標 Claude Code,還要疊加文件讀寫、終端、Git 等工具接口。

復現訓練(進階)

若有集羣資源,可克隆 Nous Research 公開的 Atropos 訓練棧,配合 Modal 做代碼驗證。官方 hyperparameter 摘錄:

超參
Learning Rate 1e-6
Group Size 8
Batch Size 1024 sequences
訓練/評測 Temperature 1.0 / 0.6
DAPO Clip Ratio (low/high) 0.2 / 0.28

完整腳本與 WandB 訓練曲線見官方技術報告

小結:開源編程模型的「Claude Code 時刻」

NousCoder-14B 的發佈,價值不只在於 LiveCodeBench 上 67.87% 的 Pass@1,更在於它把「基座 + 可驗證 RL + 開源工具鏈」這條路徑做到了可復現:48 張 B200、4 天訓練、Apache 2.0 權重——數字好看,但工程細節(流水線重疊、動態採樣、異步 RL)纔對後續研究真正有用。

與 Claude Code 代表的閉源 Agent 路線相比,NousCoder-14B 回答的是另一個問題:我能不能在自己的機器上,擁有一個經 RL 強化、專精算法題的 14B 編程內核? 答案是肯定的,但離「替代 Claude Code 做整倉開發」還有明顯距離——多輪反饋、工具使用、倉庫級任務,仍是開源社區需要補課的環節。

如果你關心 AI 編程的下一站,不妨同時盯着兩條線:一邊是 Claude Code 們把 Agent 產品體驗做深;另一邊是 NousCoder-14B 們把模型能力、訓練數據與評測方法攤在陽光下。前者決定「今天能省多少工時」,後者決定「半年後你的團隊能不能自己訓一個 Coding 模型」——兩條線最終可能會合流,但在那之前,知道各自邊界比盲目站隊更重要。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜