AI 开发者、研究人员及专业人士在利用大语言模型分析大型文档时,常常会碰上一堵令人沮丧的墙:上下文窗口那隐藏且不断累积的成本。将一份 200 页的 PDF 粘贴到聊天框中并非一次性收费。因为对话历史会在每一次交互中重新发送给模型,所以那份庞大的文档会随着每一个后续问题被反复计费。
Marktechpost AI 团队刚刚发布了 Token Saver,这是一个面向 Claude Desktop 的开源模型上下文协议(MCP)扩展(采用 MIT 许可,当前版本为 v1.0)。它由 Marktechpost AI Media Inc 的 Arnav Rai(罗切斯特理工学院计算机科学专业学生)在 Marktechpost 实习期间开发,并由 Jean-marc Mommessin 和 Asif Razzaq 指导。Token Saver 从根本上改变了 Claude 与本地文档的交互方式。通过在你的机器上直接实现本地混合 RAG 系统,它允许你针对大型 PDF 提问,而无需将实际文件上传到模型。
Token 消耗量削减了 92% 到 99%,隐私得到保障,并且设置过程完全不需要任何 Python 环境或终端配置。
效果展示!

大型 PDF 的隐藏 Token 消耗
大多数用户认为,当他们将 PDF 拖入 Claude 时,它只是简单地提取文本。实际上,Claude 的默认行为是将每一页转换为图像以保留图表和布局,同时单独提取文本。在计算任何图像 token 之前,仅文本部分每页就可能消耗 1,500 到 3,000 个 token。
虽然提示词缓存和 Claude 项目有助于缓解这一问题,但它们并未解决核心问题:整个文档仍然会跨越边界传输到提供商的服务器。此外,如果你只需要从一本 1000 页的教科书中找到两个相关段落,强迫大语言模型自行搜索全部 1000 页既效率低下,又容易产生模型幻觉。
本地混合 RAG 如何解决问题
Marktechpost 的 Token Saver 作为一个本地 MCP 服务器运行:这是一个在你机器上运行的轻量级后台程序,Claude 可以将其作为工具调用。PDF 文件永远不会离开你的硬盘。
当你提出问题时,Token Saver 会利用本地混合 RAG 来寻找答案。混合 RAG 是文档检索的黄金标准,因为它结合了两种强大的搜索方法:
- 关键词匹配(BM25):基于 SQLite 内置的 FTS5 搜索运行(权重为 0.4),用于查找精确术语。
- 语义搜索(余弦相似度):使用本地的 all-MiniLM-L6-v2 嵌入向量模型(权重为 0.6)来理解你问题的含义,而不仅仅是匹配精确的词语。
通过在本地融合这两种方法,服务器会搜索文件,并只将高度相关的段落交给 Claude。然后,Claude 综合这些信息给出答案,同时引用精确的页码,并实时统计你刚刚节省的模型 token 数量。
8 阶段处理流水线
Token Saver 完全运行在单个长期运行的本地进程中。在任何文本到达 Claude 之前,本地混合 RAG 流水线会执行八个快速步骤:
- 提取:使用 pypdfium2(以 pypdf 作为备用方案)来提取文本。
- 分块:将文本分割成 180 个单词的段落,段落之间重叠 40 个单词,以确保上下文不会被盲目截断。
- 评分(混合 RAG):使用融合后的 BM25 和本地嵌入向量模型对文本块进行评估。
- 门控:强制执行质量阈值。不共享任何精确关键词的段落,其语义相似度必须达到 0.25 的最低标准才能入选。
- 去重:丢弃近乎相同的段落。
- 修剪:将段落严格缩小到能够回答用户提示词的那些句子。
- 预算:发送给 Claude 的总负载上限为 8,000 个字符。
- 封装:将检索到的文本包裹在一个文档块元素中,其中包含源文件和精确的页码。

