关于 Context Manager
Context Manager 是用于管理 Claude 长对话的 skill,帮助用户跟踪上下文用量、保留关键决策,并在影响工作前总结或精简历史内容。
主要功能
- 01监控上下文用量与增长
- 02总结决策和项目状态
- 03识别过时或重复内容
- 04规划上下文精简
- 05重组信息以提高效率
适用场景
- 01开发重大功能前检查上下文
- 02压缩冗长的开发会话
- 03移除已解决问题的调试细节
- 04为新对话准备摘要
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ eddiebe147/ claude-settings --skill context-manager安装后在 Claude Code 中输入/context-manager确认已加载。
详细介绍
上下文管理器
上下文管理器技能可帮助你优化对话上下文,确保 Claude 在长时间会话中始终保持高效。它会跟踪上下文窗口的使用情况,判断何时需要总结或精简上下文,并帮助你整理对话,让相关信息在不超出令牌限制的前提下保持易于获取。
对于对话历史不断增长的复杂多日项目,这项技能至关重要。它能帮助你决定保留哪些内容、总结哪些内容、舍弃哪些内容,确保 Claude 了解重要决策和项目状态,同时避免触及上下文限制。
在长时间开发会话中、开始新的大型功能之前,或发现上下文膨胀导致性能下降时,请主动使用这项技能。
核心工作流
工作流 1:监控上下文状况
- 检查 当前上下文用量:
- 令牌数量
- 占限额的百分比
- 最近的增长速度
- 分析 上下文构成:
- 代码占多少?
- 对话占多少?
- 文档占多少?
- 识别 问题区域:
- 冗余信息
- 过时的引用
- 无关的题外内容
- 评估 风险级别:
- 绿色:使用率 <50%,状态良好
- 黄色:使用率为 50-75%,需要监控
- 红色:使用率 >75%,需要采取行动
- 如有需要,建议采取的措施
- 向用户报告状态
工作流 2:总结长对话
- 回顾 对话历史
- 提取关键信息:
- 已做出的决策
- 已解决的问题
- 当前项目状态
- 未解决的问题
- 后续步骤
- 按主题/时间线整理
- 创建简洁的总结
- 与用户确认
- 建议使用总结开启新对话
工作流 3:精简无关上下文
- 找出可移除的内容:
- 已解决的问题
- 已放弃的方案
- 临时调试内容
- 已被取代的信息
- 按重要性分类:
- 可安全移除
- 可以总结
- 必须保留
- 向用户提出精简方案
- 执行已获批准的移除操作
- 保留关键上下文
- 验证精简后的连贯性
工作流 4:优化上下文结构
- 分析当前上下文组织方式
- 找出低效之处:
- 信息散落在对话各处
- 重复的解释
- 缺乏结构
- 重组以提高效率:
- 将相关信息归组
- 创建参考章节
- 使用简洁的格式
- 建议将以下内容写入外部文档:
- 架构决策
- API 规范
- 配置详情
- 使用外部文档链接,而不是将内容直接写入对话
- 验证效率是否提升
快速参考
| 操作 | 命令/触发语 |
|---|---|
| 检查上下文状态 | “Check context window” 或 “How's our context?” |
| 总结对话 | “Summarize this conversation” |
| 使用总结开启新对话 | “Start new thread with summary” |
| 精简旧上下文 | “Clear old context” 或 “Prune conversation” |
| 优化上下文结构 | “Optimize our context” |
| 保留关键决策 | “Document key decisions” |
| 估算上下文用量 | “How much context are we using?” |
最佳实践
-
主动监控:不要等到出现性能问题
- 开始开发重大功能前检查上下文
- 长时间调试后进行监控
- 长期运行的项目每周检查一次
-
定期总结:在自然的阶段节点压缩历史记录
- 功能开发结束时
- 解决重大问题后
- 切换上下文前(开发 → 部署)
-
将静态信息外置:把不变的内容移到文件中
- 架构文档
- API 规范
- 代码风格指南
- 参考资料
-
使用结构化格式:让信息密集且易于浏览
- 用表格代替散文
- 用项目符号代替段落
- 用代码块代替描述
-
保留决策:始终保留“原因”
- 为什么选择这种方法
- 为什么否决其他方案
- 哪些约束影响了决策
-
果断舍弃:毫不留恋地清理临时内容
- 调试探索过程
- 失败的实验
- 已解决的问题
- 已被取代的计划
-
有策略地重新开始:了解何时开启新对话
- 达成重大里程碑后
- 切换到不相关的工作时
- 上下文占用率超过 75% 时
- 性能下降时
-
外部记录:使用文件保存持久知识
- 用 PIPELINE_STATUS.md 记录项目状态
- 用 DECISIONS.md 记录架构选择
- 用 TODO.md 记录任务列表
- 用 README.md 进行入门介绍
上下文优化策略
策略 1:分层摘要
Long conversation →
Detailed summary (50% reduction) →
Executive summary (80% reduction) →
Key decisions (95% reduction)
策略 2:基于时间的窗口
Keep in context:
- Last 1 hour: Full detail
- Last 4 hours: Summarized
- Last day: Key decisions only
- Older: Link to external docs
策略 3:基于主题的分区
Separate threads for:
- Feature development
- Bug investigation
- Deployment/ops
- Architecture discussion
Link between threads as needed
策略 4:渐进式披露
Start with:
- Current task context only
Add on demand:
- Related decisions
- Relevant code
- Background information
Remove when done
上下文健康检查清单
开始重大任务前,请确认:
- 上下文使用率 < 75%
- 已记录近期决策
- 已移除过时信息
- 当前项目状态清晰
- 已明确后续步骤
- 已链接相关文件/文档
- 已清理调试跟踪信息
上下文问题的警示信号
留意以下迹象:
- 响应变慢:正在处理大量上下文
- 忽略信息:AI 忽略近期上下文
- 重复:AI 重新解释已知信息
- 连贯性丧失:AI 忘记先前的决策
- 令牌限制警告:接近硬性限制
- 准确性下降:在原本表现稳定的方面出错
外部记忆策略
将以下内容保存到文件,而不是上下文中:
| 信息类型 | 最佳存储位置 |
|---|---|
| 项目概述 | README.md |
| 架构决策 | ARCHITECTURE.md 或 ADR |
| API 契约 | OpenAPI 规范或架构文件 |
| 当前项目状态 | PIPELINE_STATUS.md 或 TODO.md |
| 配置 | .env、配置文件 |
| 代码风格规则 | .eslintrc、prettier.config.js |
| 部署流程 | DEPLOYMENT.md 或 CI/CD 配置 |
| 团队决策 | DECISIONS.md 或会议记录 |
上下文模板
项目状态摘要模板
## Project: [Name]
- **Status**: [Current pipeline stage]
- **Current focus**: [What we're working on]
- **Last completed**: [Recent achievement]
- **Next steps**: [Immediate tasks]
- **Blockers**: [What's preventing progress]
- **Key decisions**: [Recent important choices]
决策日志模板
## Decision: [Topic]
- **Date**: [When]
- **Context**: [Why we needed to decide]
- **Options considered**: [Alternatives]
- **Choice**: [What we decided]
- **Rationale**: [Why this choice]
- **Consequences**: [Trade-offs accepted]
会话摘要模板
## Session Summary: [Date]
- **Duration**: [How long]
- **Accomplished**: [What we built/fixed]
- **Decisions**: [Choices made]
- **Issues found**: [Problems discovered]
- **Next session**: [Where to continue]
进阶:上下文压缩技巧
适用于高级用户:
-
使用引用:链接到代码,而不是粘贴代码
- “参见
/src/utils/data.ts中的函数processData” - 而不是:[粘贴整个函数]
- “参见
-
利用 AI 记忆:将信息存储在知识图谱中
- 实体间的关键关系
- 项目专用术语
- 团队成员的角色和专长
-
创建缩写:定义一次,随处使用
- “FE” = 前端,“BE” = 后端
- “MR” = 合并请求,“PR” = 拉取请求
- 项目专用首字母缩写
-
使用差异格式:展示变更,而不是整个文件
- 尤其适用于代码审查
- 前后对比
-
批量整理相似信息:将相关条目归组
- 将所有环境变量放在一个代码块中
- 将所有 API 端点放在一个表格中
- 将所有依赖项放在一个列表中
评论
支持 Markdown