Claude Code 的隐藏技能:Subagent 全流程实操与 TaoToken 配置指南
1. 为什么代码审查场景最该用 SubagentClaude Code 的主对话窗口其实是个稀缺资源。你让它一边写业务代码、一边查 Bug、一边顺手 review 一下刚提交的 PR聊到后面上下文就开始打架前面定的命名规范被冲掉刚说过的接口约束它又忘了。代码审查这种「读多写少、结论独立」的活儿恰恰是最不该占用主上下文的。Subagent子代理解决的正是这个问题。你可以把主 Agent 理解成项目经理Subagent 就是它手下的专职审查员独立上下文、独立系统提示、独立工具权限干完活只把结论回传给主对话。审查过程里翻了多少文件、读了多少行 diff全都不污染你正在写代码的主线程。这篇聚焦一个具体落地场景用 Subagent 做代码审查并且用 TaoToken 统一 Key 和 API 通道接入。我会给你一份可直接复制的settings.json骨架、一个代码审查子代理的 Markdown 定义以及一次完整的验证动作。适合已经在用 Claude Code、但还没把 Subagent 跑起来的人。2. TaoToken 前置把 Key 和 API 通道统一起来Subagent 本身是 Claude Code 的能力但每个子代理跑起来都要发模型请求。如果你主对话走一个通道、子代理又走另一个排查问题时会很痛苦。我的做法是统一走 TaoToken一个 Key、一个 API 地址主 Agent 和所有 Subagent 共用。先拿到 Key。打开控制台在 API Keys 页面创建一个新 Key复制出来先存好后面配置要用https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentsubagent_consoleAPI 通道地址固定为https://taotoken.net/api注意这个地址不带任何查询参数配置时原样填。如果你对 Claude Code 的接入方式还不熟可以先翻一下接入文档里面把环境变量和配置文件两种方式都写清楚了https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentsubagent_doc这里有个关键点Claude Code 读的是环境变量ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN。Subagent 不会单独再配一套凭证它继承主进程的环境。所以只要主进程的通道通了子代理天然就能用。这也是我推荐统一通道的原因——配一次全链路生效。3. 可复制配置settings.json 骨架与子代理定义3.1 settings.json 骨架Claude Code 的用户级配置放在~/.claude/settings.json项目级放在项目根目录的.claude/settings.json。下面这份是用户级骨架把通道和 Key 都收敛进来{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: sk-你的TaoToken密钥, ANTHROPIC_MODEL: claude-sonnet-4-5, ANTHROPIC_SMALL_FAST_MODEL: claude-haiku-4-5 }, permissions: { allow: [ Read, Grep, Glob ], deny: [ Write, Edit, Bash(rm:*) ] } }几个参数说明一下。ANTHROPIC_BASE_URL指向 TaoToken 的 API 通道ANTHROPIC_AUTH_TOKEN填你刚创建的 Key。ANTHROPIC_SMALL_FAST_MODEL是给轻量任务用的快模型Subagent 里的探索型代理会优先用它省钱又低延迟。permissions里我把Write、Edit直接 deny 了——这是给代码审查场景兜底防止任何代理误改文件。注意deny的优先级高于allow。即使某个子代理自己声明了编辑权限只要这里 deny 了它照样改不了文件。审查场景建议保持这个 deny 列表。3.2 代码审查子代理定义子代理是一个带 YAML 前置元数据的 Markdown 文件放在~/.claude/agents/用户级或.claude/agents/项目级。文件名就是代理名比如code-reviewer.md--- name: code-reviewer description: 代码审查专员。当用户要求 review 代码、检查代码质量、审查 diff 或 PR 时调用。只读分析输出问题清单与改进建议不修改任何文件。 tools: - Read - Grep - Glob model: claude-sonnet-4-5 --- 你是一名资深代码审查员只做只读分析绝不修改文件。 审查时按以下维度逐项检查 1. 可读性命名是否表意、函数是否过长、嵌套是否过深 2. 正确性边界条件、空值处理、异常分支是否覆盖 3. 性能是否存在明显的重复计算、N1 查询、无谓拷贝 4. 安全输入校验、敏感信息硬编码、注入风险 输出格式要求 - 每条问题给出文件路径:行号、问题描述、当前代码片段、改进后的代码片段 - 按严重程度排序阻断 严重 建议 - 最后给出一句话总体结论description是灵魂。主 Agent 就是靠这段话判断「什么时候该把任务外包给这个子代理」。写得越具体委派越准。tools只给读工具从源头保证它不会动你的代码。3.3 用斜杠命令快速生成不想手写也行在 Claude Code 里输入/agents选Create new agent然后按提示走选用户级还是项目级、选让 Claude 帮你生成还是手动、填描述、勾工具权限、选模型、选背景色。代码审查场景记得在工具权限那步选「只读权限」。保存后无需重启立即生效。4. 验证请求跑一次完整的代码审查配置完别急着上大项目先拿一个小文件验证链路通不通。假设你有个utils/parse.js里面有个可疑的函数。在主对话里直接说用 code-reviewer 子代理审查一下 utils/parse.js主 Agent 识别到「审查代码」这个意图匹配到code-reviewer的 description就会把任务委派出去。你会看到界面上出现一个不同背景色的子代理在跑它独立读文件、独立分析主对话这边不受影响。等它跑完回传的结果大概长这样[code-reviewer 返回] utils/parse.js:23 严重 未处理空输入 当前代码 const items data.split(,); 改进建议 if (!data) return []; const items data.split(,); utils/parse.js:41 建议 重复计算长度 当前代码 for (let i 0; i arr.length; i) { ... } 改进建议 const len arr.length; for (let i 0; i len; i) { ... } 总体结论存在 1 处空值风险需修复其余为优化建议。看到这个结构化输出说明整条链路通了TaoToken 通道正常、子代理被正确委派、只读权限生效、结果回传主对话。如果想让它在后台跑按Ctrl B子代理执行期间你还能继续和主 Agent 聊别的完成后会自动通知你。想单独验证模型通道是否正常可以打开模型对话页面发一条测试消息确认 Key 和地址没问题https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentsubagent_chat5. 本篇常见错排查子代理没被调用主 Agent 自己干了。九成是description写得太模糊。把触发场景写具体比如加上「当用户要求 review 代码、检查 diff 时调用」主 Agent 才能准确匹配。报 401 或鉴权失败。检查ANTHROPIC_AUTH_TOKEN是不是完整复制了有没有多余空格。Key 在控制台重新生成一个再试https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentsubagent_keys子代理想改文件但被拦。这是预期行为。settings.json里 deny 了Write/Edit审查场景就该这样。如果你确实需要某个子代理能写单独给它开权限但别动全局 deny。改了配置不生效。用户级配置改完新开一个会话项目级配置确认文件在.claude/settings.json不是根目录随便一个 json。子代理文件确认放在agents/目录下扩展名是.md。子代理跑得慢。检查是不是让它用了大模型做简单检索。探索类任务交给快模型ANTHROPIC_SMALL_FAST_MODEL配好能明显降延迟。6. 长期编码与 Agent 工作流如果你打算把 Subagent 常态化用在日常开发里——代码审查、自动测试、文档生成各配一个专职代理——那模型调用量会稳定上升。这种长期编码和 Agent 场景用 Coding Plan 比按量计费更划算通道和 Key 还是同一套不用重新配https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentsubagent_plan配置入口和文档都在官网需要的时候直接翻https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentsubagent_home我自己的习惯是主对话只负责写代码和决策所有「读多写少」的活儿——审查、检索、测试——全部外包给子代理。上下文干净了主 Agent 的注意力才不会被稀释。你可以先从code-reviewer这一个代理跑通确认链路没问题再按同样套路加第二个、第三个。