当前位置: 首页 > news >正文

Claude Code SubAgents 配置实战:4个现成配置,复制就能用

用 Claude Code 做项目有个烦人的事:上下文窗口不够用。

让它查一下某个模块的实现逻辑,它把 20 个文件的内容全塞进对话里。查完之后你说"好,现在改这个函数",它告诉你上下文快满了,要不要压缩。

上周我重构一个 Express 项目,让 Claude Code 先摸清路由结构,再改中间件。光是"摸清"这一步,它读了 34 个文件,上下文用掉 60%。等到真正要改代码的时候,已经没多少空间了。

SubAgents 就是解决这个问题的。它让你把"查资料"和"干活"拆到不同的上下文窗口里。查完的 Agent 把结论给你,原始内容不会污染主对话。

Claude Code 自带的三个 SubAgent

装完 Claude Code 就有三个内置 SubAgent,不用配置:

Explore:用 Haiku 模型跑,只有读权限,不能改文件。你让 Claude Code 去了解一个不熟悉的代码库,它会自动把任务丢给 Explore。速度快,成本低,查完把摘要丢回来。

Plan:在 plan mode 下工作。你开了 plan mode 让 Claude Code 先做方案再动手,它会派 Plan 去读代码、收集信息,然后拿着信息回来给你做规划。用的是主对话的模型。

general-purpose:啥都能干,有完整的工具权限。当任务比较复杂、需要又读又写的时候,Claude Code 会用这个。

这三个是自动调度的,你不用手动指定。Claude Code 看任务类型自己选。

自定义 SubAgent:两种创建方式

方式一:命令行交互创建

在 Claude Code 里输入:

/agents

切到 Library 标签页,选 Create new agent。它会问你几个问题:

  • 放在哪里?Personal(存到~/.claude/agents/,所有项目都能用)还是 Project(存到.claude/agents/,只在当前项目生效)
  • 要什么工具权限?只读、全部、还是自己选
  • 用什么模型?Haiku 便宜快,Sonnet 平衡,Opus 贵但强
  • 要不要持久记忆?开了的话 SubAgent 会在~/.claude/agent-memory/存东西

方式二:直接写 Markdown 文件

~/.claude/agents/.claude/agents/下创建一个.md文件。格式是 YAML frontmatter + Markdown 正文:

--- name: my-agent description: 一句话描述这个 Agent 干什么 tools: Read, Glob, Grep, Bash model: sonnet --- 你是一个专门做 XX 事情的 Agent。 这里写系统提示词,告诉它该怎么工作。

存好之后重启 Claude Code 生效。用/agents创建的不用重启,即时生效。

作用域和优先级

多个地方都能放 SubAgent 配置,优先级从高到低:

位置作用范围优先级
组织级托管配置整个组织最高
--agentsCLI 参数当前会话2
.claude/agents/当前项目3
~/.claude/agents/所有项目4
插件的 agents 目录装了插件的项目最低

同名时高优先级覆盖低优先级。

4 个直接能用的 SubAgent 配置

下面是我在用的 4 个 SubAgent,直接复制文件到~/.claude/agents/就行。

1. 代码审查 Agent

--- name: reviewer description: 代码审查,检查质量和安全问题。在代码修改后主动使用。 tools: Read, Glob, Grep, Bash model: sonnet --- 你是代码审查员。收到代码后做这几件事: 1. 检查有没有明显 bug(空指针、数组越界、未处理异常) 2. 检查安全问题(SQL 注入、XSS、硬编码密钥) 3. 检查性能问题(N+1 查询、不必要的循环、内存泄漏风险) 4. 风格问题只提严重的,别纠结缩进和命名偏好 输出格式: - 问题等级(严重/警告/建议) - 文件名和行号 - 问题描述 - 修复方案 不要说"代码整体写得不错"之类的话。有问题说问题,没问题就说没发现问题。

这个 Agent 用 Sonnet 跑,够用了。给它只读权限加 Bash(用来跑 lint 或 grep),不给写权限,防止它一边审查一边改。

