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,看完整调用栈

相关文档

下载 Kition

本地优先的 AI 工作空间。Markdown 文档、结构化数据表、AI Agent,全部跑在你自己的电脑上。