关于 qwen-agent
qwen-agent 是一项技能,用于将范围明确、独立的小任务交给无头 Claude Code 实例中的 Qwen 模型。它说明如何编写提示词、控制上下文规模、运行任务并核验结果。
主要功能
- 01委派琐碎且独立的任务
- 02通过 claude-9arm 运行 Qwen
- 03要求提示词独立且含验收标准
- 04拆分任务以适配上下文窗口
- 05核验委派任务的输出
适用场景
- 01清理指定文件中的未使用导入
- 02并行执行互不依赖的小型修改
- 03按明确的输出标准委派任务
- 04检查成本较低模型生成的结果
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ thananon/ 9arm-skills --skill qwen-agent安装后在 Claude Code 中输入/qwen-agent确认已加载。
详细介绍
qwen-agent
将琐碎、独立的任务交给在无头 Claude Code 实例(claude-9arm)中运行的 Qwen 模型处理。把昂贵的 Claude 推理留给真正需要它的工作。
命令
claude-9arm 是一个 shell 别名 → 通过 9arm 网关路由的 claude --model qwen3.6-35b-a3b。使用 -p 以无头模式运行:
claude-9arm -p "<self-contained task prompt>" --allowedTools Bash Read Edit Write Glob Grep
- 这是默认调用方式。 标志列表限定了子 Agent 无需提示即可使用的工具,因此它可以无人值守地完成琐碎任务。若不加这些标志,子 Agent 会在首次编辑或运行命令时停下来等待批准。
- 该别名内置了
--allowedTools '*',但 Claude Code 会静默忽略它,并显示警告(Wildcard tool name "*" is not supported)。这是预期行为,无害;追加的--allowedTools才会生效。 - 对于仅涉及编辑、风险较低的任务,也可以使用
--permission-mode acceptEdits(自动接受文件编辑,但 Bash 仍会提示;不要将其用于验证、构建或测试)。
编写任务提示词(最重要的一步)
Qwen 子 Agent 完全没有本次对话的上下文。提示词含糊是最常见的失败原因。每条提示词都必须独立完整:
- 每个输入和输出文件都使用绝对路径(
/Users/tpatinya/proj/src/foo.ts,而不是foo.ts)。 - 明确说明输入、输出和验收标准——需要修改什么,以及怎样才算“完成”。
- 不要提及“我们讨论过的文件”“上文”或之前的对话轮次。
- 把 Qwen 当作能力不错但按字面执行的初级员工:明确列出步骤,严格限定范围。
错误示例:clean up the imports
正确示例:In /Users/tpatinya/proj/src/api.ts, remove unused imports and sort the remaining import statements alphabetically. Do not change any other code. Confirm the file still parses.
注意上下文窗口(128k)
Qwen 的上下文窗口为 128k 个 token,远小于 Claude。整个任务(提示词 + 它读取的每个文件 + 它自身的推理和编辑)都必须能放进窗口。安排委派任务时,除了考虑“是否琐碎”,也要考虑任务大小是否适合模型:
- 委派前先估算占用量:需要读取、打开和写入的文件字节数之和 ÷ 4 ≈ token 数。如果单个任务需要一次读取大型文件或许多文件,就无法装入上下文。
- 将大型任务拆分为彼此独立的小块,每块只处理范围有限的内容——例如每次处理一个文件(或少量小文件)、一个目录或一段日志。将各块作为单独的
claude-9arm调用运行(前台运行,或根据“返回约定”一节在后台并行运行)。 - 不要让它读取不必要的内容。 指定确切的文件/路径;绝不要让它“扫描仓库”或读取整个大型目录树。
- 验证时留意上下文耗尽的迹象:编辑内容被截断、后续指令被忽略,或摘要漏掉了要求修改的文件,这些通常意味着任务超出了上下文容量;应进一步拆分任务并重试。
如果任务本身太大,无法清晰拆分(必须了解整个代码库才能正确完成),这就说明它不适合交给 Qwen——请自己处理。
工作目录
Bash 工具每次调用后都会重置 cd,而 cd && 可能触发权限提示。不要依赖当前工作目录:
- 在提示词中使用绝对路径,或
- 传入
--add-dir /abs/path,授予子 Agent 访问目录的权限。
返回约定
-
默认(文本): Qwen 的最终消息会输出到 stdout;直接读取即可。
-
需要解析结果: 添加
--output-format json并提取result字段。 -
后台/并行(同时运行多个任务): 将输出重定向到日志,并使用 Bash 工具的
run_in_background: true运行;任务完成后读取日志:claude-9arm -p "<task>" --allowedTools Bash Read Edit Write Glob Grep > /tmp/qwen-<label>.log 2>&1
将彼此独立的任务分别作为后台运行启动;每个任务完成后收集对应的日志。委派 2 个或更多互不相关的琐碎任务时,使用此方式。
工作流检查清单
- 确认任务属于琐碎且低风险的工作(参见说明)。如果需要设计判断或依赖本次聊天的上下文,请自行完成,不要委派。
- 检查任务是否符合 qwen 的 128k 上下文窗口限制——估算文件规模,并将大型任务拆分为有界的逐文件/逐目录批次(参见“注意上下文窗口”)。
- 编写完整自包含的提示词,包含绝对路径和验收标准。
- 运行
claude-9arm -p "..." --allowedTools Bash Read Edit Write Glob Grep(前台运行),或在并行任务中重定向到后台运行。 - 自行验证输出——qwen 更便宜,但可靠性较低。报告成功前,检查文件/结果是否确实符合验收标准。
一次性设置(可选,可免去重复提示)
若要在委派运行时停止每次调用的权限提示,请为该命令添加 Bash 允许规则(通过 update-config 技能,或编辑设置):
{ "permissions": { "allow": ["Bash(claude-9arm:*)"] } }
不要委派的情况
架构/设计、需要推理的调试、安全敏感的更改、任何需要本次对话上下文的任务,或错误的廉价模型编辑会导致高昂检查成本的任务。如有疑虑,请自行处理。