NEE's Blog

Tilde.run:为 AI Agent 打造事务性版本化沙箱

May 07, 2026

本文翻译自 Show HN: Tilde.run – Agent sandbox with a transactional, versioned filesystem,原载于 Hacker News(122 赞,89 评论)。

为什么需要 AI Agent 沙箱?

随着 AI 编码代理(coding agent)越来越强大,一个根本性的安全问题浮出水面:你敢让 AI Agent 直接操作你的生产数据吗?

答案通常是”不敢”。但现实是,越来越多的团队正在这么做——只是缺少合适的防护机制。Tilde.run 的出现正是为了解决这个问题。它不是又一个 Agent 框架,而是一层基础设施,让你可以放心地让 Agent 在真实数据上运行。

三层隔离架构

Tilde 的核心设计理念是:AI Agent 接触的每一层资源都应该被隔离和审计。具体来说,它隔离了三个维度:

1. 存储层——版本化、事务性

这是 Tilde 最具特色的部分。它提供了一个真正的 POSIX 文件系统,你可以将不同来源的数据挂载到统一的 ~/sandbox 目录下:

  • /code → GitHub 仓库(如 acme/ml-pipeline
  • /data → S3 存储桶(如 acme-data/training,12 GB 数据)
  • /docs → Google Drive(如团队 Wiki)
  • /output → 本地输出目录

每个文件从第一次提交就开始被版本化。Agent 的每一次运行都发生在一个事务(session)中——你可以暂存修改、查看 diff,然后原子性地提交。如果出了问题,一条命令就能回滚到任何历史版本。

这意味着:Agent 搞砸了?回滚就行。不需要恢复备份,不需要手动清理。

2. 计算层——隔离容器

每次 Agent 运行都在一个全新的、隔离的容器中执行:

  • 容器级别的硬件隔离
  • Linux capabilities 被剥离
  • 仓库作为版本化卷挂载
  • 正常退出时,变更原子性提交;失败时,什么都不改变

你可以启动一个交互式 REPL,也可以扇出数百个容器做批量任务,甚至可以配置为提交时自动触发。

3. 网络层——全审计出站

这是防范数据泄露的关键防线:

  • 云元数据端点(如 169.254.169.254)默认被屏蔽
  • 私有网络和未授权主机默认被拦截
  • 每一个出站请求都经过策略检查并记录日志

实际效果类似一个防火墙日志:

12:04:01  GET   api.openai.com/v1/completions     → ALLOW
12:04:03  POST  api.anthropic.com/v1/messages     → ALLOW
12:04:05  GET   pypi.org/simple/pandas            → ALLOW
12:04:07  POST  evil-exfil.io/upload              → DENY
12:04:08  GET   169.254.169.254/metadata           → DENY

默认策略是 default-deny(默认拒绝),只有显式允许的请求才能通过。这意味着即使 Agent 被 prompt injection 攻击,也无法将数据发送到未授权的外部服务器。

事务性:Agent 运行就像数据库事务

Tilde 将 Agent 运行模型化为数据库事务,这是一个很优雅的设计:

  1. 开始事务:创建一个新的沙箱,挂载版本化文件系统
  2. Agent 执行:在隔离环境中运行,所有操作被记录
  3. 提交或回滚:成功则原子性提交所有变更;失败则回滚,状态不变

这种模型的好处是显而易见的——你永远不会处于”一半改了、一半没改”的尴尬状态。而且由于所有操作都有审计记录,你可以精确知道 Agent 做了什么。

快速上手

安装非常简单:

curl -fsSL https://tilde.run/install | sh

Tilde 同时提供 CLI 和 Python SDK。它集成了 Hugging Face、Claude、AWS S3、LangGraph、Google Drive 等主流工具。

项目开源在 GitHub,目前处于私有预览阶段,可以免费开始使用。

Hacker News 社区讨论要点

这个项目在 Hacker News 上引发了不错的讨论(122 赞,89 评论),几个值得关注的观点:

支持的看法:许多开发者认为版本化文件系统正是当前 Agent 工具链缺失的关键环节。一位开发者说:”我在构建 Agent 时,发现所有沙箱都没有解决文件系统问题——我需要持久化存储,让 Agent 下次启动时还能访问之前的文件。”

质疑的声音:也有人提出好问题——如果 Agent 修改了外部系统的状态(比如发了一封邮件、调用了第三方 API),文件系统版本控制帮不了你。这确实是 Tilde 当前模型的局限:它只能控制 Agent 对本地数据的修改,无法撤回对外部世界的操作。

关于产品定位:有评论指出,这类 Agent 沙箱工具越来越多了(E2B、Daytona、Modal 等),差异化变得重要。Tilde 的版本化文件系统确实是独特的卖点,但如何说服开发者从已有的容器方案迁移过来,仍然是个挑战。

我的看法

Tilde.run 的设计思路值得重视。它不是试图限制 Agent 的能力,而是提供了一个安全网——让 Agent 在一个”可以犯错但不会造成灾难”的环境中运行。

版本化文件系统 + 事务性沙箱 + 网络审计的组合,解决了 AI Agent 在生产环境中部署的三个核心顾虑:数据安全、操作可追溯、故障可恢复。

不过,对于中国开发者来说,目前的主要挑战可能在于网络延迟(服务器在海外)和对国内云服务的支持(如阿里云 OSS、腾讯云 COS)。如果你正在构建 AI Agent 基础设施,Tilde 的架构设计至少是一个很好的参考范式。


关键要点

  • Tilde.run 为 AI Agent 提供三层隔离:版本化存储、隔离容器、网络审计
  • 核心创新是将 Agent 运行模型化为数据库事务——可提交、可回滚、全审计
  • 统一文件系统将 GitHub、S3、Google Drive 组合成单一工作空间
  • 开源项目,目前处于私有预览阶段,可免费使用
comments powered by Disqus