2. 测试生成 Agent

--- name: test-writer description: 给代码生成单元测试。在写完新函数或修改逻辑后使用。 tools: Read, Write, Edit, Glob, Grep, Bash model: sonnet --- 你是测试工程师。根据源代码生成测试用例。 规则: - 先读源文件,搞清楚函数的输入输出和边界条件 - 测试框架跟项目已有的保持一致(看 package.json 或 pom.xml) - 每个函数至少覆盖:正常输入、边界值、异常输入 - mock 外部依赖,不要让测试依赖数据库或网络 - 测试文件放在对应的 __tests__ 或 test 目录下 - 写完跑一遍 `npm test` 或对应的测试命令,确认能通过 不要生成那种只测试 "1+1=2" 的无效测试。重点测试业务逻辑的分支。

这个需要写权限,因为它要创建测试文件。

3. 文档扫描 Agent

--- name: doc-scanner description: 扫描项目文档和 README,找出过时或缺失的内容。 tools: Read, Glob, Grep model: haiku --- 你是文档审计员。扫描项目的文档文件,检查这些问题: 1. README 里的安装步骤能不能跑通(对照 package.json 的 scripts) 2. API 文档里的参数和实际代码是否一致 3. 配置示例里的环境变量在代码里是否真的用到了 4. 有没有引用了已删除的文件或函数 输出一个清单,列出每个问题的位置和建议修复方式。

用 Haiku 就够了,只需要读文件和匹配文本,不需要多强的推理。省钱。

4. Git 日志分析 Agent

--- name: git-analyst description: 分析 Git 历史,生成变更摘要或排查问题引入时间。 tools: Read, Bash, Grep model: haiku --- 你是 Git 历史分析员。通过 git log、git diff、git blame 分析仓库历史。 常见任务: - 生成最近 N 天的变更摘要(按模块分组) - 找出某个 bug 是哪个 commit 引入的 - 统计各开发者的提交频率和改动量 - 分析某个文件的修改历史 用 git 命令获取数据,然后整理成可读的报告。不要输出原始 git log,要做归纳。

用 CLI 参数临时创建 SubAgent

不想写文件?用--agents参数启动 Claude Code 时临时定义:

claude --agents '{ "quick-grep": { "description": "快速搜索代码中的模式", "prompt": "你是代码搜索工具。用户给你一个搜索目标,你用 grep 和 glob 找到所有相关代码位置,输出文件路径和行号。", "tools": ["Read", "Grep", "Glob", "Bash"], "model": "haiku" } }'

这个 SubAgent 只在当前会话存在,关掉就没了。适合临时用一次的场景。

踩坑记录

1. SubAgent 不能再套 SubAgent

SubAgent 内部不能再派 SubAgent。这是设计上的限制,防止无限嵌套。如果你的任务需要多层委派,考虑用 Agent Teams(多个 Agent 直接通信)或 Background Agents(并行跑多个独立会话)。

2. 文件创建后要重启

手写.md文件放到 agents 目录后,必须重启 Claude Code 才能加载。用/agents命令创建的不需要重启。我第一次用的时候写好文件,结果怎么都调不出来,折腾了半小时才发现要重启。

3. description 写清楚,不然 Claude 不知道啥时候用

Claude Code 看 description 决定什么时候调用这个 SubAgent。写太笼统(比如"一个有用的助手"),它可能永远不会用。写清楚具体场景:"在代码修改后主动审查代码质量",它才知道什么时候该派这个 Agent 出去。

4. 工具权限给少不给多

审查类的 Agent 别给写权限。我有一次给 reviewer 开了 Write,它一边审查一边把它觉得有问题的代码改了——没经过我确认。后来把 Write 去掉,改成只读,它老老实实只输出报告。

5. 同名冲突不报错

同一个 scope 下(比如~/.claude/agents/)如果有两个文件声明了同一个 name,Claude Code 随机保留一个,不会提示你。建议用不同的 name 值,或者整理好目录结构。

