
关于
审计 Claude Code 上下文窗口在代理、技能、MCP 服务器和规则间的消耗。识别膨胀、冗余组件,并生成优先级排序的 token 节省建议。
name: context-budget description: 审计 Claude Code 上下文窗口在代理、技能、MCP 服务器和规则中的消耗情况。识别膨胀和冗余组件,并生成按优先级排列的 token 节省建议。 origin: ECC
上下文预算
分析 Claude Code 会话中每个已加载组件的 token 开销,并提供可操作的优化建议以回收上下文空间。
何时使用
- 会话性能感觉迟缓或输出质量下降
- 你最近添加了许多技能、代理或 MCP 服务器
- 你想了解实际还有多少上下文余量
- 计划添加更多组件,需要知道是否还有空间
- 运行
/context-budget命令(此技能支持该命令)
工作原理
阶段 1:清单盘点
扫描所有组件目录并估算 token 消耗:
代理 (agents/*.md)
- 统计每个文件的行数和 token 数(单词数 × 1.3)
- 提取
description前置元数据长度 - 标记:文件超过 200 行(过重)、描述超过 30 个单词(前置元数据膨胀)
技能 (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:检测问题
识别以下问题模式:
- 代理描述膨胀 — 前置元数据中描述超过 30 个单词,会在每次 Task 工具调用时加载
- 过重的代理 — 文件超过 200 行,在每次生成时膨胀 Task 工具上下文
- 冗余组件 — 技能复制了代理逻辑,规则复制了 CLAUDE.md 内容
- MCP 过度订阅 — 超过 10 个服务器,或包装了免费可用 CLI 工具的服务器
- CLAUDE.md 膨胀 — 冗长的解释、过时的章节、应该作为规则的指令
阶段 4:报告
生成上下文预算报告:
Context Budget Report
═══════════════════════════════════════
Total estimated overhead: ~XX,XXX tokens
Context model: Claude Sonnet (200K window)
Effective available context: ~XXX,XXX tokens (XX%)
Component Breakdown:
┌─────────────────┬────────┬───────────┐
│ Component │ Count │ Tokens │
├─────────────────┼────────┼───────────┤
│ Agents │ N │ ~X,XXX │
│ Skills │ N │ ~X,XXX │
│ Rules │ N │ ~X,XXX │
│ MCP tools │ N │ ~XX,XXX │
│ CLAUDE.md │ N │ ~X,XXX │
└─────────────────┴────────┴───────────┘
WARNING: Issues Found (N):
[ranked by token savings]
Top 3 Optimizations:
1. [action] → save ~X,XXX tokens
2. [action] → save ~X,XXX tokens
3. [action] → save ~X,XXX tokens
Potential savings: ~XX,XXX tokens (XX% of current overhead)
在详细模式下,额外输出每个文件的 token 计数、最重文件的逐行分解、重叠组件之间的具体冗余行,以及 MCP 工具列表和每个工具的 schema 大小估算。
示例
基本审计
User: /context-budget
Skill: Scans setup → 16 agents (12,400 tokens), 28 skills (6,200), 87 MCP tools (43,500), 2 CLAUDE.md (1,200)
Flags: 3 heavy agents, 14 MCP servers (3 CLI-replaceable)
Top saving: remove 3 MCP servers → -27,500 tokens (47% overhead reduction)
详细模式
User: /context-budget --verbose
Skill: Full report + per-file breakdown showing planner.md (213 lines, 1,840 tokens),
MCP tool list with per-tool sizes, duplicated rule lines side by side
扩展前检查
User: I want to add 5 more MCP servers, do I have room?
Skill: Current overhead 33% → adding 5 servers (~50 tools) would add ~25,000 tokens → pushes to 45% overhead
Recommendation: remove 2 CLI-replaceable servers first to stay under 40%
最佳实践
- Token 估算:散文使用
单词数 × 1.3,代码密集文件使用字符数 / 4 - MCP 是最大的杠杆:每个工具 schema 约消耗 500 token;一个 30 工具的服务器比你所有技能加起来消耗更多
- 代理描述始终被加载:即使代理未被使用
兼容工具
Claude CodeCursor
标签
AI与机器学习
