# 💡Summary
> [!Info]
> 一个进程、一个session、两个context
# 🧩 Cues
# 🪞Notes
## 一、subagent 的本质
1. 进程层面:subagent 是一个独立的推理过程,有自己的 context window,独立读文件、做搜索。但它不是 claude -p 那样的 CLI 子进程,而是在同一个 Claude Code 进程内部,通过 API 调用创建的一个并行推理流。
2. Session 层面:subagent 不会创建新的 session ID。它的生命周期完全在主 session 内,结束后上下文就释放了。
3. Context 层面:subagent 有独立的 context window(这是关键)。它读的文件、中间推理都不占主 context。只有最终返回的摘要文本进入主 context。
| | Subagent(Agent 工具) | claude -p 子进程 |
| :--- | :--- | :--- |
| 进程 | 同进程内 | 新进程 |
| Session | 无独立 session | 有独立 session ID |
| Context | 独立 window,结果回传 | 完全独立 |
| 可 resume | 不可 | 可(--resume) |
| 访问主对话历史 | 不能 | 不能 |
简单说:subagent 像是"脑子里开了个分线程想问题",而 claude -p 是"叫了另一个人来干活"。
![CleanShot 2026-04-03 at
[email protected]|1000](https://imagehosting4picgo.oss-cn-beijing.aliyuncs.com/imagehosting/CleanShot%202026-04-03%20at%2012.17.03%402x.png)
## 二、Agent 如何定义
[[【cc】Agent]]
agent 定义在` ~/.claude/agents/` 目录下,每个 agent 一个 .md 文件。
```text
例如:
- ~/.claude/agents/business-unit.md
- ~/.claude/agents/ceo-assistant.md
- ~/.claude/agents/investment-bu.md
```
## 三、如何 new 一个 Agent 去干活
- **父 agent 自动 spawn** — Claude 看到任务匹配某个 agent 的 description,自动委派
- **你手动调用** — 对话里直接说"用 `research-department` 去调研这个问题"
- **快速切换模型** — 注意你的配置里 `product-department` 和 `research-department` 用的是 **opus**,重型任务专用;`ops-department` 用 **haiku**,轻量快速
除了这些内置子代理外,您还可以使用
1. 内置调用,自动出发 plan subagent、explore subagent
2. 自定义提示词、
3. 工具限制、权限模式、钩子和技能来创建自己的子代理。以下章节将介绍如何入门和自定义子代理。