如何正确用好 Claude Code 的 general-purpose(附一个反面教材)

general-purpose 真的又慢又笨吗?大多数时候不是------是派活的方式错了。今天用一个真实的反面教材,手把手教你怎么正确用它。


先搞清楚:general-purpose 到底是什么

在 Claude Code 里,你和我对话的这个窗口是「主会话 」,相当于大脑。但有些活不适合大脑亲自干------比如要同时处理好几件事、要隔离上下文、或者就是一些琐碎的批量操作。这时候,就可以「派生 」(spawn)一个子代理(subagent) ​出去专门干活。

子代理分两种:

  1. general-purpose(通用子代理) :内置的「万能工」,没被特别定制。什么工具都能用、什么活都能接,但脑子里没有你项目的任何预设信息------开工前,只能靠你给的任务书 + 自己现场侦察。
  2. 自定义 agent(定制子代理) :你按特定场景调教过的「熟练工」,通过 .claude/agents/*.md 定义,里面提前写好了路径、命令、红线。相当于带着「入职手册」上岗。

一句话记住区别 👇

general-purpose 是「白纸万能工」,自定义 agent 是「带手册熟练工」。 ​

本文要聊的,就是怎么把这张白纸用好------用不好,它就成了下面这个反面教材。


一个误会:它慢,多半是你的锅

很多人吐槽 general-purpose「磨叽」「不靠谱」,但真相是:

  • 自定义 agent:带手册上岗,开工即用
  • general-purpose:白纸一张,只有你丢给它的那份任务书

它慢不慢,几乎完全取决于你那份任务书写得怎么样。下面这个反例,就是我把任务书写砸了的现场。


反面教材:一次 git 推送,为什么磨了 13 分钟

上周有个活:两个仓库要 登记 → commit → push → 镜像,四步链。我的派活链路长这样:

三层嵌套链路

plaintext

markdown 复制代码
第1层  主会话(掌握全部上下文,但不直接碰 git)
        │  写任务书:6+1 件、排除清单、commit message、四步链
        ▼
第2层  自定义 agent(自带手册)
        │  它没自己跑 git,又把活儿拆了一层
        ▼
第3层  执行子 agent(general-purpose,白板)
        冷启动:仓库长啥样?.gitignore 的 M 是什么?
        pom.xml 为啥是脏的?→ 全是现场查

结果:

  • 15:22 启动 → 15:35 才完成仓 1 commit,光第一步就磨了 13 分钟

复盘下来,我犯了三个错误,正好是大多数人的通病 👇

❌ 错误一:让白板 agent 干「需要上下文」的活

第 3 层那个 general-purpose 白纸一张,却要它理解「这个仓库的 .gitignore 为什么有 M、pom.xml 为什么是脏的、哪些文件算越界」------这些答案,第 1 层我全知道,第 2 层手册里也写了大半。让一个没有记忆的人,去重建一份别人早就有的认知,注定慢。 ​

❌ 错误二:任务书层层转手

任务书转了两手:我 → 自定义 agent → 子 agent。每转一手,信息可能丢、格式要重写、下一层要重新理解。三层里任何一层慢,整体就慢。

❌ 错误三:参数没给全,逼它自己猜

最致命的失误:我在任务书里把镜像路径写错了 。自定义 agent 按错误路径去,发现结构对不上,只好把整个目录扫一遍找正确路径------多花一整轮侦察。

一句话总结这个反例 👇

我把一个「参数残缺、层层转手、还要求现场侦察」的活,丢给了一个白板执行者。它慢,是必然的。 ​


选型:什么时候用 general-purpose,什么时候用自定义 agent

会用之前,先得会「选」。这两个工具不是谁替代谁,而是各管一段:

维度 general-purpose(白纸万能工) 自定义 agent(带手册熟练工)
适合的活 一次性、探索性、边界清晰、结果可独立验证 有固定套路、反复要做、强依赖项目约定
上下文 白纸,靠任务书现场喂 手册预载,开工即用
启动成本 每次都冷启动侦察一遍 定义一次,反复复用
典型场景 搜代码、跑脚本、批量改名、陌生仓库探险、一次性数据整理 固定格式的 commit、定时巡检、特定平台的发布流程

判断标准就一句话:

「这件事我下个月还会不会做?」会 → 自定义 agent;不会 → general-purpose。 ​

几个实战例子,一眼就能对号入座:

  • 「帮我搜下这个函数在哪些地方被调用」→ general-purpose(一次性探索)
  • 「探索一下这个陌生仓库的目录结构」→ general-purpose(探险)
  • 「每次发版都要走的 git 提交流程」→ 自定义 agent(反复、有套路)
  • 「按公司规范生成 commit message」→ 自定义 agent(强依赖约定)

选对工具,问题就解决了一半;选错了,再好的任务书也救不回来------那个反例里,我最大的错其实不是任务书写砸了,而是把一个本该由自定义 agent 干的固定流程,硬塞给了白板万能工。


正确姿势:五条照着做

反例正解对照

选对工具之后,剩下五条实操:

✅ 1. 任务书写成「傻瓜都能照着做」

别写「把代码提交了」,要写到这种颗粒度:

plaintext

bash 复制代码
对 src/xxx.java、src/yyy.java 执行 git add;
确认暂存区干净、无 pom.xml 混入;
commit message 用「FnCros0011 日终检查改造」;
完成后回传 git log 最后一条。

环境参数一次给全:路径、命令、配置位置、红线。白板 agent 最怕「东西在哪儿」这种要猜的问题------你替它把答案写进去,它就不用侦察了。

✅ 2. 明确要求「不嵌套、直接执行」

能自己敲的命令,就别再 spawn 子代理。任务书里直接加一句:「你自己直接执行,不要派生任何子代理。 ​」

✅ 3. 拆任务:小步走、每步可验证

别把大活一口气全丢给它。拆成小步骤,每完成一步就回报关键结果(比如「已 commit,最后一笔 hash 是 xxx」),再放它去下一步。跑偏了能早发现。

✅ 4. 复杂任务先要「计划」,再放行

路径多、分支多的活,先让它输出执行计划给你过目,确认无误再动手。多花 30 秒看计划,能省 10 分钟的重跑。

✅ 5. 结果要「可验收」

干完活别光听它说「完成了」,要它回传可核对的证据------最后一笔 commit 的 hash、改动的文件清单、执行日志。白板 agent 的「完成」和你的「完成」往往不是一个意思,要它用数据证明。

核心心法就一句:别把「动脑的活」和「查环境的活」混着派。 ​ 动脑的活自己留好上下文,查环境的活把答案直接喂给它。


总结

回到开头那个误会:general-purpose 慢,不是它「蠢」,而是你让它从零重建了一份本可以不用重建的认知。

这跟写代码一个道理:能复用的沉淀成模块(自定义 agent),不能复用的把依赖注入清楚(任务书参数给全)。 ​ 子代理的效率,本质是「任务书工程」的效率------那个 13 分钟的反例,就是我「任务书工程」没做好的代价。

把派活当门手艺练,你的 general-purpose 会快得让你意外。


参考资料:本文基于一次真实的 Claude Code 多仓库 git 推送任务的复盘

相关推荐
jerrywus6 小时前
Codex、Claude Code、DSH 怎么用手机管?我试了试 Agents Anywhere
前端·claude·deepseek
ZzT8 小时前
Anthropic 建议少开子 agent:实测拆成 3 个并行,慢了 54%、花费翻倍
agent·ai编程·claude
乘风gg8 小时前
AI coding 时代最值钱的东西,软件工程(下)
前端·ai编程·claude
一缕82年的清风11 小时前
从 Claude Opus 5.5 到 GPT-6.1 Sol:自适应慢思考时代,架构师该如何重构企业智能体?
gpt·claude
FPGA小迷弟1 天前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
c++·python·ai·plotly·django·ai编程·claude
302wanger1 天前
Anthropic 代码评审实践:6 层防线 + 3 轮上限,AI 写 90% 代码后怎么保证质量
claude
jerrywus1 天前
给 Pi 装上生图插件:从登录报错到画出一只 200×200 的猫
前端·agent·claude
黑黑的脸蛋1 天前
同时用 Claude Code 和 Codex,我做了个 Agent 资产库:能预览、能投递、能追更新
ai编程·claude·mcp
ZzT1 天前
嫌推理慢就把 effort 调高?effort 管的是想多少,不是想多快
openai·ai编程·claude