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 模型」——两条线最终可能会合流,但在那之前,知道各自边界比盲目站队更重要。

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

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

小夜