(注意:嵌入向量模型是可选的,但推荐使用。如果加载失败,系统会优雅地回退到仅关键词匹配模式)。
数据:大规模实现 99% 的节省
由于混合 RAG 流水线限制了返回的文本片段,因此随着文档规模的增大,模型 token 节省量呈指数级增长。以下是 Token Saver 在基准测试中的表现(通过 tiktoken 测量,假设每个文档对应一个问题):
| 文档 | 页数 | 整篇文档模型 token 数 | 返回的模型 token 数 | 节省的模型 token 比例 |
| FDA 药品标签 | 33 | 23,959 | 1,021 | 95.7% |
| GDPR(欧盟 2016/679 号法规) | 88 | 70,260 | 996 | 98.6% |
| SFFA 诉哈佛大学案 | 233 | 133,349 | 740 | 99.4% |
免责声明:Token 计数使用 cl100k_base 作为替代基准,基线假设每次搜索均按整篇文档计费。
对于需要反复处理法院判决书、技术标准、财务报告或密集教科书的专业人士而言,Token Saver 消除了重复性的 token 开销。
安全性与本地隐私
对于企业用户和法律专业人士而言,数据隐私不容妥协。Token Saver 的安全模型基于三大支柱:
- 零上传:文档始终不离开您的设备。
- 文件夹白名单:您配置一个特定文件夹供 Token Saver 使用。服务器将主动拒绝读取此指定目录之外的任何文件。
- 网络隔离:服务器仅通过标准输入输出(stdio)与 Claude Desktop 通信。不存在监听中的网络端口,从而大幅降低攻击面。
模型性能:Sonnet 对比 Opus
Marktechpost 的 Token Saver 可在所有三个 Claude 3.5 层级上运行,但测试揭示了不同的行为表现:
- Claude 3.5 Sonnet(推荐):明智的默认选择。它能完美处理松散的文件引用,在两个文件名相似时会提出澄清性问题,并能正确应用检索到的页码。
- Claude 3 Opus:擅长处理包含多种声音的复杂文档(例如包含多数意见和反对意见的法律裁决)。Opus 足够智能,当它基于上下文而非显式文本推断出归属关系时,会主动标记说明。
数分钟即可上手
与许多需要复杂 Python 环境和 JSON 配置的开源 AI 工具不同,Token Saver 被打包为单个 .mcpb 捆绑包。
- 从项目的 GitHub Releases 页面下载 token-saver-ccr.mcpb。
- 打开 Claude Desktop -> 设置 -> 扩展 -> 安装扩展。
- 启用该扩展,点击配置,然后选择一个存放参考 PDF 的专用文件夹。
- 在首次提示时,选择始终允许。
在选定文件夹之前,该扩展不会运行,因为这一选择同时服务于三个目的。

这个文件夹值得稍加思考。它划定了可读取内容的边界,让你能通过文件名来请求文件,而无需输入完整路径;同时,当对话开始时,服务器也会向 Claude 展示这个文件夹中的文件列表。一个只存放你打算询问内容的小文件夹,其效果远胜于将整个文档目录都指向给它。
核心要点
- 大幅降低成本:通过使用本地混合 RAG 技术,仅将相关段落传递给大语言模型,模型 token 成本可降低高达 99%。对话越长,节省的成本就越多。
- 可验证的准确性:由于 Token Saver 为每个检索到的文本块附加了精确的页码,你可以通过打开本地 PDF 文件,即时验证 Claude 给出的陈述。
- 绝对隐私:数据边界就在你的本地机器上。你的专有数据永远不会上传到 AI 提供商的服务器。
- 零摩擦设置:无需 Python 环境。只需安装一个简单的 `.mcpb` 文件,即可在 Claude Desktop 中立即运行。
查看 GitHub 仓库。
参考资料:MCP Bundle 格式 | all-MiniLM-L6-v2 | pdfkb-mcp | wesleygriffin/pdfrag | 语料库:多布斯诉杰克逊妇女健康组织案;伯克希尔·哈撒韦公司 2023 年年度报告