AI Agent
子 Agent 协作
让主 Agent 起子 Agent 处理子任务 — 避免上下文爆炸。
为什么要用子 Agent
一个 Agent 的上下文窗口是有限的 — Sonnet 200K、Opus 200K、GPT 128K。当一个任务需要读 30 份文档、跑 20 次搜索时,主 Agent 的上下文很快塞满,模型开始遗忘早期内容、犯逻辑错误。
子 Agent 解法是:主 Agent 把一个子任务("读这 30 篇文章并出一份摘要")委托给子 Agent,子 Agent 用自己独立的上下文跑完,只把最终结果交回主 Agent。主 Agent 只看见"摘要",不看见 30 篇原文。
什么时候用
- 研究一个大主题 — 子 Agent 去抓资料、回主 Agent 一份摘要
- 处理 100+ 行表 — 子 Agent 分批处理
- 并行执行可独立的子任务 — 同时起 3 个调研
- 隔离权限 — 子 Agent 只能读 docs/,主 Agent 能写
- 换 provider — 子 Agent 用便宜模型,主 Agent 用强模型
定义一个子 Agent
子 Agent 是 .kition/subagents/ 下的一个 Markdown 文件,front-matter 描述身份与能力,正文是 system prompt。主 Agent 通过文件名引用它。
---
name: research-summarizer
description: Reads articles and returns a structured summary
model: claude-haiku-4
tools:
- web_fetch
- Read
- Write
permissions:
Write:
paths: ["scratch/**"]
---
You are a research summarizer. For each URL or file given, produce:
1. **TL;DR** in one sentence
2. **Key claims** as bullets with source line numbers
3. **Open questions** worth digging into
Save your output to scratch/summaries/<slug>.md.
Reply to the parent with just the file path.主 Agent 怎么起子 Agent
主 Agent 通过 subagent 工具调用:传 name、task、需要的上下文。子 Agent 在独立进程里跑、结束后返回结果(一段文本 + 可选的 artifact 路径)。
> tool: subagent
name: research-summarizer
task: "Summarize these three papers on retrieval-augmented generation"
inputs:
urls:
- https://arxiv.org/abs/2005.11401
- https://arxiv.org/abs/2310.11511
- https://arxiv.org/abs/2401.18059
result:
text: "Saved 3 summaries; see scratch/summaries/rag-*.md"
artifacts:
- scratch/summaries/rag-original.md
- scratch/summaries/rag-self.md
- scratch/summaries/rag-corag.md注意事项
- 递归深度 ≤ 2 — 否则成本失控
- Free 档位最多 2 个并发子 Agent;Pro 解锁数量上限
- 子 Agent 看不到主 Agent 的会话历史,传上下文要显式
- 子 Agent 的工具调用走自己的 Permissions — 别让它能写它不该写的
- 调试时打开 Settings → Agent → Subagents → Trace,看完整调用栈