Agentic Transaction: Towards ACID-Compliant Agent Systems
Zhaoyan Sun, Xiaoxiao Wang, Guoliang Li
cs.DB, cs.AI, cs.CL, cs.LG
2026-08-14
清华数据库组把 ACID 事务语义改造成 agent 执行的四个保障,用本地 0.6B 模型做置信度验证;在 KramaBench 上同款 Qwen3.5-397B 后端,比 Claude Code 提 10.6 分且三次运行方差大幅收窄。
agent 从聊天助手变成在真实环境里跑几十步的自治系统后,撞上了数据库领域四十年前就处理过的问题:执行要可靠、结果要一致、并发要安全、状态要可恢复。现实是,同一个 agent 跑三遍同一个任务,结果能差出 30 分;中间某步失败,脏状态直接污染后续推理;上下文越滚越长,超过窗口后只能粗暴摘要,关键信息被压没了。这些问题现在基本靠各家公司自己搭的工程补丁硬扛,没有统一抽象。
这篇的提议是:把 1970 年代为数据库发明的事务(ACID)语义搬过来,按 agent 的特点重写一遍。
一条「agent 事务」被定义为一串有限的模型-环境交互步骤,只有全部通过校验才提交,否则回滚或补偿。经典四性质各对应一个机制:
这套设计有个聪明处:重活儿(推理、写码)交给旗舰 API 模型,便宜的本地小模型只干「这事靠不靠谱」的置信度度量,两边互补。
KramaBench 是个数据 agent 基准,104 个自然语言任务、1,700 个真实数据文件、6 个领域。
| 框架 | 后端模型 | 总分 |
| Claude Code | Qwen3.5-397B-A17B | 64.0 |
| Claude Code | GLM-5.2 | 74.2 |
| ACID-Agent | Qwen3.5-397B-A17B | 74.6 |
| ACID-Agent | GLM-5.2 | 77.4 |
同一后端下 ACID-Agent 比 Claude Code 高 10.6 分,而且用小后端(Qwen)的 ACID-Agent 反超用大后端(GLM)的 Claude Code,说明提升来自框架设计而非模型规模。代价是代码步数和 token 消耗上升(探索和重试机制本身要开销)。
一致性是更亮眼的数字。Environment 领域三次独立运行,Claude Code 是 63.9±30.9,ACID-Agent 是 88.9±18.6,方差砍掉近一半。消融上去掉失败步骤隔离,分数从 90.0 掉到 78.3(-11.7);对比跑三次取多数投票的 Claude Code(75.2 分、1121K token、0.21 美元),ACID-Agent 90.0 分只用 444K token、0.13 美元,提升不是靠堆推理预算。
对做 agent 基础设施的团队,这篇给了个现成的思想框架:别再给每个 agent 项目手搓重试和状态管理,事务语义可以一次定义、处处复用。置信度分歧这个信号尤其实用,一个 6 亿参数的本地模型就能给任何 API 模型装上「自我怀疑」能力,成本几乎为零,可直接搬到自家的数据 agent、编码 agent 上。「跑三遍结果不一样」这件事终于有了系统的度量(逐任务方差)和治理手段。
也要看清定位:这是初步验证,实验只覆盖数据 agent 这一个场景,离通用 agent 系统的完整 ACID 还远。
作者自己承认这是「初始有效性验证」,四个开放问题都还无解:技能生态怎么规模化、面向稳定性的基准与对齐技术、多 agent 共享上下文的协调、终身 agent 的事务化记忆基础设施。
读下来另有三点存疑。第一,消融只做了失败隔离一项,置信度验证、知识图谱记忆各自的独立贡献没拆开,框架里哪个部件在起作用说不清。第二,一致性实验只报了 Environment 一个领域,六个领域全报会更有说服力。第三,置信度阈全部手调(0.25、0.45、0.50),换一个模型家族或任务类型是否还成立没验证。另外用平均对数概率当置信度,对经过 RLHF 的模型本身就不是可靠的确定性度量,这个根基在文献里有争议。