Qwen Code 改进建议
April 5, 2026 · View on GitHub
核心洞察:随着大模型代理能力的跃升,开发者经常把极其庞大的体力活丢给它:比如“请把项目里这 50 个 class 组件全部用 React Hooks 重写”,或是“帮我在这 100 个文件头加上标准的 Apache 开源协议 License”。在当前的单线架构下,Agent 只能像个苦力一样,串行(Sequential)去读写每一个文件,50 个文件可能要耗费整整一两个小时。Claude Code 构建了一套名为
/batch的内置 Skill 引擎,能将这种宏大任务拆解、分发并并行 Fork 出数十个 Agent 同时工作,最后进行结果汇总;而 Qwen Code 目前在大规模重构上缺乏这种多路并行的并发调度能力。返回 改进建议总览
一、单点串行重构的效率陷阱
1. Qwen Code 的现状:单兵作战的漫长黑夜
目前在 Qwen Code 中丢给它一个改动范围极大的任务:
- 痛点一(时间成本无法接受):修改每一个文件都需要大模型思考 -> 输出 JSON Tool -> 磁盘写入。如果修改 100 个文件,按每个回合 5 秒计算,仅仅是执行就长达数百秒,还不包括中间如果因为某个文件冲突导致的反复重试耗时。
- 痛点二(极易陷入崩溃与幻觉):单次长对话的上下文是会膨胀的。大模型在改到第 30 个文件的时候,前面改那 29 个文件的巨量代码快照已经在严重污染大模型的记忆,导致它在后半程大概率会出现格式错误或幻觉。
2. Claude Code 解决方案:Map-Reduce 级的分发收敛
在 Claude Code 的 skills/bundled/batch.ts 源码中,作者包装了一个极具威力的杀手级命令。
机制一:任务的解析与切片 (Task Splitting)
当用户输入 /batch 给 src 目录下所有的 .ts 文件添加详尽的 JSDoc 注释 时:
引擎并不会直接开始干活。它会调用底层的 glob 工具,瞬间找出这 100 个需要处理的目标文件列表,并将它们均分成多个切片(Chunks)。
机制二:隐式 Fork 与并行风暴 (Parallel Forking)
此时,引擎会利用 Fork Subagent 的底层能力,以及前文提到的 同进程沙盒隔离 技术,瞬间在当前进程内拉起 10 到 20 个 Worker Agent!
- 这些 Worker Agent 共享了开头的 System Prompt 缓存,极大地省去了重复建链的 Token 费用。
- 它们同时开工,每个人独立承接修改 5 个文件的子任务,互不干扰,相互隔离。
- 并发请求被底层的
p-limit拦截器管理,防止瞬间的 QPS 把大模型 API 限流阀门打爆。
机制三:最终状态汇总 (Results Aggregation)
在这几十个异步 Promise 全部结束后,总控的 Master 进程会回收所有的战果,如果某个文件修改失败,它会在终端上打出一个极其清晰的 Markdown 表格汇报:
成功修改:48 个文件。 失败:2 个文件(因为原文件太长超过了模型窗口,或者解析异常)。
开发者原本要等数小时的苦力活,现在仅仅因为 20 路并发,在 3 分钟内直接宣告收工!
二、Qwen Code 的改进路径 (P2 优先级)
让 AI 代理从“优秀的单兵”变为“不知疲倦的工程连”。
阶段 1:开发 /batch 原生 Skill
- 在
packages/core/src/skills/bundled/目录下新增batch.ts。 - 配置该 Skill 需要显式触发。它的参数接收一个文件匹配符(Glob)和一个具体的 Action(你想对这些文件做什么)。
阶段 2:构建批处理运行时 (Batch Runtime)
- 使用
fast-glob获取目标列表。 - 引入
p-map等并发控制库,设定CONCURRENCY_LIMIT(比如默认并发 5 路,避免打爆 API 额度)。 - 循环拉起子代理:对于每个文件,生成一个独立的精简版 Context,传入专门处理该任务的小模型(比如用
qwen-turbo这种极速模型,极大地压榨并发处理性价比)。
阶段 3:UI 渲染与防抖防爆
必须结合我们在 动态状态栏 中提到的机制。
因为多路并发会导致控制台日志交错错乱(Interleaved Output)。因此,主控程序必须彻底屏蔽掉所有 Worker 代理的标准输出,只能在底部的状态栏使用单行的 [Batch Progress: 45/100 files completed] 来进行冷淡但清晰的宣告。
三、改进收益评估
- 实现成本:中等偏高。需要强壮的多 Agent 隔离基建打底,处理好进程内并发 OOM 的风险以及 Token 并发限制。
- 直接收益:
- 指数级的效率提升:面对真正的企业级老旧项目翻新,提供了一种大发神威、能在短时间内看到明显架构重构效果的“魔法按钮”。
- 从脚本到引擎的蜕变:只有掌握了横向扩展和并发编排,才能自豪地称之为一个具有成熟调度能力的企业级 Agent 框架。