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 架构