模型 / 数据集
Marker-Inc-Korea/AutoRAG avatar
Marker-Inc-Korea/AutoRAG

AutoRAG 2.0:把文档检索改造成一个会自我进化的图书管理员

AutoRAG: Now your agent can find anything in your computer. It gets smarter if you are using it frequently.

5,072 个 Star432 个 ForkTypeScriptNOASSERTION

秒懂

它是什么?
AutoRAG 2.0 不再是最初的 RAG 管线 AutoML 工具,而是一个基于 Pi agent 的本地文档检索智能体。它直接读取源文件、自带记忆系统,但它的定位和限制需要仔细辨别。
适合谁用?
AutoRAG 2.0 适合那些拥有大量本地 PDF、笔记和知识库,且愿意把检索结果交给一个智能体去阅读和综合的人。它不适合需要精细控制检索管线每一步的团队,也不适合必须把数据导入中央索引的合规场景。
能商用吗?
请先确认。这个仓库使用的许可证不在我们自动归类的范围内,商用前请阅读仓库里的 LICENSE 文件。
还在维护吗?
在维护。仓库最近一次提交在 1 天前。
用什么语言写的?
主要是 TypeScript(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

一个仓库,两种身份

这个仓库现在同时装着两个东西。根目录下是 AutoRAG 2.0,一个被重新定义成“自进化图书管理员”的智能体。legacy/ 目录里则是原来的 AutoRAG,那个用来自动搜索最优 RAG 管线的 Python 工具。README 明确说旧版没有废弃,还在维护,只是新功能开发都集中到了 2.0。这种双轨布局容易让人困惑,但至少旧用户不会被突然抛弃。你需要先搞清楚自己要的是哪一种,因为两者的使用方式和目标完全不同。

它解决的不是搜索问题,而是阅读问题

普通搜索工具返回文件路径和匹配行,剩下的工作全得人来做:打开文件、读上下文、判断相关性、综合答案。AutoRAG 2.0 想把这五步全包了。它的输出是一组编号的知识单元,每个单元带有来源页码或段落,例如“营收同比增长 23% 至 420 万美元,主要由企业合同驱动(第 3-5 页)”。这确实比 grep 输出更接近答案。但要注意,这种能力依赖一个能读懂文档的模型,AutoRAG 自己不提供模型,它使用用户运行时里已认证的模型和提供商。这意味着你的模型质量直接决定输出质量,工具本身不保证答案的准确性。

从 Pi 到图书管理员:单一模型掌控全流程

AutoRAG 2.0 是 Pi agent 的一个定制版本。Pi 是一个 agent 循环框架,AutoRAG 把它配置成了图书管理员角色。关键设计是单一模型负责整个循环:检索候选、直接读取源文件、判断证据、整理结构化答案。它不是那种协调多个专业模型的编排器。README 强调这一点,说 AutoRAG 本身是专门的搜索 agent,不是其他模型角色的协调者。这种设计的好处是延迟低,因为不需要多次调用不同模型来协商。坏处是单点依赖,如果这个模型在某个环节表现不佳,整个流程都会受影响。文档没有提供任何基准测试数据来证明这种单一模型循环比多模型协作更优。

本地检索的三种方法,都走 MinSync

检索不是直接在原始文件上做的。MinSync 先把解析后的 markdown 镜像索引到 .autorag 目录下,然后 BM25、向量和混合检索都基于这些分块(chunk)进行。三种方法默认启用,可以通过配置关闭。BM25 适合法律文档和规范,向量搜索适合研究论文和密集文本,混合模式结合两者。所有方法通过 RetrievalMethodRegistry 注册,共享同一个 CDC 分块生命周期。外部数据源可以保留自己的归档和索引生命周期,不强求统一。这里的关键词是“本地”,索引不发送到第三方服务器。但要注意,MinSync 会在第一次使用时自动安装一个二进制到 <workspace>/.autorag/bin,这个自动安装行为本身可能引发安全审查,你可以设置 autoInstall 为 false 来手动管理。

真实目录访问:bash 工具的双刃剑

检索工具提供候选路径,但真正阅读文件的是 agent 内置的 bash 工具。这意味着 AutoRAG 需要能通过 shell 命令访问你配置的源目录。这带来了很大的灵活性,可以处理各种格式,但也带来了明显的安全边界问题。如果你在一个多用户系统上运行,或者文档目录包含敏感但不应被 agent 读取的文件,这种直接访问模式需要格外小心。README 提到结果带有源原生身份标识,比如 kakao:<chat>/<sender>/<chunk>,并经过范围检查的访问。但范围检查的具体实现细节没有展开,你需要在部署前确认这些检查是否覆盖你的使用场景。

自我进化记忆:听起来很美,但依赖使用频率

AutoRAG 有一个自我进化的记忆系统。每次搜索都会记录哪种检索方法对哪种查询有效,哪些文档区域最有生产力,以及调用者通过显式反馈认为什么有用。新部署的 AutoRAG 会尝试所有方法,用久了之后它就知道该去哪里找。这确实比静态配置先进。但这个机制的生效前提是你频繁使用并给出反馈。如果你只是偶尔查一下文档,记忆系统可能永远积累不起足够的数据。README 没有说明记忆的存储格式、容量上限或遗忘机制,这些都是你在采用前需要验证的细节。

薄 PDF 重试:一个具体的质量保护机制

默认 PDF 解析器有一个针对多页 PDF 的质量检查。如果本地 markdown 内容异常稀疏,具体标准是少于 800 个字符,或每检测页少于 40 个字符,且至少三页如此,它会通过 OpenDataLoader 的 docling-fast 混合后端重试,使用 hybridMode: "auto" 和 30 秒超时。密集 PDF 不会重试,单页 PDF 和图像永远不会走混合路径。这个逻辑可以通过 parserOptions 调整,例如设置 minPages、minChars、timeoutMs 等。这是一个很具体的工程细节,说明开发者考虑了扫描件或格式转换失败的情况。但要注意,重试会消耗额外时间,如果你处理大量正常的多页 PDF,这个检查本身也可能带来轻微开销。

编辑结论

AutoRAG 2.0 适合那些拥有大量本地 PDF、笔记和知识库,且愿意把检索结果交给一个智能体去阅读和综合的人。它不适合需要精细控制检索管线每一步的团队,也不适合必须把数据导入中央索引的合规场景。采用前需要先验证三件事:确认你的文档目录结构能被 bash 工具安全访问,检查 MinSync 自动安装的二进制是否符合你的安全策略,以及测试默认的薄 PDF 重试逻辑在你常见的扫描件上是否有效。如果你依赖旧版 AutoRAG 的 AutoML 管线优化功能,请继续使用 legacy/ 目录下的版本,它仍在维护。AutoRAG 2.0 的自我进化记忆听起来诱人,但它的学习效果完全取决于你使用频率和反馈质量,不要指望一次配置就能解决所有检索问题。

官方来源

  1. Issues
  2. Marker-Inc-Korea/AutoRAG on GitHub
  3. Project website
  4. README
  5. Releases
社区笔记

社区笔记