LayerFS:面向 AI 编程智能体的文件系统
LayerFS: The filesystem for AI coding agents
LayerFS 是面向 AI 编程智能体的文件系统,每个智能体在共享提交历史上挂载一个完整可写的临时工作区,执行任务后提交改动即退出。每次文件工具调用是一次原子 Store 操作,每次 Bash 调用结束时提交,挂载仅需 0.05 秒,而传统方案重装依赖约需 5 分钟。10 份副本经去重与压缩后体积降至 0.31,任意提交可零成本递归 fork。
短暂性:将多智能体开发扩展到超乎想象
短暂工作区。
持久共享历史。
LayerFS 是智能体之下的基础层。每个智能体都在共享的已提交历史之上挂载一个完整、可写的工作区,完成工作,提交其更改,然后消失。
- 短暂工作区
- 持久成果
- 大规模并行
为什么选择 LayerFS
十个理念,一个文件系统。
六个核心 · 四个支撑
计算仅在命令运行时存在。
- 计算:智能体约 80% 的时间在思考,约 10% 在 Bash 中。
- 文件系统:每次文件工具调用都是一次原子 Store 操作。
- 沙箱:每次 Bash 工具调用都会挂载一个短暂工作区,然后提交。
不同计算机上的智能体共享同一个无服务器 Store。
- 共享存储:每个智能体都提交到同一个 Store,无需数据库服务器。
- 分布式计算:每个智能体都在自己的计算机上运行。
一个项目,多个分支。一个分支,多个智能体。
- 提交:每次工具调用都是其分支上的一次提交。
- 冲突:同一文件的冲突会被拒绝并返回 Conflict。
- 追溯:每一行都标明写入它的步骤。
可递归分叉任意提交,任意深度。
- 零成本:分叉只是元数据,不复制任何文件。
- 递归:面向 RSI 智能体的文件系统,以及面向 RL 训练的递归探索。
10 份副本压缩至 0.31。
- 去重:每个内容块只存储一次。
- 压缩:已存储的块进一步缩小。
- 比率:10 份副本 → 1.05 去重 → 0.31 压缩,什么鬼???
依赖随每次挂载一同提供。无需浪费时间重新安装。
- Git / 其他 AgentFS:丢弃被忽略的文件;重新安装。
- LayerFS:被忽略的文件保留在每次提交中。
- 对比:安装约需 5 分钟,而挂载仅需 0.05 秒。
四个支撑理念
- 自动检查点智能体采取的每一步都是可返回的检查点。每次调用:每次文件调用都是一次提交;每次 Bash 调用结束时提交。无噪音:未改变任何内容的调用不会提交任何内容。回退:从任意检查点分叉,并读取任意文件的历史版本。
- 仅追加对象已保存的对象永不重写。Store 只增不减。内容寻址:对象以其字节的哈希命名。封存:已写入的包永不更新或删除。可安全共享:分支共享对象;读取者无需等待写入者。
- 冲突规则(.lww)指定永远不应冲突的文件。最新编辑胜出。/.lww:位于树根部的 Gitignore 风格规则。较新者胜出:匹配的文件在两侧都被修改时,采用较新的编辑。适用于:锁文件、构建产物和缓存。
- 大文件,小编辑一次编辑的开销取决于编辑本身的大小,而非文件的大小。Overlay:写入只保留它写入的字节。Commit:只重建被编辑的区段及其树路径。Storage:文件的其余部分与其旧版本共享。
Agent 工具调用及其历史
HISTORYmain @ L00 commits · 0 live
main 是绿色的中枝;每次 publish 都会添加一个 Layer 带Layer · main 上的一个带Commit · 一片叶子Branch · 一根树枝merge · 嫁接回去publish · 添加一个带stopped · 光秃的细枝点击名称标签以聚焦其 Branch
store.statsmain · 只读
dedupe1.5×
compression3.32×
stored9.4 MB
file10.0 MB
logical 48.0 MB · canonical 31.2 MB · metadata 420 KB · free 180 KB · 0 commits · 1 layers
orchestratorproject · branch
来源:Hacker News · layerfs.ai