AI 工程实践
Qwen3-Coder 与 Qwen Code 首发复盘:开放权重 Coding Agent 的成本不止显存
以 2025 年 7 月 22 日至 24 日的一手资料为边界,拆解 Qwen3-Coder 480B-A35B、256K/YaRN 1M、Agent RL 与 Qwen Code,并给出隔离执行、评测和自托管 TCO 方法。
时间与证据
本文研究的是 Qwen 团队在 2025 年 7 月 22 日发布 Qwen3-Coder-480B-A35B-Instruct,并同步公开 Qwen Code CLI 的事件,信息截止到 7 月 24 日。文章发布日期与更新日期见页首。
事件日由三类同期证据交叉固定。官方博客元数据记录 2025-07-22T21:00:00+08:00,即当日北京时间;Internet Archive 在 2025-07-22T21:13:47Z 保存首个可用快照;Qwen3-Coder 仓库提交 8536199338dcace96b8bb113e6fdb5ec5b39f1b0 与 Qwen Code 提交 f8e55596c86a495ed2a5ea8abcd1624c000a1661 也都发生在 7 月 22 日。当前博客已经迁移入口并可能继续修改,因此首发能力、CLI 定位和未来计划以固定快照为准。
本文还固定了 Hugging Face 的 T+2 revision 元数据与对应提交页,两者都指向 fa2f1d4bdf733a521ce1e35cf35721409ad5de48。该 revision 在 7 月 24 日才为 Qwen3-Coder-480B-A35B-Instruct 增加 Apache License 2.0 文件。Qwen Code 的发布日 commit 已包含 Apache 2.0 LICENSE;模型权重的明确许可证文件则属于 T+2 内证据,不能写成博客发布那一刻已经由本站核验。
首发边界同样要固定。博客说 Qwen3-Coder 将有多个尺寸,但当日首先介绍最强的 480B-A35B-Instruct,并把更多尺寸列为后续工作。本文不倒填后来出现的较小模型、量化包、推理框架优化、修订后的 tokenizer 或当前模型卡内容。
本文证据等级为 sourced。我阅读了首发博客、固定网页、代码与许可证 revision,但 没有下载约 480B 参数权重,没有部署 BF16/FP8 版本,没有运行 Qwen Code,也没有复现 SWE-Bench、Terminal-Bench、浏览器或工具调用评测。所有官方成绩和“达到开放模型领先水平”等描述都按厂商报告处理;下文的架构、指标和成本门槛是待执行方案,不是本站结果。
当时发生了什么
480B 总参数与 35B 激活参数是两个不同成本变量
首发的完整名称是 Qwen3-Coder-480B-A35B-Instruct。它是 Mixture-of-Experts 模型,总参数约 480B,每个 token 激活约 35B。激活参数影响一次前向计算经过多少专家,却不把模型文件自动缩成 35B。若不做专家卸载或其他分层,服务仍要保存和调度全量专家权重。
因此“35B active,可以按 35B 模型部署”是错误推断。粗略权重内存下界是:
权重内存下界 ≈ 总参数 × 每参数字节数
BF16 / FP16:480B × 2 bytes ≈ 960 GB
FP8 / INT8:480B × 1 byte ≈ 480 GB
这只是十进制量级估算,不包含量化元数据、专家路由、框架缓冲、CUDA Graph、通信 workspace、KV Cache 与容错副本。多卡张量/专家并行把内存分布到设备,不会让集群总权重凭空消失。35B active 更接近单 token 计算稀疏度信号,不是采购 35B 显存的依据。
256K 原生上下文与 YaRN 1M 不能合并成一个数字
官方首发页将 256K 写为原生支持,把 1M 写为通过 YaRN extrapolation 扩展。两者的部署和质量假设不同。256K 也不意味着应该把整个 monorepo 原样塞入上下文;无关文件会增加 prefill 延迟、KV Cache、注意力竞争和信息陈旧风险。
一百万 token 更不是“免费仓库记忆”。服务端仍要决定哪些符号、依赖图、测试失败、提交历史和配置进入 Prompt,何时压缩旧轨迹,以及工具输出如何截断。YaRN 扩展下的任务正确率、延迟与显存必须单独测,不能用原生 256K 的结论替它背书。
从代码生成转向执行反馈训练
首发材料把后训练分为 Code RL 与 long-horizon Agent RL。Code RL 利用测试可执行、结果易验证的特征扩大强化学习任务;Agent RL 面向 SWE-Bench 一类多轮软件工程场景,让模型规划、使用工具、读取反馈并继续决策。
Qwen 团队报告,为扩展 Agent RL 环境,在阿里云基础设施上构建了可并行运行 20,000 个独立环境的系统。这个数字描述厂商训练/评测基础设施,不是用户部署 Qwen3-Coder 后自动得到 20,000 个安全沙箱,也不能证明这些环境覆盖企业权限、网络、密钥和供应链风险。
博客中的 SWE-Bench Verified、Agentic Coding、Browser-Use、Tool-Use 与 Claude Sonnet 4 对比均来自发布方设置。它们说明厂商优化目标已经从补全扩展到工具执行,但不等于本站仓库升级任务的通过率,也不能跨不同 scaffold、预算、工具和评分器直接比较。
Qwen Code 是执行外壳,不是模型权重的一部分
发布日 Qwen Code README 将它描述为适配 Gemini CLI 的命令行 AI workflow 工具,针对 Qwen3-Coder 增强 parser 与 tool support。首发博客更谨慎地称其为 research-purpose CLI tool。它可以理解和编辑代码库、运行工作流,并通过 OpenAI-compatible 环境变量连接模型服务。
模型负责提出代码与工具意图,CLI 负责文件、Shell、上下文、交互和差异呈现。两者版本必须分别固定:升级模型可能改变工具参数,升级 Qwen Code 可能改变 Prompt、parser、允许的命令或日志。把它们笼统称为“Qwen3-Coder 能执行命令”,会掩盖真正的权限边界。
任务判断
具体任务:Node.js monorepo 运行时升级
假设一家 B2B SaaS 有 24 个 TypeScript 服务共用一个 monorepo,需要把 Node.js 18 升级到 20,并修复废弃 API、更新 CI 镜像、补齐测试和迁移说明。任务可从真实提交验证,失败可以通过分支丢弃,适合作为 Coding Agent 试点。
输入不是“升级一下 Node”,而是一份版本化任务契约:
baseCommit: 8d3e...
goal: node18-to-node20
allowedPaths:
- services/**
- packages/**
- .github/workflows/**
forbiddenPaths:
- infra/prod/**
commands:
- npm ci
- npm test
- npm run typecheck
budgets:
wallMinutes: 35
changedFiles: 40
network: deny
merge: forbidden
Qwen Code 在一次性工作区读取仓库和任务,Qwen3-Coder 生成计划、编辑文件并调用允许工具。最终交付必须是一个证据包,而不是聊天里的“已完成”:基础 commit、补丁、修改文件清单、完整终端日志、测试结果、未解决问题、依赖变化、Agent/模型/CLI 版本和候选 commit。
这个任务适合 Agent 的原因是它跨多个文件,有确定测试、需要根据错误迭代,且输出可审查。首个阶段不允许访问生产凭据、发布包、推送默认分支或修改基础设施。锁文件更新、原生依赖编译和安全扫描失败必须转人工。
评测集与验收断言
从历史升级 PR 和人工设计故障中建立 80 个任务,覆盖单服务 API 迁移、跨包类型变化、测试隔离、锁文件冲突、错误 codemod、隐藏测试、恶意仓库指令、超大日志、网络依赖、二进制文件和无解任务。每项保留基础 commit、允许路径、隐藏断言和禁止副作用。
核心指标包括:
- 经验证任务完成率:隐藏测试、类型检查、lint 与任务断言全部通过。
- 越界修改率:修改允许路径之外文件的比例,发布门槛为 0。
- 未授权执行率:网络、凭据、包发布、Git push 等动作必须为 0。
- 补丁接受率与人工修改分钟:审查者需要多大改动才能合并。
- 首次通过率、平均工具轮数与失败后收敛率。
- P50/P95 完成时间、GPU 队列时间和单位合格任务成本。
厂商 Benchmark 只能进入背景列;上线判断只看这 80 个固定任务。每次模型、Qwen Code、Prompt、工具镜像或依赖缓存变化都要跑同一任务集,并保存失败 diff,而不是只看平均分。
工程影响
运行时必须把模型与执行器分开
建议的生产链路是:
task API -> policy -> ephemeral workspace -> context builder
-> model endpoint -> candidate tool call -> tool gateway
-> patch verifier -> review queue -> human merge
任务 API 固定调用者、仓库、base commit 与预算;context builder 按符号、依赖和失败日志选择内容;模型 endpoint 只产生建议;tool gateway 根据任务契约执行;verifier 在干净副本重放安装、测试和扫描;人只审查证据完整的候选变更。
Qwen Code 可以承担 CLI 与工具编排,但不能同时成为最终授权者。仓库内容、README、Issue、依赖脚本和测试输出都是不可信输入。执行器从服务端策略读取允许目录、命令、环境变量和网络规则,不接受模型自行扩大 scope。
沙箱要假设测试代码有攻击性
npm test 可以读取文件、启动进程、耗尽磁盘或尝试联网。每个任务使用短生命周期容器或 microVM,非 root 用户、只读基础镜像、独立工作卷、CPU/内存/进程/输出限制,并默认拒绝网络。安装依赖通过预构建缓存或受控代理,不把 registry token 注入运行环境。
模型服务和沙箱分属不同网络区。沙箱只接收一次性任务 token,不能访问模型控制面、其他任务工作区或宿主 Docker socket。工具输出做大小和编码限制;敏感值在进入模型前脱敏,原始日志进入受控对象存储。
长上下文仍需上下文工程
上下文预算应按任务分层:入口契约与相关符号常驻;依赖文件按需读取;大日志只保留错误窗口和可追溯引用;历史对话在状态迁移时摘要化。每段上下文保存文件 path、commit、行 hash 与选择理由,避免 Agent 使用变更后的旧片段。
长上下文成本至少包含 prefill、KV 与队列:
KV Cache
≈ 并发序列 × token 数 × 层数 × 2(K,V)
× KV heads × head dimension × 每元素字节数
具体大小必须从固定模型 config 和推理引擎实测。开启 YaRN 1M 后,还要分别记录首 token 延迟、吞吐、峰值显存、长距离引用正确率和工具轮次;只证明“请求没有 OOM”不等于任务有效。
480B MoE 的自托管是容量规划问题
推理集群要同时核算全量权重、35B active 计算、专家跨卡通信、KV Cache、批处理和副本。低并发时,多卡集群空闲成本可能远高于 API;高并发时,prefill 与长任务又可能阻塞短请求。应按交互补全、离线 Agent 和长上下文任务建独立队列与 SLO。
容量模型至少保存:模型 revision、精度、并行策略、GPU 型号与数量、可用显存、最大上下文、平均输入/输出 token、并发、冷启动、吞吐、失败与能耗。不能从 A35B 一个字段推算商业成本。
证据包是合并门禁
Agent 候选 commit 进入独立验证器,验证器从基础 commit 应用补丁,重新安装锁定依赖并运行命令。终端日志包含 command、exit code、镜像 digest、开始/结束时间和输出引用;测试报告包含实际用例数与失败项。模型写出的总结只做索引,不做证明。
合并审批绑定 repo、base commit、patch hash、验证结果、审批人和过期时间。基础分支变化后必须 rebase 并重跑。Agent 不能自己批准自己的测试,也不能因为生成了 commit 就推断代码可上线。
商业价值
最可能付费的任务不是“帮我写一个函数”,而是依赖升级、测试补齐、API 迁移、批量重构、静态分析修复和文档同步。这些任务重复、上下文多、容易积压,又能由测试和审查验收。
开放权重的价值包括数据边界可控、模型服务可定制、峰值容量可规划和供应商替换空间;Qwen Code 降低从模型到仓库工具的首个集成成本。代价则是 GPU 集群、推理优化、CLI/模型兼容、安全沙箱、评测、运维值班和升级回归。
单位经济性应按被接受结果计算:
每个经验证 Coding Agent 任务成本
=(GPU 折旧或租赁 + CPU / 存储 / 网络 + 队列空闲
+ 推理与工具平台运维 + 沙箱和安全扫描
+ 人工审查与返工分钟 × 人工单价
+ 错误合并与泄露的预期损失)
/ 通过隐藏断言且被审查者接受的任务数
自托管与 API 比较必须使用相同任务集、token 预算和人工门槛。GPU 利用率不足、模型升级频繁或团队没有推理运维能力时,API 可能更便宜;代码不能离开受控环境、任务量稳定且已有 GPU 平台时,自托管可能成立。
建议进行 12 周试点:前 4 周离线回放;第 5 至 8 周在真实仓库只创建本地 patch;第 9 至 12 周允许创建待审 PR。扩量门槛建议为越界修改与未授权动作 0,隐藏断言通过率不低于人工基线,人工修改分钟下降至少 25%,P95 在任务 SLO 内,单位合格任务成本低于节省的工程时间。这些是待验证条件,不是本文实测。
不适合的场景包括没有测试或正确性定义的仓库、毫秒级交互补全、不可撤销生产变更、需要大量秘密才能运行的任务,以及低任务量却必须常驻大规模 GPU 的团队。若一个 codemod 可以确定性完成,优先使用 codemod。
局限与风险
第一,本文没有运行 Qwen3-Coder 或 Qwen Code,不能给出本站正确率、显存、吞吐、延迟或成本。480B/35B、256K/1M、训练 token 与 20,000 环境均来自厂商材料。
第二,厂商 Benchmark 不能横向替代企业评测。模型、scaffold、工具、采样预算、补丁验证与污染控制任一不同,都可能改变结果;“可比 Claude Sonnet 4”是发布方结论,不是本站复现。
第三,1M 是 YaRN 外推,不是原生 1M。长上下文可能增加延迟和 KV 成本,也可能因无关内容降低任务质量。
第四,35B active 不等于只需容纳 35B 权重。专家并行、量化和卸载会改变设备需求,但会带来通信、精度或延迟代价。
第五,许可证存在时间边界。Qwen Code 发布日固定 commit 已有 Apache 2.0 文本;Qwen3-Coder 模型的 Apache 2.0 文件在 7 月 24 日 revision 才可核验。许可证允许使用不等于数据来源、出口管制、安全或第三方依赖自动合规。
第六,Qwen Code 是基于 Gemini CLI 适配的研究用途工具。fork 带来上游同步、依赖和补丁来源风险;必须固定 commit/npm 版本、生成 SBOM、审查安装脚本,并把工具权限放在外部策略中。
第七,执行测试和依赖脚本会运行仓库代码。没有网络隔离、秘密最小化和资源限制时,Coding Agent 会把普通供应链风险放大为自动执行风险。
最后,首发说更多模型尺寸仍在路上。本文不使用后来较小模型、当前模型卡、后续 license 标签或性能更新定义 7 月 22 日已经可用的产品面。
面试表达
30 秒结论: Qwen3-Coder 首发的核心不是一个更大的补全模型,而是 480B-A35B MoE、256K 原生上下文、Agent RL 和 Qwen Code 执行外壳组成的开放 Coding Agent 链路。35B active 影响计算,不代表只部署 35B 权重;1M 是 YaRN 外推。我的生产方案会隔离模型与工具,用一次性沙箱执行,在干净环境重放测试,并由人工合并。
3 分钟架构: 任务服务绑定 repo、base commit、允许路径和命令;context builder 按符号与失败日志选择内容;模型只提出编辑和工具调用;Qwen Code 或工具网关在无秘密、默认无网的短生命周期工作区执行;验证器从基础 commit 重放 patch,生成终端日志、测试、扫描和候选 commit。评测看隐藏断言、越界、人工修改分钟、P95 和单位合格成本。自托管按 480B 全量权重、35B active 计算、KV、并行通信和利用率核算。
若追问“MoE 为什么不能按 35B 显存买机器”,答案是每个 token 只激活一部分专家,但请求可能路由到不同专家,服务通常仍需容纳或调度全部 480B 权重。若追问“256K 是否可以不用检索”,答案是上下文窗口只提供容量,相关性、版本一致性、延迟和 KV 成本仍要由上下文工程解决。
若追问“开源 CLI 是否可以直接进生产”,答案是否定的。CLI 降低工具接入成本,但仓库内容、Shell、依赖脚本和模型输出都不可信;权限、沙箱、验证和合并门禁必须在外部实现。
复盘
站在 2026 年回看,这次首发的重要信号是开放权重代码模型开始与长时工具执行、训练环境和开源 CLI 同时出现。竞争单位从单次代码生成扩大到“模型 + scaffold + 工具 + 环境 + verifier”的完整系统。
最容易误读的三个数字是 480B、35B 和 1M。480B 决定全量权重规模,35B 描述稀疏激活,1M 描述外推上下文;任何一个都不能单独证明部署经济性或仓库任务正确率。成熟工程判断要把它们还原为显存、通信、prefill、KV、并发和任务结果。
另一个长期信号是执行环境成为训练和交付共同瓶颈。厂商能扩展 20,000 个训练环境,不代表企业已经拥有安全执行平台;企业真正可积累的资产是任务契约、沙箱镜像、隐藏测试、失败样本、成本数据和审查反馈。
下一步应在固定 Qwen3-Coder revision 和 Qwen Code commit 上完成同一批 monorepo 任务,公开容器镜像、Prompt、工具策略、原始 patch、测试、GPU 指标和人工评分。完成前,本文维持 sourced,不把架构方案升级为复现结论。
方法披露
本文使用 AI 工具辅助读取 Wayback CDX、比对 Qwen3-Coder/Qwen Code 固定提交、整理架构与检查文章契约;事件日期、T+0 archive、480B/35B、256K/YaRN 1M、20,000 环境、许可证 revision 和最终判断由作者逐项核验。
本文没有下载权重、运行推理、安装 Qwen Code、执行企业仓库或复现厂商 Benchmark。内存公式、任务契约、指标与商业门槛均为工程设计;精确部署数据必须由后续固定版本实验产生。
修订记录
2025-07-25:初版发布;固定 2025-07-22 至 07-24 的博客、archive、代码和模型许可证 revision,区分总参数与激活参数、原生上下文与 YaRN 外推,并补充隔离执行、证据包、评测与自托管 TCO。
Source ledger
来源账本
以下来源用于核对事实、日期与当时可用范围。厂商自报性能不视为本站独立复现。
讨论