00:00:00如果你一直在用 Claude Code 编程,可能已经遇到过上下文膨胀的问题。
00:00:05问题在于,Claude Code 中的每一次 MCP 工具调用都极其昂贵,因为
00:00:11这些调用的完整输出会直接塞进模型 200k 的上下文窗口中。而且你拥有的
00:00:17工具越多,上下文耗尽的速度就越快。在某些情况下,
00:00:22活跃使用智能体 30 分钟后,上下文就会开始压缩。
00:00:28这时 AI 就会开始遗忘文件、任务和关键决策。更不用说
00:00:34你还要为这些 Token 花很多钱。但现在有一个 MCP 服务端解决了这个核心问题。
00:00:40它叫 Context Mode。在今天的视频中,我们将看看 Context Mode 的功能、
00:00:44工作原理,并通过一个小演示亲自上手试用。
00:00:48这会非常有趣,让我们开始吧。
00:00:55为了理解为什么会发生这种情况,我们来看看数据。一个 Playwright 网页快照
00:01:00大约是 56 KB。读取 20 个 GitHub Issue 是 59 KB。如果在
00:01:08规划阶段多次执行这些操作,可能在智能体写下一行代码前,就已经消耗了 70% 的窗口。
00:01:14Context Mode 充当了一个虚拟化层。
00:01:20AI 不再直接与你的操作系统对话,而是与沙箱对话。它不再转储
00:01:26海量输出,而是使用 FTS5(即全文搜索)将它们索引到本地 SQLite 数据库中。
00:01:34结果非常显著。例如,那个 56k 的 Playwright 快照被压缩到了 299
00:01:41字节,缩减了 99%。再比如,这个分析 CSV 被压缩到了 222 字节,
00:01:49缩减率接近 100%。但节省 Token 只是解决问题的一方面。真正的实用性
00:01:56在于会话的连续性。我们都见过智能体压缩历史记录后,突然就
00:02:03找不到 10 分钟前写的代码了。但 Context Mode 使用钩子监控每一次文件编辑、
00:02:09Git 操作和子智能体任务。当对话压缩时,Context Mode 会构建一个
00:02:15优先级分层的快照(通常小于 2 KB)并重新注入。这本质上是为你的
00:02:22编程会话创建了一个存档点。这样你就可以假设性地将谈话时间从 30
00:02:27分钟延长到大约 3 小时。它还会追踪决策和错误。例如,如果 AI 尝试过
00:02:34某种修复但在 20 分钟前失败了,即使在上下文重置后,它也不会重复同样的错误。
00:02:40安装过程非常简单。如果你正在使用 Claude Code,首先运行以下命令
00:02:46添加 Context Mode 市场。然后运行插件安装命令。完成后,
00:02:53就准备就绪了。安装后,它会自动处理 MCP 服务端、钩子和
00:02:57路由指令。如果你使用 Gemini CLI 或 VS Code Copilot,可以运行
00:03:03npm install context-mode 并在设置中添加配置。现在来看看 Context Mode 的实战。我
00:03:10这里有一个简单的 Python 命令,用于创建一个模拟访问日志文件,其中包含
00:03:15一堆模拟 API 请求及其状态码。每隔一百行就有一个 500
00:03:22错误日志。现在我们可以启动 Claude 并询问:嘿,使用 Context Mode 索引 access.log。
00:03:30我想找到所有 500 错误模式,并总结与之相关的 IP 地址。在
00:03:36后台,Context Mode 会将 access.log 文件中 5000 行内容分块存入它自己的
00:03:44SQLite FTS5 数据库。Claude 只会收到文件已索引的确认,而不是原始的 5000 行
00:03:51文件内容。现在 Claude 可以智能地搜索索引数据库来查询内容,而不是
00:03:57解析整个文件。在这里我们可以看到 Claude 返回的结果。但更重要的是,
00:04:02让我们来看看节省的成本。我们可以通过运行 context-mode :cts-stats 来查看
00:04:09当前会话中 Context Mode 节省了多少数据。你可以直接在这里看到结果。
00:04:15Context Mode 没有将整个 20 KB 丢进对话,而是将其中约 5 KB 的
00:04:21原始数据保留在沙箱中。对于这样一个小文件,这个结果已经非常令人印象深刻了。
00:04:27它避免了约 1200 个 Token 进入上下文窗口。总的来说,在这个小测试中,
00:04:34我们获得了 25% 的缩减。这听起来可能不多,但请记住,
00:04:41在标准的 Claude 会话中,这些数据会一直存在,并随你发送的每一条
00:04:47消息被重复发送。通过将其保留在沙箱中,我们已经开始延长
00:04:53这个会话的寿命。虽然这个演示文件很小,但如果你处理更大的文件,
00:04:58节省的量可能会非常巨大。如果你正在进行大规模的代码库研究项目或分析
00:05:03生产级别的日志,这 1200 个 Token 的节省可以轻易变成 100,000 个 Token。但这里的目标
00:05:11不仅仅是为了节省 API 成本(尽管这是一个不错的额外加成),还为了保持
00:05:18模型的智力。当你清除上下文窗口中的噪音时,你就为
00:05:24实际的推理留出了更多空间。你给了 Claude 成为更优秀工程师所需的空间。
00:05:30所以,如果你正在使用 AI 智能体构建复杂的项目,请尝试一下这个工具,看看
00:05:35在智能体开始压缩并遗忘事情之前,你能将会话延长多久。
00:05:41如果你喜欢这类技术解析,请点击视频下方的点赞按钮
00:05:45告诉我们。也不要忘记订阅我们的频道。我是来自 Better Stack 的
00:05:50Andris,我们下个视频再见。