Context Mode 使用指南:AI 编码 Agent 上下文窗口优化,省 98% Token
用 AI 编码 Agent 写代码时,最烦人的事之一就是——对话还没多久 Agent 就"失忆"了。它忘了正在改哪个文件、忘了你半小时前说的需求、甚至开始胡编乱造。
原因很简单:上下文窗口(Context Window)被撑爆了。一个 Playwright 快照 56 KB、二十个 GitHub Issue 59 KB、一条访问日志 45 KB——Agent 每次调用 MCP 工具产生的原始数据都直接倒进上下文里。半小时后,40% 的有效上下文就没了。
Context Mode 是 GitHub 上最近爆火的开源项目(12.7K+ Stars,被 300+ 人在一小时内加星),它用四管齐下的方式解决这个问题。本文带你完整安装并在 Claude Code 中跑起来。
Context Mode 解决的四个问题
Context Mode 本质是一个 MCP 服务器,但它不是帮你读文件或操作数据库——它管理的是 Agent 自己的内存。
1. 沙箱工具输出(Context Saving)
默认情况下,Agent 每执行一个工具调用,原始输出就占满上下文。Context Mode 提供了沙箱化的执行工具(ctx_execute、ctx_batch_execute 等),工具输出不直接进上下文,而是存到 SQLite 里。需要时通过 BM25 搜索按需检索。
效果:315 KB 的原始输出变成 5.4 KB——98% 的缩减。
2. 会话连续性(Session Continuity)
Claude Code 等 Agent 在上下文空间不足时会执行"压缩"(compact)。压缩本质上就是删东西,而删掉的往往是进度信息、已修改的文件列表、用户刚说的关键需求。
Context Mode 把所有事件(文件编辑、git 操作、任务状态、错误、用户决策)都索引到 SQLite FTS5 里。压缩后不是把所有数据倒灌回去,而是用 BM25 搜索只拿当前最相关的信息。Agent 精确恢复现场,不会把 50 个文件全部塞回上下文。
3. Think in Code 范式
这可能是最颠覆性的理念:别让 LLM 读数据,让它写代码处理数据。
以前你想知道 47 个 TypeScript 文件各有多少行——Agent 会调用 Read 工具 47 次,每次返回整个文件内容。700 KB 就没了。
Context Mode 的做法:Agent 写一段 Node.js 脚本,用 ctx_execute 跑一次,只返回结果。47 次调用 + 700 KB → 1 次调用 + 3.6 KB。
4. 输出压缩(Output Compression)
Agent 回复时默认爱写一堆废话:"I'd be happy to help you with that! Let me first analyze the code..."。Context Mode 强制 Agent 走"原始技术风格":省略冠词、废话、客套话。代码不变,但自然语言部分减少 65-75%。安全警告、不可逆操作等关键场景自动恢复完整风格。
为什么 2026 年这件事特别重要
今年 AI 编码 Agent 的普及速度远超预期。Claude Code、Cursor、GitHub Copilot Codex、DeepSeek-TUI——几乎每个主流代码编辑器都在内置 Agent 功能。但所有 Agent 都共享同一个硬伤:上下文窗口是物理瓶颈。
模型可以越做越大,200K、1M Token 甚至更长。但每次调用的成本、延迟和"注意力稀释"问题不会消失。Context Mode 的方案不是让模型支持更多 Token,而是让 Agent 更聪明地使用 Token。这是更经济也更工程化的思路。
安装指南:Claude Code 版
Context Mode 支持 14 个平台,分三种接入级别。最完整的是 Claude Code 插件版(自动路由、Hook 支持)。下面是完整步骤。
前置条件
claude --version # 需要 v1.0.33+
brew upgrade claude-code # 如果版本过低
# 或用 npm:
npm update -g @anthropic-ai/claude-code
安装插件
/plugin marketplace add mksglu/context-mode
/plugin install context-mode@context-mode
重启 Claude Code,或者运行 /reload-plugins。
验证安装
/context-mode:ctx-doctor
所有检查项应该显示 [x]:运行时、Hook、FTS5、插件注册全部通过。
(可选)状态栏
编辑 ~/.claude/settings.json 添加状态栏配置,实时看到 Token 节省量:
{
"statusLine": {
"type": "command",
"command": "context-mode statusline"
}
}
重启后底部状态栏显示:$ 节省 · 总节省 · 效率%。
常用命令速查
| 命令 | 作用 |
|---|---|
/context-mode:ctx-stats |
查看上下文节省详情(每次调用、Token 消耗、节省比例) |
/context-mode:ctx-doctor |
诊断所有组件是否正常工作 |
/context-mode:ctx-upgrade |
更新到最新版本 |
/context-mode:ctx-purge |
清除所有缓存的索引数据 |
/context-mode:ctx-insight |
个人分析面板(90+ 指标,本地 Web UI) |
在 Cursor / Copilot 上使用
Claude Code 插件版体验最好,但其他平台也能用。安装 MCP 服务器后,在聊天里直接输入 ctx stats 或 ctx doctor 即可调用(模型会自动匹配 MCP 工具)。
非 Hook 平台需要手动复制路由配置文件到项目根目录,一次配置永久生效。
实测效果
实际使用中,Context Mode 带来的变化很明显:
- 之前需要每 15-20 分钟重启对话的项目,现在可以持续工作 2-3 小时
- 压缩后 Agent 不再忘记关键任务状态
- Token 消耗直接减少 60-80%——Claude Pro 用户相当于 3 倍预算
- "Think in Code" 范式让 Agent 的代码生成质量反而更高(因为上下文里只有真正相关的信息)
总结
Context Mode 解决的是 AI 编码 Agent 当前最痛的工程问题。它不做模型优化,而是从工程架构入手,让 Agent 像人类一样——只记住需要记住的东西。
在 2026 年 AI 编码 Agent 全面普及的背景下,这可能是"省钱 + 省心"双重收益最高的插件之一。如果你日常用 Claude Code、Cursor 或 Copilot 写代码,值得花 5 分钟装上试试。