工具推荐·阅读约 2 分钟·
Mole:一个会查证引用的终端深度研究 Agent,预算硬约束、本地数据不上云

Mole:一个会查证引用的终端深度研究 Agent,预算硬约束、本地数据不上云

Mole 是一个开源的终端深度研究 agent:强制预算上限、每条声明都带原文引用、本地数据只走本地计算。本文拆解它的架构设计、工具箱模式和实测数据。

原文来源:GitHub - lajosdeme/mole — 一个带强制预算、引用验证和本地数据隐私边界的终端深度研究 agent,本周登上 Hacker News Show HN(98 分)。

用 AI 做深度研究的最大痛点是什么?不是模型不够聪明,而是它给你的答案没法验证。跑一次研究可能花掉几十美元,结果引用是编的、数字是幻觉的,你还得花更多时间去核实。Mole 这个新开源项目试图正面解决这个问题:它把"引用必须可验证"做成了核心机制,而不是事后补救。

Mole 是一个 Go 编写的终端深度研究 agent,Apache-2.0 许可,本周以 Show HN 形式登上 Hacker News 拿到 98 分。它的定位可以浓缩成三个卖点:强制预算(研究绝不会超支)、验证引用(每条声明都指向原文)、隐私边界(本地数据永远不出本机)。

它解决什么问题

现有的深度研究工具通常有两个问题。一是费用失控:一个研究任务让 agent 自由发挥,token 消耗完全不可预测,跑完一看账单才傻眼。二是幻觉泛滥:agent 生成的结论引用了一堆来源,但你去查会发现引用根本不支持结论,甚至来源本身不存在。

Mole 的设计前提是:这两个问题都可以通过工程手段约束。预算不是建议而是硬上限;引用不是格式化需求而是数据完整性需求——每条 claim 都必须携带来源和逐字引用,引用必须在原文中真实存在。

—— 广告 ——

核心架构:声明图 + 分级 actor

Mole 的内部流程是一条明确的管线:executor 调度 → actor 执行 → verifier 验证 → output 输出。每个 worker 同一时间只处理一个 lead,任务完成后释放。

最关键的是"声明图"(claim graph)机制。研究过程不是把网页文字直接喂给模型,而是先经过三层 actor:

  • web:搜索并阅读网页
  • academic:查询 Crossref、OpenAlex、arXiv 和 PubMed,按 DOI 去重,优先获取开放获取的全文
  • local_compute:对你注册的本地数据执行确定性的 SQL 查询,数据行永远不会进入模型上下文

每条从网页提取的 claim 都要经过 quote-check——逐字核对是否真的出自所引用的来源。verifier 再把相关声明配对、裁决冲突、构建声明图,并抽样回读验证。最后输出阶段只从"存活下来"的声明中合成答案,并附上引用。

这种设计让研究结果有了可追溯性:最终答案里的每句话,都能沿着声明图一路回溯到原始出处。

Toolkit 模式:把引用验证拆出来当服务用

Mole 最有意思的设计是双模式。自主模式(autonomous)下,agent 自己决定搜索什么、读什么、哪些声明相关,mole 全程负责引用检查、声明合并和 SQL 渲染。

但很多人的真实使用场景是:我已经有 Claude 或 Qwen 订阅,跑在某个 coding agent 里,模型额度早就付过钱了。这时可以用 Toolkit 模式——方向反转:agent 决定一切,mole 只做它最擅长的部分:引用核验、成对检索、合并和 SQL 渲染。两种模式共享同一套组件(同一份 AcceptRow 逻辑、同一个聚合门、同一个词法检索器),所以构建方式完全一致。

需要提醒的是,Toolkit 模式有两个代价:mole 无法约束别人家模型的消费,而且一旦抓取的文本进入 agent 自己拼装的 prompt,注入防护就从硬约束退化成约定。项目文档把这三点写得清清楚楚,包括"0 of 25 的围栏测试结果意味着不能说安全"这种措辞。

诚实的数字:自己给自己打分

mole 会给自己每次运行打分,mole eval <session-id> 输出一张记分卡,算不出来的指标会明说而不是假装为零。开发者的实测数据:

  • 预算超支:0%(没有任何一次运行超过上限)
  • 声明完整性:100%(每条存储的 claim 都有来源和逐字引用)
  • 引用准确率:100%(每条引用都能在对应来源中找到原文)
  • 基础率(grounding rate):80%(抽样回读确认的声明比例)
  • 矛盾裁决精度:带确认步骤 70%,不带 51%
  • 合并精度/召回率:构造的真实数据上 1.000/1.000

这个"诚实数字"的设计理念贯穿了整个项目,包括贡献指南里那条与众不同的要求:"falsify your own fix"——改完 bug 后要把修复机制撤销,确认测试真的会失败。因为一个移除修复后依然通过的测试,证明不了任何东西。项目自己的测试就被这套标准抓过好几次。

安装与上手

项目刚做完首次发布,走标准渠道:AUR 上叫 mole-researchmole 这个名字 2020 年就被一个 SSH 隧道工具占用了),Homebrew 用 tap 方式安装(brew install lajosdeme/mole/mole),同时提供 .deb 和 .rpm 包。支持 Linux 和 macOS。发布过程本身也很有意思:首次发布时作者发现 mole 在 AUR 和 Homebrew 都被占用、安装脚本解析版本号有 bug,这些坑都写进了提交信息里。

mole eval 可以查看自己研究的评分,mole dataset 导出数据(上限 200 行)。研究过的文档保留 7 天过期,过期后即使清扫程序没跑,读取也会被拒绝——隐私工具应该明确说明它把第三方内容写在哪里。

适合谁

如果你经常用 AI 做需要可信来源的研究(技术调研、学术文献综述、竞品分析),且受够了"引用看着很真但一查就假",Mole 值得一试。学术研究场景是它的强项——Crossref/OpenAlex/arXiv/PubMed 的集成是现成的。对数据敏感的用户,local_compute 模式让你能在不上传的前提下让 agent 分析本地数据。

不适合的人也很明确:只想快速跑个摘要、不在乎引用是否经得起推敲的场景,Mole 的多层验证只会拖慢速度。另外它现在只有 213 个 star、刚发布 v1,社区和生态还不成熟,指望它替代完整的商业研究产品还为时过早。但"引用必须可验证"这个设计方向,值得每一个做 AI 研究工具的人参考。

分享到
微博Twitter

© 2026 四月

原文链接:https://www.aprilzz.com/tools/mole-deep-research-terminal