⭐⭐⭐⭐⭐ 5星

Subagents - Agentic Engineering Patterns

来源: Simon Willison's Guides | 2026-03-17

为什么需要 Subagents

LLM 受限于上下文窗口限制 (通常最多 100 万 tokens,但最佳质量在 20 万以下)。

Subagents 提供了一种简单有效的方式来处理更大任务,而不消耗父代理的宝贵上下文。

Subagent 工作原理

当编码代理使用 subagent 时,它有效地将自身的全新副本派出去实现指定目标,使用从新提示开始的全新上下文窗口。

Claude Code 的 Explore subagent 示例:

任何时候你针对现有仓库启动新任务,Claude Code 首先需要探索仓库以弄清楚其整体形状并找到完成该任务所需的相关信息。

它通过构建提示并派出一个 subagent 来执行探索并返回其发现的描述。

Parallel Subagents

Subagents 还可以通过让父代理同时运行多个 subagent 来提供显著的性能提升,可能还可以使用更快、更便宜的模型(如 Claude Haiku)来加速这些任务。

"Use subagents to find and update all of the templates that are affected by this change."

Specialist Subagents

一些编码代理允许 subagent 进行进一步自定义,通常采用自定义 system prompt 或自定义工具的形式:

  • Code reviewer agent - 审查代码并识别 bug、功能差距或设计弱点
  • Test runner agent - 运行测试,特别适合大型冗长的测试套件
  • Debugger agent - 专门调试问题,隔离复现步骤并确定 bug 根本原因

官方文档

核心价值

Subagents 的主要价值在于保留宝贵的根上下文并管理 token 密集型操作。你的根编码代理完全能够自行调试或审查输出,前提是它有足够的 tokens。