06 - Subagents 使用
什么是 Subagent
从主对话派出去的一个独立 Claude 实例,有自己的上下文窗口,只用指定的工具,干完汇报结果。
最大的价值不是”并行”,而是隔离——扫代码库、跑测试、做审查这类会产生大量输出的事,塞进主线程很快就把有效上下文挤没了,交给 Subagent 做,主线程只拿一个摘要,干净很多。
内置 Subagents
| 名称 | 用途 | 默认模型 |
|---|---|---|
| Explore | 只读扫库 | Haiku(省成本) |
| Plan | 规划调研 | — |
| General-purpose | 通用 | — |
也可以在 .claude/agents/ 下自定义。
配置参数
| 参数 | 说明 |
|---|---|
tools / disallowedTools | 限定能用什么工具,别给和主线程一样宽的权限 |
model | 探索任务用 Haiku/Sonnet,重要审查用 Opus |
maxTurns | 防止跑飞 |
isolation: worktree | 需要动文件时隔离文件系统 |
后台运行
长时间运行的 bash 命令可以按 Ctrl+B 移到后台,Claude 之后会用 BashOutput 工具查看结果,不会阻塞主线程。Subagent 同理,直接告诉它”在后台跑”就行。
反模式
- 子代理权限和主线程一样宽 → 隔离没有意义
- 输出格式不固定 → 主线程拿到没法用
- 子任务之间强依赖 → 频繁共享中间状态,这种情况不适合用 Subagent
Prev: 05 - Hooks 设计 | Next: 07 - Prompt Caching 架构