031、Agent 工具深入解析:子代理类型选择、触发时机与 Explore、Plan、general-purpose 的适用场景
昨天凌晨三点,我在调试一个跨微服务的数据库迁移脚本。Claude Code 跑了三十分钟,中间卡在了一个“子代理递归调用”的死循环里——它自己生成了一个 Plan 子代理,Plan 又生成了另一个 Plan,像俄罗斯套娃一样层层嵌套,最后把上下文窗口撑爆了。我盯着终端里那串[Sub-agent: Plan]的日志,突然意识到一个问题:我从来没认真想过这些子代理类型到底该怎么选。
子代理不是“万能胶”
很多人把 Claude Code 当成一个黑盒,遇到复杂任务就丢一个--agent参数,然后祈祷它自己搞定。但实际工程中,子代理的选择直接决定了任务能否收敛、耗时是否可控、上下文会不会被浪费。
Claude Code 目前暴露给用户的主要子代理类型有三种:Explore、Plan和general-purpose(默认模式)。它们不是简单的“大中小”粒度划分,而是三种完全不同的执行哲学。
Explore:适合“不知道不知道什么”的场景
Explore 子代理的设计初衷是探索性任务。当你面对一个陌生的代码库、一个从未接