上下文预算
分析 Claude Code 会话中每个已加载组件的令牌开销,并提供可操作的优化建议以回收上下文空间。
使用时机
- 会话性能感觉迟缓或输出质量下降
- 你最近添加了许多技能、代理或 MCP 服务器
- 你想知道实际有多少上下文余量
- 计划添加更多组件,需要知道是否有空间
- 运行
/context-budget命令(本技能为其提供支持)
工作原理
阶段 1:清单
扫描所有组件目录并估算令牌消耗:
代理 (agents/*.md)
- 统计每个文件的行数和令牌数(单词数 × 1.3)
- 提取
description前言长度 - 标记:文件 >200 行(繁重),描述 >30 词(臃肿的前言)
技能 (skills/*/SKILL.md)
- 统计 SKILL.md 的令牌数
- 标记:文件 >400 行
- 检查
.agents/skills/中的重复副本 — 跳过相同副本以避免重复计数
规则 (rules/**/*.md)
- 统计每个文件的令牌数
- 标记:文件 >100 行
- 检测同一语言模块中规则文件之间的内容重叠
MCP 服务器 (.mcp.json 或活动的 MCP 配置)
- 统计配置的服务器数量和工具总数
- 估算模式开销约为每个工具 500 令牌
- 标记:工具数 >20 的服务器,包装简单 CLI 命令的服务器 (
gh,git,npm,supabase,vercel)
CLAUDE.md(项目级 + 用户级)
- 统计 CLAUDE.md 链中每个文件的令牌数
- 标记:合并总数 >300 行
阶段 2:分类
将每个组件归入一个类别:
阶段 3:检测问题
识别以下问题模式:
- 臃肿的代理描述 — 前言中描述 >30 词,会在每次任务工具调用时加载
- 繁重的代理 — 文件 >200 行,每次生成时都会增加任务工具的上下文
- 冗余组件 — 重复代理逻辑的技能,重复 CLAUDE.md 的规则
- MCP 超额订阅 — >10 个服务器,或包装了可免费使用的 CLI 工具的服务器
- CLAUDE.md 臃肿 — 冗长的解释、过时的部分、本应成为规则的指令
阶段 4:报告
生成上下文预算报告:
在详细模式下,额外输出每个文件的令牌计数、最繁重文件的行级细分、重叠组件之间的具体冗余行,以及 MCP 工具列表和每个工具模式大小的估算。
示例
基本审计
详细模式
扩容前检查
最佳实践
- 令牌估算:对散文使用
words × 1.3,对代码密集型文件使用chars / 4 - MCP 是最大的杠杆:每个工具模式约消耗 500 令牌;一个 30 个工具的服务器开销超过你所有技能的总和
- 代理描述始终加载:即使代理从未被调用,其描述字段也存在于每个任务工具上下文中
- 详细模式用于调试:需要精确定位导致开销的确切文件时使用,而非用于常规审计
- 变更后审计:添加任何代理、技能或 MCP 服务器后运行,以便及早发现增量


