{
  "title": "文件系统即数据库：为什么智能体需要一种新的存储原语",
  "excerpt": "RAG 管道赋予了智能体记忆。但下一波智能体基础设施浪潮正汇聚于一种截然不同的原语：虚拟文件系统。从 Mintlify 的 ChromaFs 到 Turso 的 AgentFS，再到 Box 的企业级 VFS 层，这一模式已清晰可辨。文件系统正在成为智能体认知的通用接口，而数据库正悄然成为其底层基座。",
  "content_html": "<p>智能体基础设施领域正在发生一些有趣的事情，而这并非大多数人所预期的那样。在过去两年里，赋予智能体知识访问能力的主导范式一直是检索增强生成（Retrieval-Augmented Generation）：将你的文档嵌入向量，存储在向量数据库中，并让模型在推理时查询它们。RAG 奏效了。它足够好。但“足够好”是有保质期的，而在 2026 年，这个保质期正在到期。</p>\n\n<p>一种新模式正在整个行业涌现，并且正从多个方向同时汇聚。Mintlify 用虚拟文件系统替换了其整个 RAG 管道，会话创建时间从 46 秒降至 100 毫秒 [1]。Turso 构建了 AgentFS，一个由 SQLite 支持的文件系统，为每个智能体提供独立的写时复制沙箱 [2]。企业内容巨头 Box 宣布，正在将其整个平台重新定位为面向 AI 智能体的虚拟文件系统层 [3]。字节跳动则开源了 OpenViking，这是一个上下文数据库，将所有智能体记忆、资源和技能组织为分层文件系统 [4]。</p>\n\n<p>这些并非小众实验。它们是一场根本性转变的信号。<strong>文件系统正在成为智能体认知的通用接口，而数据库正悄然成为其底层基座。</strong></p>\n\n<h2>RAG 为何碰壁</h2>\n\n<p>RAG 是 2023 年的正确答案。你有一堆文档，一个上下文窗口有限的模型，你需要一种在查询时呈现相关片段的方法。向量嵌入和相似性搜索优雅地解决了这个问题。</p>\n\n<p>但智能体不是聊天机器人。智能体不会问完一个问题就离开。它会探索。它读取一个文件，发现一个引用，追踪它，读取另一个文件，运行一条命令，写入一份输出。这不是一个检索问题。这是一个导航问题。</p>\n\n<p>RAG 管道在这件事上举步维艰，原因有三。首先，它们在设计上是无状态的。每次查询都是独立的；不存在“我刚才正在看这个目录，现在给我看看相邻文件”的概念。其次，它们扁平化了结构。一个拥有清晰层级结构的文档站点——包含章节、页面和代码示例——被撕碎成匿名的 512 token 片段，丧失了组织上下文。第三，它们在规模扩大时成本高昂。嵌入计算、向量索引维护和重排序都会增加延迟和成本，并且随着语料库增长而叠加。</p>\n\n<p>文件系统解决了这三个问题。它天生就是有状态的（智能体有一个工作目录）。它保留了结构（目录、子目录、文件）。而且它很快，因为操作很简单：<code>ls</code>、<code>cat</code>、<code>grep</code>、<code>find</code>。这些并非新颖的抽象。它们是计算领域中最经受过实战检验的接口。</p>\n\n<h2>汇聚：四种方案，一种模式</h2>\n\n<p>这一刻之所以意义重大，是因为文件系统模式正在截然不同的场景中独立涌现。</p>\n\n<p><strong>Mintlify 的 ChromaFs</strong> 或许是最具启发性的例子。Mintlify 为数千家公司提供文档助手支持。他们最初的架构是教科书式的 RAG：将文档分块、嵌入、在查询时检索。当他们用 ChromaFs 取代它时——ChromaFs 是一个虚拟文件系统，拦截 UNIX 命令并将其转换为 Chroma 数据库查询——结果令人震惊。会话创建时间从 46 秒降至 100 毫秒，提升了 460 倍。每次对话的边际成本从 0.0137 美元降至几乎为零 [1]。关键洞察在于：智能体已经知道如何导航文件系统。教它使用 <code>cat /auth/oauth.mdx</code>，相比教它构建正确的向量查询，简直微不足道。</p>\n\n<p><strong>Turso 的 AgentFS</strong> 解决的是另一个问题：智能体隔离与可审计性。每个智能体都拥有自己独立的、由 SQLite 支持的文件系统，具备写时复制语义。宿主文件系统是只读的基础层；智能体写入 SQLite 增量层。每一次文件操作、工具调用和状态变更都被记录下来。整个智能体运行时、文件、状态、历史，都容纳在一个可移植的 SQLite 文件中 [2]。这不仅仅是一个文件系统。它是一个可审计、可复现的执行环境。</p>\n\n<p><strong>Box 的企业级 VFS</strong> 在战略上最为重要。Box 首席执行官 Aaron Levie 已经明确表示：智能体需要文件系统才能在企业中开展知识工作 [3]。但 Box 推销的并非字面意义上的文件系统。他们推销的是一种“动态数据交付契约”，可以由对象存储、关系数据库或他们自己的内容平台作为后盾。文件系统是接口；后端存储则取决于哪种方式对数据最合理。Box 这一手有趣之处在于治理层：权限、审计追踪和合规边界会自动从内容平台延伸到智能体。</p>\n\n<p><strong>字节跳动的 OpenViking</strong> 将这一模式推向了极致。它使用标准文件系统语义，在 <code>viking://</code> 协议下组织所有智能体上下文、记忆、资源、技能和知识。智能体通过 <code>ls</code> 和 <code>find</code> 进行导航。但巧妙之处在于其分层访问模型：每一段上下文都被处理为三个层级。L0 是用于快速检索的单句摘要。L1 是包含核心信息的概览，用于规划。L2 是用于深度阅读的完整内容 [4]。智能体从 L0 开始，需要更多信息时深入 L1，只有在进行详细工作时才加载 L2。在 LoCoMo 基准测试中，这将 token 消耗从 2460 万降至 420 万，同时将任务完成率提升至 52% [4]。</p>\n\n<h2>文件系统作为接口，数据库作为底层</h2>\n\n<p>连接这四者的模式，我称之为 <strong>VFS 二象性</strong>：文件系统作为接口胜出，数据库作为底层胜出。这不是二选一的抉择。而是一种分层架构。</p>\n\n<p>文件系统为何能作为接口胜出，原因很直接。大语言模型（LLM）在互联网上训练，而互联网是由以文件、目录、路径和命令行工具思考的开发者构建的。模型对这些原语异常熟练，因为它们见过数十亿个开发者导航代码库、读取文件和运行 shell 命令的示例。当你给智能体一个文件系统时，你是在它的训练数据所熟悉的地方与它相遇。</p>\n\n<p>数据库为何能作为底层胜出，同样清晰。一旦智能体记忆需要被共享、审计、被多个智能体查询，或在并发下保持可靠，你就需要数据库的保障。ACID 事务、访问控制、语义搜索、版本历史：这些都是数据库花了数十年解决的难题。在字面意义上的文件系统之上重新实现它们，只会通向痛苦。</p>\n\n<p>VFS 模式让你两者兼得。智能体看到的是文件和目录。系统看到的是表、索引和访问控制列表。ChromaFs 将所有内容存储在 Chroma 中，但将其暴露为文件。AgentFS 将所有内容存储在 SQLite 中，但将其暴露为 POSIX 文件系统。OpenViking 使用自己的存储引擎，但将其暴露为 <code>viking://</code> 路径。Box 使用其企业内容平台，但将其暴露为可导航的树。</p>\n\n<h2>但 VFS 真的能击败原生文件系统吗？</h2>\n\n<p>对此最自然的反对意见是：为什么不直接使用真正的文件系统？POSIX 就在那里。每个操作系统都自带它。为什么要添加一层抽象？</p>\n\n<p>我想通过实证来回答这个问题，因此我构建了 <a href=\"https://github.com/subramanya1997/markdownfs\">markdownfs</a>——一个从零开始、用 Rust 编写的虚拟文件系统，专为智能体工作负载设计 [6]。它支持全套类 UNIX 命令（<code>ls</code>、<code>cat</code>、<code>grep</code>、<code>find</code>、<code>chmod</code>、<code>chown</code>）、基于内容寻址存储的 Git 风格版本控制、多用户权限管理，并暴露三种访问方式：CLI/REPL、HTTP/REST API，以及 MCP 服务器——Claude 和 Cursor 等智能体可以直接连接。</p>\n\n<p>其架构很简单：一个内存中的 inode 表，由使用 SHA-256 哈希的内容寻址 blob 存储作为后盾，配合 <code>tokio::RwLock</code> 实现安全的并发访问。文件会自动去重。版本控制采用与 Git 相同的提交/回退模型，但在文件系统层面实现。持久化通过原子性的 bincode 快照处理。</p>\n\n<p>当我针对标准智能体操作（文件创建、读取、写入、目录列表、grep、find、移动、复制、删除）对 markdownfs 与原生文件系统进行基准测试时，markdownfs 平均快了约 <strong>130 倍</strong>。这些原因来自结构性优势，而非偶然。内存操作完全消除了磁盘 I/O。内容寻址存储意味着重复文件只存储一次。零拷贝读取意味着智能体获取数据时没有序列化开销。而且由于整个文件系统状态存在于单个进程中，不存在需要跨越的系统调用边界。</p>\n\n<p>对于智能体最频繁执行的操作，这种对比尤为鲜明：</p>\n\n<table>\n<thead>\n<tr>\n<th>操作</th>\n<th>VFS 为何胜出</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>重复读取</strong>（智能体重新读取上下文）</td>\n<td>内存中、零拷贝。无磁盘寻道，无页缓存未命中。</td>\n</tr>\n<tr>\n<td><strong>跨文件 grep</strong>（智能体搜索模式）</td>\n<td>所有内容都在内存中。无需目录遍历，无需文件句柄管理。</td>\n</tr>\n<tr>\n<td><strong>快速文件创建</strong>（智能体生成工作产物）</td>\n<td>无文件系统日志，无磁盘 inode 分配，无 fsync。</td>\n</tr>\n<tr>\n<td><strong>目录列表</strong>（智能体探索结构）</td>\n<td>BTreeMap 查找 对比 readdir 系统调用。</td>\n</tr>\n</tbody>\n</table>\n\n<p>但性能并非真正的论据。真正的论据在于原生文件系统<em>做不到</em>什么。POSIX 文件系统没有语义搜索的概念。它没有内置版本控制（你需要 Git 来实现）。它没有分层访问模型（你要么拿到整个文件，要么什么都拿不到）。它没有内容去重。它没有智能体操作的审计追踪。最关键的是，它没有 MCP 接口，这意味着智能体无法通过生态系统正在汇聚的标准协议来访问它。</p>\n\n<p>VFS 不仅更快。它是一种更丰富的原语。它提供了你熟悉的 <code>ls</code> 和 <code>cat</code> 接口，同时添加了智能体真正需要的能力：版本控制、权限管理、搜索、去重，以及通过 MCP 或 HTTP 的原生协议访问。</p>\n\n<h2>这对 RAG 意味着什么</h2>\n\n<p>需要明确的是，RAG 并未消亡。对于模糊、语义化的查询——即智能体确实不知道自己在找什么时——向量搜索仍然有价值。但坦诚的评估是，RAG 已经被过度应用了。许多团队部署 RAG 管道的用例——文档检索、代码库导航、企业知识管理——其实更适合由文件系统接口来服务。</p>\n\n<p>证据令人瞩目。Mintlify 的 460 倍加速来自于用文件系统替换 RAG，而非增强它 [1]。Letta 的研究表明，使用简单文件系统操作的智能体在记忆基准测试中达到了 74% 的准确率，与专门的检索工具不相上下。而智能体关键词搜索方法可以在完全不使用向量数据库的情况下，达到 RAG 90% 以上的性能 [5]。</p>\n\n<p>未来很可能是混合式的。RAG 用于开放式的语义搜索。文件系统用于结构化导航和任务执行。但重心正在向文件系统转移，其战略意义重大。</p>\n\n<h2>战略必要性</h2>\n\n<p>如果你正在构建智能体基础设施，你需要一个 VFS 战略。原因如下。</p>\n\n<p><strong>对于 SaaS 公司</strong>：Box 带来的教训是，文件系统正在成为智能体的集成界面。如果你平台的内容无法作为文件系统被导航，智能体就会绕过你。通过类文件系统接口暴露数据的 SaaS 公司将成为智能体工作流的一部分。而那些不这样做的公司，将对智能体不可见，也就意味着对用户不可见。</p>\n\n<p><strong>对于基础设施供应商</strong>：数据库不会消失。它正在转移到文件系统之下。这对数据库公司来说其实是好消息。Turso 理解了这一点，并在 SQLite 之上构建了 AgentFS。每个启动的智能体都会创建一个新的数据库。世界上运行的智能体越多，世界需要的数据库就越多。但数据库需要隐藏在文件系统抽象之后。</p>\n\n<p><strong>对于企业</strong>：治理层面的叙事才是关键。Box 的卖点其实不在于文件系统。而在于当内容通过 VFS 层被访问时，他们的权限模型、审计追踪和合规基础设施会自动延伸到智能体 [3]。这正是每位首席信息安全官（CISO）都在问的问题的答案：“我们如何让智能体访问我们的内容，同时不制造安全噩梦？”</p>\n\n<h2>统一层</h2>\n\n<p>智能体基础设施栈一直在以清晰的阶段演进：工具（MCP）、技能和上下文图谱。虚拟文件系统作为这三者的<strong>交付机制</strong>融入这一演进弧线。MCP 工具通过文件系统被调用。技能以文件形式存储。上下文图谱以目录树的形式被导航。文件系统并未取代这些层。它将它们统一在一个单一、熟悉的接口之后。</p>\n\n<p>这才是真正的洞察。文件系统并非新概念。它是计算领域最古老的抽象。但这正是它适用于智能体的原因。在一个我们每季度都在发明新范式的世界里，最有力的举措或许是回溯到我们最经受过验证的接口，并在其后放置一个现代数据库。</p>\n\n<p>理解这一点的公司——Mintlify、Turso、Box、字节跳动——并非在构建什么新东西。它们是在认识某种古老的事物，并赋予它一份新工作。</p>\n\n<p><strong>参考文献：</strong></p>\n\n<p>[1] <a href=\"https://www.mintlify.com/blog/how-we-built-a-virtual-filesystem-for-our-assistant\">Mintlify. (2026年4月2日). <em>我们如何为助手构建虚拟文件系统</em>. Mintlify 博客。</a></p>\n\n<p>[2] <a href=\"https://turso.tech/blog/agentfs\">Turso. (2026). <em>AI 智能体缺失的抽象：智能体文件系统</em>. Turso 博客。</a></p>\n\n<p>[3] <a href=\"https://www.blocksandfiles.com/ai-ml/2026/03/09/box-pitches-virtual-filesystem-layer-for-ai-agents/5208017\">Blocks and Files. (2026年3月9日). <em>Box 为 AI 智能体推销“虚拟文件系统”层</em>. Blocks and Files。</a></p>\n\n<p>[4] <a href=\"https://github.com/volcengine/OpenViking\">Volcengine. (2026). <em>OpenViking：面向 AI 智能体的开源上下文数据库</em>. GitHub。</a></p>\n\n<p>[5] <a href=\"https://signals.aktagon.com/articles/2026/02/keyword-search-is-all-you-need-achieving-rag-level-performance-without-vector-databases-using-agentic-tool-use/\">Signals. (2026年2月). <em>关键词搜索就是你所需要的一切：利用智能体工具使用在不依赖向量数据库的情况下达到 RAG 级别性能</em>. Signals。</a></p>\n\n<p>[6] <a href=\"https://github.com/subramanya1997/markdownfs\">Subramanya N. (2026). <em>markdownfs：一个用 Rust 构建的高性能、并发 Markdown 数据库</em>. GitHub。</a></p>",
  "source_hash": "sha256:b576661fe0d14759bc1b074608bc4208873bd898abf89987b9d7e9a126ba21b9",
  "model": "moonshotai/kimi-k2.6",
  "generated_at": "2026-08-07T07:24:09.124405+00:00"
}