| name | context-budget |
| description | 审计 Claude Code 跨智能体、技能、MCP 服务器和规则的上下文窗口消耗。识别臃肿、冗余组件,并生成优先级排序的 token 节省建议。 |
| origin | ECC |
上下文预算
分析 Claude Code 会话中每个已加载组件的 token 开销,并提供可操作的优化建议以回收上下文空间。
何时使用
- 会话性能感觉迟缓或输出质量在下降
- 最近添加了很多技能、智能体或 MCP 服务器
- 想知道你实际有多少上下文余量
- 计划添加更多组件,需要知道是否还有空间
- 运行
/context-budget 命令(此技能为其提供支持)
工作原理
阶段 1:盘点
扫描所有组件目录并估算 token 消耗:
智能体(agents/*.md)
- 统计每个文件的行数和 token 数(单词数 × 1.3)
- 提取
description frontmatter 长度
- 标记:超过 200 行的文件(重度)、描述超过 30 个单词的(臃肿的 frontmatter)
技能(skills/*/SKILL.md)
- 统计每个 SKILL.md 的 token 数
- 标记:超过 400 行的文件
- 检查
.agents/skills/ 中的重复副本 — 跳过相同副本以避免重复计数
规则(rules/**/*.md)
- 统计每个文件的 token 数
- 标记:超过 100 行的文件
- 检测同一语言模块中规则文件之间的内容重叠
MCP 服务器(.mcp.json 或活跃的 MCP 配置)
- 统计已配置的服务器和总工具数
- 估算每个工具约 ~500 token 的 schema 开销
- 标记:超过 20 个工具的服务器、包装简单 CLI 命令的服务器(
gh、git、npm、supabase、vercel)
CLAUDE.md(项目级 + 用户级)
- 统计 CLAUDE.md 链中每个文件的 token 数
- 标记:总计超过 300 行
阶段 2:分类
将每个组件排序到相应的桶中:
| 桶 | 标准 | 操作 |
|---|
| 始终需要 | 在 CLAUDE.md 中被引用、支持活跃命令,或匹配当前项目类型 | 保留 |
| 有时需要 | 领域特定的(如语言模式),未被 CLAUDE.md 引用 | 考虑按需激活 |
| 很少需要 | 无命令引用、内容重叠,或无明显的项目匹配 | 移除或延迟加载 |
阶段 3:检测问题
识别以下问题模式:
- 臃肿的智能体描述 — frontmatter 中描述超过 30 个单词会在每次 Task 工具调用时加载
- 重度智能体 — 超过 200 行的文件在每次生成时膨胀 Task 工具上下文
- 冗余组件 — 技能重复智能体逻辑、规则重复 CLAUDE.md
- MCP 过度订阅 — 超过 10 个服务器,或包装了可免费使用的 CLI 工具的服务器
- CLAUDE.md 臃肿 — 冗长的解释、过时的部分、应该是规则的指令
阶段 4:报告
生成上下文预算报告:
上下文预算报告
═══════════════════════════════════════
估算总开销:~XX,XXX token
上下文模型:Claude Sonnet(200K 窗口)
可用有效上下文:~XXX,XXX token(XX%)
组件明细:
┌─────────────────┬────────┬───────────┐
│ 组件 │ 数量 │ Token │
├─────────────────┼────────┼───────────┤
│ 智能体 │ N │ ~X,XXX │
│ 技能 │ N │ ~X,XXX │
│ 规则 │ N │ ~X,XXX │
│ MCP 工具 │ N │ ~XX,XXX │
│ CLAUDE.md │ N │ ~X,XXX │
└─────────────────┴────────┴───────────┘
警告:发现 N 个问题:
[按 token 节省量排名]
前 3 项优化:
1. [操作] → 节省 ~X,XXX token
2. [操作] → 节省 ~X,XXX token
3. [操作] → 节省 ~X,XXX token
潜在节省:~XX,XXX token(当前开销的 XX%)
在详细模式中,额外输出每个文件的 token 计数、最重文件的逐行明细、重叠组件之间的具体重复行,以及带每个工具 schema 大小估算的 MCP 工具列表。
示例
基本审计
用户:/context-budget
技能:扫描配置 → 16 个智能体(12,400 token)、28 个技能(6,200)、87 个 MCP 工具(43,500)、2 个 CLAUDE.md(1,200)
标记:3 个重度智能体、14 个 MCP 服务器(3 个可替换为 CLI)
最大节省:移除 3 个 MCP 服务器 → -27,500 token(开销减少 47%)
详细模式
用户:/context-budget --verbose
技能:完整报告 + 每文件明细,显示 planner.md(213 行、1,840 token),
带每个工具大小的 MCP 工具列表,并排显示重复的规则行
扩展前检查
用户:我想再添加 5 个 MCP 服务器,有空间吗?
技能:当前开销 33% → 添加 5 个服务器(~50 个工具)将增加 ~25,000 token → 推到 45% 开销
建议:先移除 2 个可替换为 CLI 的服务器以保持在 40% 以下
最佳实践
- Token 估算:散文使用
单词数 × 1.3,代码密集文件使用 字符数 / 4
- MCP 是最大的杠杆:每个工具 schema 约 500 token;一个 30 工具的服务器比你所有技能加起来还贵
- 智能体描述始终加载:即使智能体从未被调用,其 description 字段也存在于每次 Task 工具上下文中
- 详细模式用于调试:在需要精确定位驱动开销的具体文件时使用,而非常规审计
- 变更后审计:在添加任何智能体、技能或 MCP 服务器后运行,以及早发现问题