借鉴数据库崩溃恢复机制,让 AI 智能体操作可回滚
初创团队 OneWill 提出把预写日志(WAL)思路引入 AI 智能体,让每一步操作在生效前必须可逆或经用户授权,降低…
AI 智能体在调用文件系统、日历、邮件或 shell 等真实状态时,一旦出错往往难以回滚,初创团队 OneWill 提出借鉴数据库的预写日志(WAL)与 UNDO/REDO 机制,让智能体的每一步动作在生效前都必须可逆或在用户明确授权下进行,从而缓解「全自动模式」带来的信任风险。
核心问题:给 agent 越多状态越危险
文章指出,当前让智能体操作真实状态存在两难:赋予的状态越多,agent 越有用;但一旦出错,后果也越大。当前运行模式只有两种——逐步审批,或 YOLO 式全权放行,前者繁琐,后者危险。作者认为,应当从数据库长期应对崩溃、错误和「不稳定硬件」的经验中寻找答案,关键是为「改变世界」的操作找到合适的语义抽象。
借鉴 WAL:让每次动作都可恢复
文章用一段较通俗的「Will 在超市自磨花生酱」的例子,演示了数据库事务如何记录 before/after 镜像,并在崩溃后通过 UNDO 撤销未完成操作、通过 REDO 重放已提交操作:
- WAL(Write-Ahead Log):在修改状态前先把操作元数据持久化,以保证崩溃后仍有足够信息恢复。
- UNDO:清理未完成或被中止的操作。
- REDO:系统承诺「已完成」时,重新应用以确保现实与记录一致。
对于无法直接反向的操作(如把花生磨成花生酱后无法复原),系统可以采用补偿动作,例如重新下单补货或把成品暂存。
与现有方案的区别
作者认为,目前主流的「事后审计」做法——记录 agent 做了什么、甚至用其历史行为来定义 agent——本质上是事后追溯,而 WAL 则深入到写入路径,从机制上保证可回滚。这一概念在分布式系统与数据管理中早已验证,重点在于能否成功移植到智能体的动作管理层。
现状与局限
据文章描述,OneWill 当前以浏览器内的桌面模拟环境形式提供 demo 试用,并表示正在推进部分模块开源。原文在末尾似乎转向讨论人类用户行为不可预测性的问题,但本次摘录不完整,因此其完整方案与适用范围尚未交代清楚;产品也尚未公开 benchmark 或真实使用数据,实际效果有待进一步验证。
