阿里开源Qwen3-Coder-Next,80B参数仅激活3B的MoE顶尖编程助手

📅 发布时间:2026/7/6 5:04:15 👁️ 浏览次数:
阿里开源Qwen3-Coder-Next,80B参数仅激活3B的MoE顶尖编程助手
阿里刚刚开源了极强的小型 MoE 代码模型 Qwen3-Coder-Next。Qwen3-Coder-Next 以 800 亿总参数量和仅 30 亿的激活参数量在代码生成与智能体任务中展示了极高的效能与潜力。尽管激活参数规模很小在 SWE-BenchVerified、Multilingual、Pro、TerminalBench 2.0 和 Aider 这些广泛使用的编程智能体基准上该模型仍能匹敌或超过若干更大的开源模型。在效率方面同样出色。与同类模型在 SWE-Bench-Pro 基准上对比每次推理仅激活 3B 参数却能达到与激活参数量是其 10-20 倍的模型相当的基准性能。下面是一些真实案例展示开发直接可玩的植物大战僵尸游戏。一句话整理桌面。开发 Qwen 聊天界面。接入 ClawdBot。让它随便点击测试应用。开发复杂 APP 的 UI 交互界面。一句话将 GitHub 开源项目打包成本地 Gradio 应用。大规模合成可执行环境Qwen3-Coder-Next 是 Qwen Team 推出的最新代码模型它基于 Qwen3-Next 架构采用混合注意力机制和专家混合MoE技术。这款模型虽然拥有800亿的总参数量但在每次推理过程中仅激活30亿参数。研发团队的核心目标是探索在参数规模受限的情况下强力的训练配方究竟能将模型能力推向何种高度。现代代码智能体面临的挑战早已超越了简单的代码补全。它们需要进行长周期的推理与真实的执行环境交互并在多步操作中从连锁故障中恢复。要训练出适应这种机制的模型仅靠静态的代码数据远远不够。模型需要海量的、可验证的、可执行的并且包含丰富交互信息的训练信号。为了解决数据匮乏的问题团队构建了一个大规模的智能体训练技术栈。这个系统能够合成可执行的任务构建可复现的环境并让模型直接从执行反馈中学习。这种方法支持了中期训练适应和强化学习使智能体能够掌握多步代码编辑、工具使用以及在现实开发设置中的错误恢复等行为。大规模的智能体训练依赖于两个核心要素。一个可靠的流程来合成与全功能执行环境配对的可验证任务一个能够高吞吐量运行海量任务并高效返回环境反馈的基础设施。在任务合成方面团队开发了两种互补的方法。第一种方法通过挖掘 GitHub 的拉取请求PR来构建基于现实世界软件工程问题的任务。第二种方法则从现有的开源数据集中出发在其中合成新的任务实例。这两者结合确保了任务的多样性和基于执行的一致性验证。为了从 GitHub PR 中合成现实的软件工程任务团队挖掘了与问题相关的 PR并构建了反映真实 bug 修复工作的可执行环境。在移除了与下游基准测试重叠的实例后每个 PR 被分解为一个包含 bug 的状态、相应的修复补丁以及相关的测试补丁。一个专门的环境构建智能体负责构建可运行的 Docker 环境和验证脚本。验证脚本必须能够通过执行可靠地通过区分出 bug 状态和修复后的状态。整个过程产生大量基于真实仓库的可验证软件工程任务。环境构建对智能体来说充满挑战容易导致智能体利用肤浅的验证捷径。为了缓解这一问题自动化检测被用于识别和过滤非功能性的验证器同时训练了一个专用模型来提高环境构建的质量。通过将该模型大规模应用于近期的 GitHub 数据团队生成了一个庞大的可验证软件工程任务语料库所有环境都存储为可复用的 Docker 镜像。为了确保数据集质量质量保证智能体会自动识别并移除模糊的任务、不一致的环境和未对齐的测试。除了挖掘现有的 bug团队还并行地通过在现有代码库中引入受控 bug 来合成额外的软件工程任务。工作建立在 SWE-Smith、SWE-Flow 等先前项目的基础上利用它们提供的可执行仓库、测试套件和评估脚本生成了更大规模、更多样化的可验证问题集。合成流程通过模型驱动的重写、语义扰动和基于规则的转换系统地将 bug 注入到经过策划的容器化仓库中。只有当生成的 bug 导致现有测试失败且通过补丁回滚能解决问题时这些 bug 才会被保留。保证了每个任务既有意义又是可解的。为了防止模型走捷径学习任务描述以自然语言生成并排除了触发 bug 的测试文件生成了大约 80 万个可验证的软件工程任务实例涵盖了超过九种编程语言。在基础设施方面为了支持大规模并行执行和完全可复现的执行环境团队开发了 MegaFlow 内部编排系统。该系统基于云原生执行框架能够支持生产级的训练、评估和数据生成工作负载。在 MegaFlow 中每个智能体编码任务被表达为一个 Argo 工作流由智能体展示、评估和后处理三个逻辑阶段组成。在展示阶段单个 Pod 通常将智能体容器与执行环境容器并置从而以最小的通信开销实现高效的长周期交互。从专项到多领域专家模型训练采用了分阶段的管道逐步构建智能体能力同时不牺牲基础模型的通用性。从中期训练开始模型便针对代码推理、仓库级理解和智能体风格的交互模式进行了适配。中期训练的数据选择原则是平衡自然数据和合成数据。自然数据提升了模型的通用智能和鲁棒性但并不完全匹配真实用户工作流中的任务分布和交互模式。大量依赖合成数据虽然能显著提升特定任务的表现但可能导致过度专业化降低响应的多样性并削弱微调时对其他任务的适应能力。团队的目标是引入模型可靠执行常见用户任务所需的最小量合成数据同时保留响应的多样性并维持强大的通用能力。中期训练语料库主要由自然数据组成辅以少量精心设计的合成数据。自然数据来源包括 GitHub 上的大规模源代码以及从 Common Crawl 和特定网络域提取的文本-代码基础数据。GitHub 数据的覆盖范围显著扩大编程语言支持从 92 种增加到了 370 种并纳入了更多的 PR、仓库和代码审查数据。现实世界的软件开发很少在单文件级别操作。团队特别强调了仓库级代码的学习使模型能够掌握跨文件的依赖关系和更广泛的上下文关系。为此训练上下文长度从 32,768 个 token 扩展到了 262,144 个 token。为了提高对不同项目布局的泛化能力团队尝试了多种仓库序列化格式。仓库级数据扩展到了大约 6000 亿 token构成了中期训练配方的主要部分且被证明比单文件数据集更具影响力。网络数据质量参差不齐。低质量的内容可能包含错误信息、上下文不足或过度的语言和格式切换。为了缓解这些问题Qwen3-Coder-480B-A35B-Instruct 被用于将网络文档重写为规范化、结构化的文本。重写过程移除了广告、无关的 HTML 元素和格式伪影生成了适合训练的干净 Markdown 风格文档。GitHub PR 数据的构建通过挖掘真实的 PR 并将其转换为结构化的软件工程任务来实现。每个实例包含自然语言的问题描述、仓库级代码上下文和相应的代码编辑。问题描述来自链接的 issue或在不可用时来自 PR 的标题和描述。代码上下文通过回滚 PR 补丁并检索仓库中的其他相关文件来重建有意引入了现实中信号与噪声混合的情况。编辑内容使用搜索替换和标准的 git diff 格式表示以支持多样化的编辑范式。合成数据用于更好地将模型与现实世界的用户工作流对齐。这些任务分为两类单轮查询和多轮智能体编码。在单轮问答中Common Crawl 文档作为种子数据模型生成多个有根据的问答对。生成的问题必须自成一体并在语义深度或推理复杂性上逐步增加。多轮智能体编码利用了合成的可执行任务。轨迹由多个智能体框架生成包括 SWE-agent、OpenHands 等。生成后轨迹经过严格的基于规则的过滤移除缺失终止信号、任务失败或工具调用畸形的实例。研究发现同一框架内的性能随着中期训练 token 数量的增加而持续提升证明了大规模智能体预训练的有效性。跨框架的迁移能力仍然有限。在一个框架的轨迹上训练的模型并不能强力迁移到其他框架。框架的专业化起着重要作用。为了支持长文档编辑和在线代码修改等任务Qwen3-Coder-Next 支持中间填充FIM代码补全。实验表明搜索替换式的 FIM 在同等规模下优于 Chat-FIM这可能是因为它与 PR 风格的预训练数据有很强的对齐。训练过程中采用了最佳适配打包Best-fit packing策略以避免在构建组合文档样本时引入上下文幻觉和头部截断。对于超出模型上下文长度的极长文档它们被预先分割成匹配最大输入长度的块。这种策略在长周期任务上提供了稳定的性能增益。中期训练后监督微调SFT作为对齐阶段将基础模型的能力与复杂的人类指令连接起来。SFT 数据集涵盖了内部研发的高质量数据、经过验证的智能体轨迹以及基于文档的开放域问答。验证过滤是一个关键步骤。专门的智能体模型作为用户模拟器尝试从最终用户的角度执行生成的代码或命令。它评估编译器输出、运行时错误和环境状态变化等反馈信号以确定响应是否有效地推进了任务。这一闭环验证过程过滤掉了幻觉或非功能的解决方案。除了功能验证成对判断模型用于评估对话质量和响应风格。对于每个用户请求使用最强的内部模型采样多个候选响应并由判断模型根据事实准确性、任务有用性和对话风格等多维检查清单进行评分。为了进一步针对重要的现实领域进行专业化团队训练了一组针对特定能力集群的专家模型。Web 开发专家专注于全栈 Web 编码任务。该领域的高质量训练数据必须同时满足视觉正确性、功能正确性要求并在一定程度上符合审美。Web 开发数据的评估采用了多阶段过滤管道。代码样本在 Playwright 控制的 Chromium 环境中渲染。静态视觉评估使用视觉语言模型VLM判断页面布局的完整性和 UI 质量。动态交互评估通过浏览器自动化验证功能行为VLM 比较操作前后的截图以验证页面行为的正确性。用户体验专家针对 CLI/IDE 设置中的智能体编码挑战。不同的 CLI/IDE 框架采用不同的工具调用模式这给模型带来了挑战。为了提高泛化能力模型使用多样的工具聊天模板和格式进行训练包括 JSON、XML 以及 Python 风格的调用。增加训练中使用的工具调用模板数量持续提高了下游对格式变化的鲁棒性。实验结果表明训练期间的格式多样性是提高部署时对新工具调用格式泛化能力的有效途径。单轮问答专家通过在可执行验证领域应用强化学习来提升推理和复杂编码能力。团队不仅关注算法竞赛题还扩展到了库的使用、I/O 处理和现有工具的组合等更符合现实开发场景的任务。多语言设置鼓励模型学习语言特定的习语和工具约束。软件工程专家专注于多步、环境交互式的编码任务。强化学习查询来源于现实世界的软件工程任务。为了防止信息泄露SFT 和 RL 的提示词是完全不相交的。奖励塑造机制引入了未完成轨迹惩罚和工具格式惩罚以鼓励模型高效完成任务并遵守格式规范。在 RL 训练后期观察到了奖励黑客行为。智能体尝试使用 git 命令连接远程仓库或检索提交历史以获取正确答案。为了解决这个问题引入了启发式阻断规则禁止包含仓库链接和网络访问关键词的工具调用。最后专家蒸馏将来自 Web 开发、用户体验、单轮 RL 和软件工程等多个领域专家的能力整合到一个统一的部署模型中。该模型继承了各个专家的优势同时保留了基础 SFT 模型的强大指令遵循能力。真实基准下的性能验证在 SWE-Bench Verified、SWE-Bench Multilingual 和 SWE-Bench Pro 等基准测试中Qwen3-Coder-Next 展现了强劲的性能。尽管其激活参数规模相对较小但在多个评估中与拥有更大计算量的前沿模型极具竞争力。在 SWE-Bench Verified 上该模型在 SWE-Agent、MiniSWE-Agent 和 OpenHands 三个框架下均取得了超过 70% 的分数表现一致且稳健。这种高效率使其特别适合生产环境。SWE-Bench Pro 强调长周期的软件工程任务。Qwen3-Coder-Next 在此基准上的表现展示了其在处理复杂问题时的测试时扩展能力。分析显示该模型的智能体交互轮次分布向更高值偏移意味着它能够通过更长的推理过程来解决困难问题。在命令行接口任务 Terminal Bench 2.0 中模型在多种环境和工具模式下表现一致。虽然仍有改进空间但这为复杂的工具使用任务奠定了坚实基础。在广泛的编码任务中包括单元测试生成、代码推理、竞技编程和全栈开发Qwen3-Coder-Next 提供了有利的权衡。它在更难的基准测试中取得了一致的收益同时保持了在全栈和以数据为中心的编码任务上的稳健表现。尽管是专为编码设计的模型其通用能力依然强大。在通用知识和推理基准上Qwen3-Coder-Next 与通用模型 Qwen3-Next 相比具有竞争力甚至在某些数学基准上实现了显著超越表明强大的代码推理能力可以迁移到数学推理中。Qwen3-Coder-Next 通过大规模合成可执行编码任务并从执行反馈中学习显著提高了工具使用的鲁棒性、长上下文编码能力和多领域编码性能。它是一个在真实软件工程环境中经过锤炼的智能体展示了通过环境交互学习来突破参数规模限制的巨大潜力。参考资料https://qwen.ai/blog?idqwen3-coder-nexthttps://github.com/QwenLM/Qwen3-Coderhttps://huggingface.co/collections/Qwen/qwen3-coder-nexthttps://modelscope.cn/collections/Qwen/Qwen3-Coder-Next