frontmatter 字段速查

字段作用示例值
nameSubAgent 标识符reviewer
description触发条件描述代码审查 Agent
tools允许使用的工具Read, Glob, Grep, Bash
disallowedTools禁止使用的工具Write, Edit
model使用的模型haiku / sonnet / opus
permissionMode权限模式plan(只读)/ full
maxTurns最大对话轮次10
memory持久记忆范围user / project / none
hooks生命周期钩子同 Claude Code Hooks
skills加载的技能文件["./skills/lint.md"]
colorUI 背景色blue

什么时候该用 SubAgent

不是什么任务都要拆成 SubAgent。判断标准:

这个任务会往上下文塞一堆你后面用不到的内容吗?如果是,拆出去。

你经常重复给 Claude Code 同样的指令吗?如果是,做成 SubAgent。

你想让某类任务用便宜的模型跑吗?如果是,做成 SubAgent 指定 Haiku。

如果只是一个简单的"帮我改这个函数",直接在主对话里做,别过度设计。


配置文件都在 GitHub Gist 上存了一份,搜 "claude-code-subagents-config" 能找到。有问题评论区聊。

http://www.jsqmd.com/news/882334/

相关文章:

  • 终极Minecraft NBT数据编辑指南:NBTExplorer完全解析
  • QMCDecode:解锁QQ音乐加密格式,实现音频自由播放的本地解密工具
  • Go二进制逆向实战:破解IDA Pro无法识别的Golang符号与runtime机制
  • 华硕笔记本性能释放终极方案:G-Helper轻量控制工具完全指南
  • ComfyUI-Manager深度解析:AI工作流扩展管理系统的架构设计与性能优化
  • # AI零代码应用生成平台项目实训(七)——图片收集并发优化与子图实战
  • 吉林做幕墙工程公司哪家性价比高?恒基幕墙工程上榜 - mypinpai
  • Codex CLI 上手前,先补上这条可回滚的验收链路
  • 终极指南:如何在Windows系统中使用ViGEmBus实现游戏控制器虚拟化
  • 机器学习在期权定价中的应用:超越Black-Scholes与Heston模型的实践
  • 终极指南:如何用SketchUp STL插件轻松实现3D打印文件转换
  • 联邦学习与知识图谱融合:破解罕见儿科疾病数据孤岛与隐私难题
  • 科学机器学习评估框架CTF4Science:主流模型在混沌系统预测中的性能剖析
  • Tushare金融数据 API 平台
  • 机器学习系统监控:从静默失败到端到端可观测性的实践指南
  • 推荐!2026年靠谱的沙盘模型设计公司 - mypinpai
  • 每日一Go-66、K8s 蓝绿发布 金丝雀发布实战:Service 切流量 + Ingress 灰度一次讲透
  • 原码、反码、补码:概念解析与记忆方法
  • 百度网盘解析工具终极指南:3分钟突破限速实现高速下载
  • ARM SVE2指令集与UADDLB/UADDLT指令详解
  • AlwaysOnTop:终极Windows窗口置顶工具完整使用指南
  • 碧蓝航线Alas自动化脚本:解放双手的终极游戏助手完整指南
  • GHelper技术深度解析:华硕笔记本轻量控制工具的实现原理与高级配置指南
  • 信创运维实战:在ARM版银河麒麟V10上离线搞定telnet的完整流程(附软件包查找技巧)
  • 手把手教你处理TT100K数据集:从COCO格式转换到YOLO格式的完整流程(附Python脚本)
  • v100 是否支持MoE,缺少现代优化内核 FlashAttention、PagedAttention
  • 从NCM格式束缚到MP3音乐自由:3步解锁你的网易云音乐收藏
  • 直流电机驱动控制电路
  • 从人工标注到模型上线:一个多月搞定裂缝检测数据集的实战复盘(含YOLO/VOC格式)
  • 2026国内排插品牌推荐:安全与设计兼具的品质之选 - 品牌排行榜