子 Agent 隔离上下文研究(详解 token 用量节省的量化逻辑)

把研究类任务外包给子 Agent,主上下文只收到”浓缩摘要”,是 Claude Code 控制 token 用量最有效的一种手段。子 Agent 在独立 context window 里读 50 个文件,调度者只承担百字级摘要的体积——主会话的上下文预算就被空出来留给真正的实现与决策。

一、为什么”上下文窗口”是核心瓶颈

Claude Code 的主会话每翻一轮都要把整段历史喂回 LLM。一段会话走到中段,输入侧的 token 量往往以几万计;任何”在主上下文里跑研究”的行为都会让后续每轮持续承重。研究结论:典型场景下主会话在未做任何优化时,输入 token 平均已逼近窗口上限。

按社区整理的实践,一个 200K token 的窗口真正可用于推理的余量常常只剩 50K 左右;剩余预算被 always-on 的 CLAUDE.md、skill 描述、系统提示里的工具 schema 占走。这种结构下,”让主会话直接读 15 个文件”是典型的把可避免的硬开销压到每轮。

二、子 Agent 隔离的 token 量化模型

子 Agent 跑在独立 context,主 Agent 只回填”摘要”——这是降低主上下文输入 token 的最直接路径。给一个常见研究场景做对照:

场景 主上下文直接研究 委托给子 Agent
读文件数 15 个 15 个(隔离在子窗口)
内部消耗 token 0 约 10,000
摘要回填到主上下文 — 约 500
净占用主窗口 约 15 万 token 约 500 token

数字背后的逻辑是清楚的:主 Agent 每轮都把这 15 万 token 当输入重读,子 Agent 只把 500 字的最终摘要交给主 Agent。N 轮会话的累计差 = (150,000 − 500) × N,N 越大节省越显著。

第二个维度是”研究 / 实现”分离带来的复合收益。假设一段会话包含三次研究 + 一段 5 轮实现:未隔离时主窗口从 80K 涨到 200K 之后,每轮实现平均输入按 140K 计,5 轮合计 700K。隔离后三次子 Agent 各 30K 内部 token(共 90K)外加每轮主上下文只多出几百字的研究摘要,5 轮实现的主上下文稳定在 30K–40K 量级,合计远低于 700K。

三、context budget 四种杠杆的对比

子 Agent 只是 Claude Code context budget 的一个杠杆,社区里通常把它和另外三种并列:

  1. Write(精简 CLAUDE.md / skill 描述):削减 always-on 层 token;
  2. Select(.claudeignore、限定目录读取):按需加载,避免无意义读入;
  3. Compress(/compact 命令):把已累积的对话历史压成摘要;
  4. Isolate(子 Agent):把研究类工作推到独立 context。
杠杆 作用层 典型节省幅度 适合的瓶颈类型
Write always-on 30%–50% 探索成本 启动成本高
Select 加载策略 20%–40% 输入 token 大目录、依赖目录
Compress 已积累历史 60%–80% 中段上下文 长会话
Isolate 任务边界 40%–60% 多任务会话 研究 + 实现混合

四种杠杆可以叠加:精简 CLAUDE.md 让每次启动的 always-on 层更薄;.claudeignore 屏蔽掉无意义读入;/compact 在中段兜底;子 Agent 隔离掉最占预算的研究任务。一名重度使用者的月账单因此能从 50 美元量级压到 15–30 美元区间。

四、落地子 Agent 的两个易错点

第一,输出别写长。子 Agent 把”几万字调研记录”回传给主 Agent,前面所有 token 节省就全废了。system prompt 里必须显式约束格式,例如”最多 10 条 bullet,每条带严重级别、文件引用、一句话说明”。300 token 报告 + 一次澄清往返,比 3,000 token 的”全量甩回”更划算。

第二,描述要可路由。子 Agent 描述字段是主 Agent 判断”要不要委派”的唯一信号,写成标题(如”代码审查器”)会让路由命中率下降;写成”完成 Write 后调用,检查命名与安全规范”这种触发条件句才容易命中。路由失败会让本该被隔离的研究任务回流到主上下文,token 节省归零。

# .claude/agents/code-reviewer.md
---
name: code-reviewer
description: Use after writing code in this project. Reviews diffs for naming, security, and style.
tools:
  - Read
  - Grep
  - Glob
---

Review the most recent diff. Return up to 10 bullet points, each with severity, file:line, and one sentence.

第三,模型选择要分档。纯只读探索用 Haiku,成本最低;分析与综合用 Sonnet,能力与价格平衡;只有需要多步推理的复杂任务才用 Opus。子 Agent 内部用的模型越重,节省幅度越被稀释。

五、何时不该用子 Agent

研究量小(只读 1–2 个文件)、或者结果必须原样进主上下文(例如要让模型基于完整文件做 diff)时,强行委派反而多了 5,000 token 的子 Agent 启动开销,划不来。判断标准很简单:结果能用几百字总结吗?能,就委派;不能,直接在主上下文做。

到这里,”用子 Agent 隔离研究类任务”就构成一段完整链路:识别研究类工作 → 描述清晰的子 Agent 路由信号 → 子 Agent 内部独立 context → 几百字摘要回填主 Agent → 主 Agent 用省下的预算做实现与决策。

常见问题(FAQ)

Q1:子 Agent 启动本身有没有固定 token 成本?

有,单次启动约 5,000 token 起。研究类任务一般远超这个量级,固定开销可忽略。

Q2:子 Agent 能不能用 Haiku 跑研究?

只读探索可以,分析综合建议 Sonnet,规划类不要降级,避免下游连锁错误。

Q3:/compact 和子 Agent 隔离能互相替代吗?

不能。/compact 压缩历史,子 Agent 隔离当下;中长会话里两者都要用。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 qiqicto@qq.com 举报,一经查实,本站将立刻删除。
赞 (0)
其AI的头像其AI普通用户

相关推荐

返回顶部