Context Budget

affaan-m/ECC/docs/zh-CN/skills/context-budget

作者 affaan-mef648e01899ba3e8dc6371642deaaf64b4477775無授權條款275K 個星標收錄於 2026年10月9日更新於 2026年10月9日儲存庫4 天前更新

审核Claude Code上下文窗口在代理、技能、MCP服务器和规则中的消耗情况。识别膨胀、冗余组件,并提供优先的令牌节省建议。

僅含說明AI & Agents
AI 產生的概覽

稽核 Claude Code 脈絡中代理、技能、MCP 伺服器與規則的耗用,標記膨脹並提出權杖節省建議。

功能
掃描代理、技能、規則、MCP 與 CLAUDE.md 元件,並以字詞數與字元數估算其權杖開銷。它會將每個元件歸類為始終需要、有時需要或很少需要,偵測膨脹與冗餘模式,並產出附優先順序的脈絡預算報告,包含主要最佳化建議與潛在節省量。詳細模式還會輸出每個檔案的權杖數、行層級細分以及 MCP 工具大小估算。
適用情境
當工作階段感覺遲緩或輸出品質下降時、在加入大量技能、代理或 MCP 伺服器之後,或想了解還剩多少脈絡餘裕時使用。它也適合在打算加入更多元件前檢查是否還有空間。
執行需求
僅含指示,不隨附指令碼。它會讀取本機 Claude Code 設定,例如代理、技能、規則、.mcp.json 與 CLAUDE.md 檔案。

上下文预算

分析 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:分类

将每个组件归入一个类别:

类别标准操作
始终需要在 CLAUDE.md 中被引用,支持活动命令,或匹配当前项目类型保留
有时需要特定领域(例如语言模式),未在 CLAUDE.md 中引用考虑按需激活
很少需要无命令引用,内容重叠,或无明显的项目匹配移除或延迟加载

阶段 3:检测问题

识别以下问题模式:

  • 臃肿的代理描述 — 前言中描述 >30 词,会在每次任务工具调用时加载
  • 繁重的代理 — 文件 >200 行,每次生成时都会增加任务工具的上下文
  • 冗余组件 — 重复代理逻辑的技能,重复 CLAUDE.md 的规则
  • MCP 超额订阅 — >10 个服务器,或包装了可免费使用的 CLI 工具的服务器
  • CLAUDE.md 臃肿 — 冗长的解释、过时的部分、本应成为规则的指令

阶段 4:报告

生成上下文预算报告:

上下文预算报告═══════════════════════════════════════
总预估开销:约 XX,XXX 个词元上下文模型:Claude Sonnet (200K 窗口)有效可用上下文:约 XXX,XXX 个词元 (XX%)
组件细分:┌─────────────────┬────────┬───────────┐│ 组件            │ 数量   │ 词元数    │├─────────────────┼────────┼───────────┤│ Agents          │ N      │ ~X,XXX    ││ Skills          │ N      │ ~X,XXX    ││ Rules           │ N      │ ~X,XXX    ││ MCP tools       │ N      │ ~XX,XXX   ││ CLAUDE.md       │ N      │ ~X,XXX    │└─────────────────┴────────┴───────────┘
WARNING: 发现的问题 (N):[按可节省词元数排序]
前 3 项优化建议:1. [action] → 节省约 X,XXX 个词元2. [action] → 节省约 X,XXX 个词元3. [action] → 节省约 X,XXX 个词元
潜在节省空间:约 XX,XXX 个词元 (占当前开销的 XX%)

在详细模式下,额外输出每个文件的令牌计数、最繁重文件的行级细分、重叠组件之间的具体冗余行,以及 MCP 工具列表和每个工具模式大小的估算。

示例

基本审计

/context-budget技能:扫描设置 → 16个代理(12,400个令牌),28个技能(6,200),87个MCP工具(43,500),2个CLAUDE.md(1,200)       标记:3个重型代理,14个MCP服务器(3个可替换为CLI)       最高节省:移除3个MCP服务器 → -27,500个令牌(减少47%开销)

详细模式

/context-budget --verbose技能:完整报告 + 按文件细目显示 planner.md(213 行,1,840 个令牌),       MCP 工具列表及每个工具的大小,重复规则行并排显示

扩容前检查

User: 我想再添加5个MCP服务器,有空间吗?Skill: 当前开销33% → 添加5个服务器(约50个工具)会增加约25,000个tokens → 开销将升至45%       建议:先移除2个可用CLI替代的服务器以保持在40%以下

最佳实践

  • 令牌估算:对散文使用 words × 1.3,对代码密集型文件使用 chars / 4
  • MCP 是最大的杠杆:每个工具模式约消耗 500 令牌;一个 30 个工具的服务器开销超过你所有技能的总和
  • 代理描述始终加载:即使代理从未被调用,其描述字段也存在于每个任务工具上下文中
  • 详细模式用于调试:需要精确定位导致开销的确切文件时使用,而非用于常规审计
  • 变更后审计:添加任何代理、技能或 MCP 服务器后运行,以便及早发现增量

來源與署名

來源:affaan-m/ECC位於docs/zh-CN/skills/context-budget提交ef648e0

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架