在实际工作和开发中经常会遇到这种情况,输出很多日志执行结果,有测试的、有执行的、有思考的。这些如果是小项目虽然看着很清楚,感觉很有掌控感,但是如果是大项目,我们操作的过程很多,真正重要的信息被淹没在茫茫输出海洋里。也就是说他们对“当下执行”是必要的,但对“后续决策”是噪声。
在实际工作中,你也会觉的Claude Code 越来越不好用,并不是模型退化了,而是你的对话上下文,已经被一次次中间过程污染了。
这就是子代理要解决的问题:把“高噪声的执行过程”隔离出去,只让真正有价值的结论,留在主对话中。 子代理,通过上下文隔离,让专业的Agent做专业的事,不是为了让Claude做得更多,而是为了让Claude记得更少,但记得对。
一、读懂子代理
1. 什么是子代理
子代理相当于一个“专职小助手”,带着自己的规则、工具权限、上下文窗口,去完成某一类任务,然后把“结果摘要”带回来。主Agent和sub-Agent的关系是什么?可以理解为老板和员工的关系。

2.什么时候用子代理
并不是所有任务都值得动用子代理。子代理的价值,不在于“能不能用”,而在于“该不该用”。一个最直观的判断标准是:主对话到底需不需要承载执行过程本身。
四种适合子代理的任务:

-
高噪声输出任务,这类任务的特点是:执行过程中会产生大量中间信息,但主对话真正关心的,只是一个结论。例如跑测试,一次测试会输出几百行日志,而我们关心的只是这次测试是否跑成功了。
-
角色边界非常明确的任务,有些事情,你只希望Claude “看”,而不希望它“做”;有些操作,只能在特定目录、特定范围内发生; 这些就需要用子代理。比如分析项目需要优化的地方,但不做修改,让子代理给你持续的修改建议。
-
可以并行展开的研究型任务,当你需要同时执行数据库设计、API接口、修改前端UI和后端业务逻辑代码,这些任务往往是互相独立的。与其在主对话里来回切换,可以让多个子代理各自完成自己的任务,再把结果汇总回来。这时候子代理的价值不只是隔离上下文,更是天然的并行加速器。
-
可以拆成清晰阶段的流水线任务,比如先定位代码位置,再做代码审查,然后进行修改,最后跑测试验证。用子代理可以把每一段责任固定下来,让流畅更清晰,也让每一步上下文更加干净。这不是为了复杂化流程,而是为了避免不同阶段的信息互相污染。
什么时候不使用: 子代理虽好,但不是什么时候都要使用的。我认为项目很小时,没必要使用。比如你就写个个人博客,写个毕设图书管理系统,再或者和主线任务相关联的任务时,不需要使用子代理。
3.关键约束条件
子代理不能在嵌套调用子代理,也就是说你的Sub-Agent里不能调用另一条Sub-Agent。所有调用子代理的操作必须由主对话完成,比如你需要“先审查再修复”,必须由主对话依次调用来个子代理,而不是让第一个子代理去调用第二个。如果在子代理用到技能/知识,用skill字段预加载,而不是再嵌套一个子代理。
二、写个Sub-Agent(子代理)
存放位置
对于项目级 (当前项目可用)的子代理存放位置如下:需要先建立一个.claude文件夹,然后在这个文件夹下面继续建立一个agents文件夹,在agents文件夹下就添加你的Sub-Agent了。
在这里新建一个代码审查的子代理,起名为code-reviewer.md。
具体位置如下:
your-project/
└── .claude/
└── agents/
└── code-reviewer.md
1.编写方式
你现在对于子代理的概念和用途有了清晰的了解。编写一个子代理,只要使用Markdown+Frontmatter格式 就可以了。那下面我们就看看如何创建一个子代理。如果你用过Hexo这样的博客系统,就很容易理解这种格式。
---
name: code-reviewer
description: Review code for security issues and best practices. Use after code changes.
tools: Read, Grep, Glob
model: qwen3.5-plus
---
你是一个代码审查专家。
当被调用时:
1. 首先理解代码变更的范围
2. 检查安全问题
3. 检查代码规范
4. 提供改进建议
输出格式:
## 审查结果
- 安全问题:[列表]
- 规范问题:[列表]
- 建议:[列表]
2.工具权限的说明
工具权限应遵循最小权限原则——只开放必要的工具,能用 Read 完成的任务,就不要给 Edit。以下是根据用途划分的典型工具组合:
只读型(审计/检查) 研究型(信息收集) 开发型(读写改)
├── Read ├── Read ├── Read
├── Grep ├── Grep ├── Write
└── Glob ├── Glob ├── Edit
├── WebFetch ├── Bash
└── WebSearch ├── Glob
└── Grep
3.使用的方法
使用方法很简单,只要在主对话中输入
用 code-reviewer 子代理审查首页模块
[子代理完成]
留言
发表留言
邮箱必填,留言后等待管理员审核通过后显示。