想象一下,你正在训练一个机器人管家来协助你操作电脑。你希望它能浏览网页、编辑文档并管理文件。但有个问题:如果机器人犯错,可能会意外删除你的重要照片、更改设置,或发送一封你本不想发出的邮件。
目前,我们有两个糟糕的选择:
- 让它直接在真实电脑上运行:快速且方便,但风险极高。一旦出错,你的数据就会丢失。
- 将它安置在一个独立的空房间(虚拟机)中:安全,但缓慢。每次你想让机器人尝试新想法时,都必须从头构建一个全新的房间,这耗时极长。
TClone 是一个能解决这一问题的新系统。你可以把它想象成你电脑桌面的“魔法时光穿梭复制机”。
核心理念:“保存、克隆与探索”
TClone 不再每次都要构建新房间,而是允许你拍摄当前桌面(包括打开的窗口、浏览器标签页和文件)的快照,并瞬间将其“分叉”为多个并行版本。
以下是通过一个简单类比来说明其工作原理:
1. “存档点”(快照)
想象你在玩电子游戏。在尝试一次高难度跳跃前,你会按下“保存”键。TClone 为你的整个电脑桌面做了同样的事。它冻结了当前屏幕状态、文件以及正在运行的程序。
2. “魔法克隆”(分叉)
现在,假设你想尝试三种不同的方法来解决一个谜题。
- 旧方法(KVM/CRIU):你必须复制整个游戏世界,将其保存到硬盘,然后分别加载三次。这需要数分钟。
- TClone 方法:就像按下按钮,瞬间创建出三个完全相同的桌面克隆。但关键在于:它们实际上尚未复制所有内容。
3. “共享图书馆”(写时复制)
将计算机的内存和文件想象成一座巨大的图书馆。
- 当 TClone 创建克隆时,它不会复印图书馆里的每一本书。相反,它告诉所有三个克隆:“你们现在共享相同的书籍。如果你们不修改任何页面,就只需阅读原版。”
- 这被称为写时复制(Copy-on-Write)。
- 如果克隆 A 中的机器人试图在书中写一条新笔记,那么只有该特定书籍会为克隆 A 生成一个新副本。其他两个克隆仍能看到原版。
- 这一切瞬间完成。克隆在毫秒级而非秒级内即可准备就绪并开始工作。
这对机器人(智能体)为何重要
安全性(“撤销”按钮)
如果克隆 A 中的机器人意外删除了文件或破坏了设置,你只需丢弃该克隆。由于它是隔离的,你的主电脑(以及其他克隆)完全不受影响。这就像在单独的锅里尝试食谱;如果汤烧焦了,你的主餐依然安全。
速度(“推测性搜索”)
机器人通常需要尝试多种路径以找到最佳解决方案(就像棋手提前思考几步)。
- 在旧系统中,机器人必须等待电脑“保存并加载”新状态后,才能尝试下一个想法。这使得机器人非常缓慢。
- 使用 TClone,机器人可以瞬间生成 10 个自身版本,同时尝试 10 种不同操作,然后选出效果最好的那个。其余版本只需被删除即可。
结果:快了多少?
研究人员将 TClone 与现有方法(如标准虚拟机和容器检查点)进行了测试:
- 分叉速度:TClone 创建这些克隆的速度比竞争对手快 3.4 到 4.9 倍。
- 总任务时间:由于机器人花在等待电脑“保存”上的时间减少,而实际工作时间增加,完成任务的总时间缩短了 1.5 到 1.9 倍。
一句话总结
TClone 将你的电脑变成了一个版本控制的工作空间,类似于程序员使用"Git"保存代码的不同版本。但 TClone 保存的不仅仅是文本文件,而是你整个实时桌面——包括窗口、鼠标点击和正在运行的应用程序——使机器人能够安全地进行实验、犯错并学习,同时完全无需冒真实数据丢失的风险。
技术摘要:TClone
问题陈述
计算机使用代理(CUAs)正越来越多地在实时、交互式的个人工作空间(桌面、浏览器、终端)中运行,以执行复杂的多步骤任务。这一转变带来了两个关键挑战:
- 安全与安全性:与基于聊天的助手不同,CUAs 执行真实操作,可能永久性地更改文件、系统设置、凭据和应用程序状态。代理的错误操作或恶意操作可能导致不可逆的损害。现有解决方案迫使人们做出权衡:在隔离的云环境中运行代理会使其与用户的真实上下文脱节,而在本地 PC 上运行则存在数据丢失风险。
- 质量与推测性执行:高质量的代理性能通常需要“测试时计算”,例如树搜索、束搜索,或探索多个动作轨迹以选择最佳结果。当前环境无法廉价地分叉一个实时、有状态的工作空间(包括 GUI 状态、浏览器会话、内存和文件系统)以支持并行探索。
现有的虚拟化(VM)和容器检查点(如 CRIU)系统尚不足够。虚拟机对于频繁的在线分支过于沉重,而标准容器检查点依赖于同步的保存和恢复过程,为交互式代理循环引入了不可接受的延迟。目前缺乏一种系统原语,能够对完整的交互式工作空间进行低延迟、带版本控制的分叉。
方法论:TClone 架构
TClone 是一个可分叉的个人工作空间系统,旨在将版本控制打造为 CUAs 的一等公民。其核心架构原则是将快速分支创建与持久化检查点分离。
关键设计组件
进程子系统(树重建):
- TClone 不使用原生的
fork(),因为那会创建一个不一致的进程树,其中新进程成为源进程的子进程。
- 相反,它冻结源容器,记录进程层次结构、线程结构和命名空间成员关系。
- 随后,它在新的、隔离的兄弟容器内重建整个进程树拓扑,该容器拥有独立的命名空间(PID、挂载、网络等)。
- 它使用
pidfd 跨命名空间边界引用冻结的进程,允许内存子系统在不发生 PID 冲突的情况下附加共享页面。
内存子系统(写时复制共享):
- 匿名内存:TClone 实现了一个内核模块,以在每个虚拟内存区域(VMA)级别跨容器进行共享。它将目标进程的页表以只读状态链接到源进程的匿名内存页面。分歧由内核标准的写时复制(CoW)错误处理路径惰性处理。
- 共享内存:高度动态的区域(例如帧缓冲区)被视为分支本地,以避免错误开销,而其他共享内存则被重建为独立段。
- 文件支持内存:TClone 避免对文件支持的页面进行急切复制。
文件系统子系统(惰性 CoW 版本控制):
- TClone 解决了 OverlayFS 的局限性(其性能随层深度增加而下降)以及标准块级 CoW 的局限性(其在 RAM 中复制页面缓存)。
- 它实现了一种惰性页面缓存 CoW机制。当创建分支时,会记录一个密封的、只读的 CoW 层。
- 分支首先查询其私有页面缓存;若未命中,内核则遍历共享层链。
- 对共享缓存页面的写入会在写入分支中实例化一个私有副本,同时保持共享层对其他分支 untouched。这确保了未更改的状态(二进制文件、库、文档)在分支间共享,而无需急切复制。
网络和 GUI 子系统:
- 网络:内部连接(回环)在新命名空间内使用 TCP 修复机制恢复。外部连接在分叉期间关闭,以防止模糊的副作用(例如双重表单提交),要求分支显式重新建立连接。
- GUI:为了避免应用程序在容器内而窗口管理器在主机上的不一致状态,TClone 将整个 GUI 栈(Wayland 合成器和客户端)运行在工作空间容器内。这确保了显示状态、输入和剪贴板在每个分支中都被完全版本化和隔离。
安全与策略:
- TClone 根据预先记录的人类使用痕迹(系统调用、文件、设备)为代理分支分配安全配置文件。
- 它使用 Seccomp 和 SELinux 限制代理仅访问特定任务所需的资源,防止访问无关的机密(SSH 密钥、私有目录),即使代理被攻破也是如此。
操作:
- 分叉:立即创建一个隔离的、可运行的兄弟容器。
- 回滚:将容器恢复到先前记录的版本。
- 提交/合并:提升选定的分支,或将来自多个成功分支的状态合并到人类工作空间中。外部副作用被视为策略边界,需要显式批准。
主要贡献
- 带版本控制的个人工作空间:引入了一种操作系统抽象,将整个交互式工作空间视为带版本控制的对象,从而实现安全且高效的 CUA 执行。
- 快速工作空间分叉架构:提出了一种设计,将在线分支创建与持久化序列化解耦,利用兄弟容器和 CoW 共享。
- 机制实现:详细阐述了进程树重建、跨容器内存共享、惰性文件系统版本控制以及 GUI 本地执行的实现。
- 综合评估:对 CUA 工作空间行为进行了全面评估,将 TClone 与 KVM 和 CRIU 基线进行了比较。
结果
作者使用两种设置评估了 TClone:AgentLoop(GTA 基准)和Agent S3(OSWorld 基准),总计超过 600 个计算机使用任务。
- 延迟降低:
- 与 KVM 相比,TClone 将工作空间克隆时间最多减少了4.9 倍;与 CRIU 相比减少了3.4 倍。
- 在端到端任务执行中,TClone 将总延迟比 KVM 减少了1.9 倍,比 CRIU 减少了1.5 倍。
- 这种改进在短任务中最为显著(此时底层开销占主导地位),以及在多应用程序任务中(此时状态共享最为有益)。
- 可扩展性:
- TClone 在并发克隆方面的可扩展性显著更好。在 16 个并发克隆时,CRIU 的延迟超过 50 秒,而 TClone 保持在 10 秒左右。
- TClone 的内存占用更低(在 16 个克隆时约为 9 GB,而 CRIU 为 14 GB),因为它共享未更改的状态,而不是实例化完整副本。
- 文件系统性能:
- TClone 的惰性 CoW 方法避免了 OverlayFS 中随分支深度增加而出现的线性延迟下降,即使在深层分支链中也能保持一致的读写性能。
意义与主张
本文声称,TClone 成功弥合了计算机使用代理在安全性与质量之间的差距。通过将工作空间版本控制打造为一等系统原语,TClone 实现了:
- 更安全的执行:代理可以在实时环境中运行,具备回滚错误或隔离推测性分支的能力,从而防止对用户数据造成损害。
- 更高质量的执行:低延迟分叉支持推测性执行模式(分叉、探索、选择),这些模式已知能提高代理成功率,但此前在交互式环境中不可行。
- 实用性:该系统证明了整个工作空间的分叉可以在交互式时间尺度上执行,超越了专注于迁移的快照工具的局限性。
作者得出结论,TClone 为下一代计算机使用代理提供了实用的底层支持,使它们能够在保持强大恢复和隔离机制的同时,充分利用个人计算环境的高保真度。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。