mcpField
C
context-optimizer

context-optimizer

github.com/rohitg00Agent 工作流2.9k175 次安装4 周前更新
代码仓库

关于 context-optimizer

context-optimizer 是管理 Claude 上下文窗口用量和 Token 预算的技能,涵盖压缩、MCP 使用、子 Agent 委派、提示词范围和项目指令整理。

主要功能

  1. 01检查上下文用量并建议压缩
  2. 02审计已启用的 MCP 和工具数量
  3. 03将高输出任务委派给子 Agent
  4. 04指导编写节省 Token 的提示词
  5. 05建议整理 CLAUDE.md

适用场景

  1. 01减少长任务中的上下文占用
  2. 02避免探索输出挤占主会话空间
  3. 03切换工作领域时检查 MCP 开销

MCP 相关

该技能建议审计已启用的 MCP、控制数量,并停用暂不使用的服务。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rohitg00/pro-workflow --skill context-optimizer

安装后在 Claude Code 中输入/context-optimizer确认已加载。

详细介绍

上下文优化器

有效管理你的上下文窗口和令牌预算。

快速诊断

  1. 运行 /context 检查当前用量
  2. 如果 > 70% → 立即压缩,避免性能下降
  3. 如果 > 90% → 你已进入“迟钝区”,请立即压缩

优化策略

立即采取
操作节省适用时机
/compact30-50% 的上下文任务间隙
禁用未使用的 MCP每个 MCP 约 5%切换领域时
使用子 Agent 进行探索保持主上下文整洁大量搜索/读取任务
通过 /resume 开启全新会话重置 100%开始无关工作时
配置

设置主动自动压缩:

{
  "env": {
    "CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "50"
  }
}
MCP 审查

启用的 MCP 少于 10 个,工具总数少于 80 个。每个 MCP 都会增加每次请求的开销。

/mcp          # List active servers
# Disable what you're not using
提示词工程:提高令牌效率
  • 限定提示词范围:“修复 src/auth/ 中的登录错误”
  • 提供约束:“不要修改中间件”
  • 给出验收标准:“尝试 5 次后应返回 429”
  • 避免模糊的提示词:“修复代码”(会迫使 Claude 阅读所有内容)
委派给子 Agent

会产生大量输出的繁重操作应交给子 Agent 处理:

  • 测试套件输出 → 子 Agent
  • 大型文件探索 → 子 Agent
  • 文档生成 → 子 Agent
  • 日志分析 → 子 Agent

主会话保持整洁,子 Agent 则负责处理大量内容。

上下文预算规划

阶段目标用量超出时的操作
规划< 20%保持计划简洁
实现< 60%每完成一个文件后进行压缩
测试< 80%委派给子 Agent
审查< 90%开启全新会话

令牌效率

减少输出(节省 40-60%)
  • 不要使用奉承式开场白(“当然!”、“好问题!”)
  • 不要添加多余的结尾语(“如果你还需要什么,请告诉我!”)
  • 回答前不要复述提示词
  • 先给出代码,仅在不明显时才进行说明
  • 优先使用结构化输出(表格、项目符号),而非散文
  • 仅使用 ASCII:使用 -- 而不是长破折号,使用直引号而非弯引号
行为效率
  • 一次完成编码:给出完整解决方案,测试一次,成功后即停止
  • 先读后写:绝不修改未读过的文件
  • 不要重复读取:不要重新读取未更改的文件
  • 工具调用预算:20 次(快速修复)到 80 次(大型功能)
  • 对同一失败问题,迭代次数绝不超过两次
任务配置

根据上下文切换响应风格:

  • 编码:先给代码,尽量少解释,采用最简单的解决方案
  • Agent/流水线:仅输出结构化内容,不写散文,确保可解析
  • 分析:先给出发现,优先使用表格而非段落,数字注明来源

优化 CLAUDE.md

  • 根目录的 CLAUDE.md:理想情况下少于 60 行,最多不超过 150 行
  • 将特定于软件包的信息移至软件包级别的 CLAUDE.md
  • 将个人偏好移至 CLAUDE.local.md
  • 删除显而易见或变化迅速的信息

上下文退化时

迹象:

  • Claude 重复自己说过的话,或忘记早先的上下文
  • 回复变得泛泛而谈,或丢失项目专属知识
  • 原本可用的工具调用开始失败

解决方法:

  1. 手动运行 /compact
  2. 如果仍然不理想:使用 /resume 开启新会话
  3. 如果问题反复出现:缩减 CLAUDE.md 的大小,禁用 MCP

评论

支持 Markdown