夜雨聆风学习资料网

ARTICLE · 1271105

你的 AI 代理不是变笨了,是被自己的工具输出撑爆了

你的 AI 代理不是变笨了,是被自己的工具输出撑爆了

Claude Code 干到一半开始忘事,跟模型换没换代没关系。

真正的原因是它的上下文窗口,被 MCP 工具吐出来的原始数据吃掉了。

一次 Playwright 快照 56 KB,二十条 GitHub issue 59 KB,一份访问日志 45 KB。这些都不是你写的代码,是工具调用带回来的东西。它们一个字节不落地进了上下文窗口。

三十分钟下来,40% 的窗口没了。

「原始数据」这四个字是问题所在

代理要的是一个结论——哪个文件有多少行、哪个 issue 还没解决。但 MCP 给它的是整个页面的 HTML、整份日志的每一行。

"Every MCP tool call dumps raw data into your context window. A Playwright snapshot costs 56 KB. Twenty GitHub issues cost 59 KB. One access log — 45 KB. After 30 minutes, 40% of your context is gone."

窗口满了,触发压缩。

压缩会把什么一起压掉?「我刚才在改 src/parser.ts」这件事也在里面。

所以代理不是变笨了,是它忘了自己正在干什么。

有个 3 万星的仓库在解这个问题

mksglu/context-mode,32,651 star,本月涨了 8,586,是 GitHub 月度 Trending 榜上跟编程代理最相关的一个。2026 年 10 月 28 日当天它还在提交代码。

它的做法是把工具输出关进沙箱。

"Context Saving — Sandbox tools keep raw data out of the context window. 315 KB becomes 5.4 KB. 98% reduction."

沙箱在本地跑,模型只收到结果。315 KB 的原始输出,进到模型眼前的是 5.4 KB。

README 里给了一张实测表,八个场景:

场景
原始体积
进上下文
省下
Playwright 快照
56.2 KB
299 B
99%
20 条 GitHub issue
58.9 KB
1.1 KB
98%
500 条访问日志
45.1 KB
155 B
100%
Context7 的 React 文档
5.9 KB
261 B
96%
500 行分析 CSV
85.5 KB
222 B
100%
153 条 git log
11.6 KB
107 B
99%
30 个测试套件输出
6.0 KB
337 B
95%
子代理做仓库调研
986 KB
62 KB
94%

最扎眼的是最后一行。子代理做一次仓库调研,原始数据 986 KB,压到 62 KB,还是省了 94%。

整场会话算下来:

"Over a full session: 315 KB of raw output becomes 5.4 KB. Session time extends from ~30 minutes to ~3 hours."

同一场会话,从 30 分钟撑到 3 小时。

省空间是第一步,记住事是第二步

每次文件编辑、git 操作、任务状态、报错、你做过的决定——全部写进 SQLite。

会话被压缩的时候,它不把这些数据倒回上下文(那样窗口又满了),而是索引进 FTS5,用 BM25 检索,只捞回当前相关的部分。

FTS5 是 SQLite 的全文检索虚拟表。仓库里用到了几个实用特性:porter 词干还原让 "caching" 能匹配 "cached",trigram 分词让 "useEff" 能找到 "useEffect"。排序用 BM25,再叠一层 Reciprocal Rank Fusion 和 proximity 重排。

比省 token 更值得说的,是它的第三个动作:

"Think in Code — The LLM should program the analysis, not compute it. Instead of reading 50 files into context to count functions, the agent writes a script that does the counting and console.log()s only the result. One script replaces ten tool calls and saves 100x context."

让模型写脚本去算,而不是读 50 个文件进上下文数函数。README 里的对比是 47 次 Read() 吃 700 KB,换成 1 次 ctx_execute() 只剩 3.6 KB。

这个思路的价值不止于省 token——它把代理从「数据搬运工」变成了「写代码的人」。

有一件事它明确不管:输出的啰嗦程度。

"Aggressive brevity prompts have been shown to degrade coding/reasoning benchmarks"

作者还专门引了 Moonshot AI 的 kimi-k2.5 基准说这事。上下文管理归上下文管理,输出风格归输出风格,不搅在一起。

装起来其实就三行

Claude Code 走插件市场,装完自动生效:

shell
# 1. 加插件市场 /plugin marketplace add mksglu/context-mode # 2. 装插件 /plugin install context-mode@context-mode # 3. 重启 Claude Code,或执行 /reload-plugins 

前置条件是 Claude Code v1.0.33 以上。如果 /plugin 这个命令不认,先升级(brew upgrade claude-code 或 npm update -g @anthropic-ai/claude-code)。

装完先跑一次体检:

terminal
/context-mode:ctx-doctor 

所有检查项都该显示 [x]。它会校验 runtime、hooks、FTS5 和插件注册。

想先试试水、不想要 hook 自动拦截,可以只装 MCP 部分:

shell
claude mcp add context-mode -- npx -y context-mode 

这样 11 个 MCP 工具都在,但模型不会被主动引导去用它们。它想直接调 Bash,那就直接调 Bash。

支持哪些平台,效果差多少

仓库自己写的是 17 个平台(README 兼容表列了 18 列,Antigravity 和 Antigravity CLI 分开算)。效果分两档,差别来自 hook 能力:

平台
生效方式
节省
Claude Code / Gemini CLI / Cursor / Codex CLI / Copilot CLI 等
hook 自动路由
约 98%
Antigravity / Zed
只能手抄 AGENTS.md / GEMINI.md
约 60%

Antigravity 和 Zed 不支持 hook,这是平台限制,仓库解决不了:

"Antigravity and Zed do not support hooks. They rely solely on manually-copied routing instruction files (AGENTS.md / GEMINI.md) for enforcement (~60% compliance)."

差了三成多。不在这两个平台上的话,装 Claude Code、Cursor、Codex CLI、Copilot CLI 里的任意一个,效果都是完整的。

两个必须说清的坑

第一,license 不明。 GitHub API 返回的 SPDX 标识是 NOASSERTION,仓库 README 上的徽章写的是 Elastic License 2.0。商用之前,自己去确认一下 LICENSE 文件原文。

第二,还在预发布。 最新版本号是 v2.0.0-next.8,2026 年 10 月 28 日发布。next 阶段的东西,接口可能变。

另外这个项目还在高频迭代:光是 10 月 27 日一天就发了 next.5、next.6、next.7 三个版本,第二天又发了 next.8。追新版本别追太紧。

适合谁

适合:每天用 Claude Code 或 Cursor 干活、会遇到「它开始忘事」的;已经在用 MCP、装了一堆 server 的;做长任务(比如一次改十几个文件)的。

不太适合:只是偶尔问几句的小任务——装完的收益抵不上配置成本;或者你压根不用 MCP 工具。

仓库还带一个 /context-mode:ctx-insight,会打开一个托管的 dashboard 看团队级的 token 节省统计。有团队的话值得看一眼。

最后

上下文窗口的容量这几年一直在涨,但代理消耗它的速度涨得更快。

结果就是你越来越频繁地遇到同一件事:写到一半,它开始忘。

context-mode 的答案是把「读数据」这件事挪出模型的视野,让模型只看见结论。上下文不是靠塞得更满来管的,是靠不往里塞来管的。

你现在的代理,有没有出现过「干到一半忘事」?评论区说说,你是怎么处理的。


#VibeCoding#ClaudeCode#MCP#AI编程#GitHub#开发工具#上下文工程#程序员

相关学习资料