Subagent

一个 Agent 通过工具调用派生出的另一个 Agent。它在独立的 Session 和独立的上下文窗口中运行,最后只返回一个工具结果。这与 Handoff 不同——父 Agent 明确期待返回;而 Handoff 没有返回路径。Subagent 不能再派生 Subagent——树只有一层。Subagent 的存在是为了隔离上下文,而不是构建层级。

其目的在于把嘈杂的工作挡在父 Agent 的上下文之外。一次大范围搜索或长时间的文件读取会产生成页的工具结果,其中大部分只在找到答案前才有意义。在父 Agent 内部运行,这些内容会在整个 Session 中留在父上下文里。在 Subagent 内部运行,噪音会填满一个可丢弃的窗口——只有最终报告进入父 Agent 的上下文。这份报告是二手来源:父 Agent 得到的是 Subagent 对它发现的陈述,而不是原始结果,因此报告遗漏的内容对父 Agent 来说是不可见的。

Subagent 也可以并发运行——父 Agent 可以一次性把多个 Subagent 分发到相互独立的工作上。

用法:

“grep 的结果把我的上下文撑爆了。”

“派一个 Subagent 去做搜索——它用自己的上下文窗口承担噪音,只返回你真正需要的那两个文件路径。”