Claude Code subagent 缓存机制,为什么分身不会污染主会话的 cache

📅 2026/7/4 19:50:33
Claude Code subagent 缓存机制,为什么分身不会污染主会话的 cache
今天讨论 Claude Code 的 cache,最容易被忽略的一块不是主会话,而是 subagent。因为从使用体验看,Claude Code 只是把一个任务交给了另一个 agent,等它跑完,再把结果塞回主对话。表面上像是一次普通工具调用,实际在缓存层完全不是一回事。主会话有主会话的前缀,有自己的 system prompt、tools、messages。subagent 不是在这个前缀后面继续写,而是另起一条 conversation,带着自己的 system prompt 和工具权限,从一个干净的 context window 开始执行任务。Anthropic 的 Claude Code 文档也明确写到,每个 subagent 都运行在自己的 context window 中,带有定制的 system prompt、特定 tool access 和独立权限;SDK 文档里也把 subagent 描述为可由主 agent 生成的独立 agent instance,用来隔离上下文、并行运行任务和应用专门指令。(Claude)subagent 不是主会话的延长线理解 subagent 和 cache 的关系,不能从 UI 观感出发,要从 prompt prefix 出发。Claude 的 prompt caching 关心的是前缀是否一致。一个请求的前面部分如果和之前某次请求完全匹配,就有机会从 cac