桌面软件越新 agent 越强,自动合成的接口再省 73% token

A Decade in a Day: Synthesizing Agent-Native Interfaces from Human-Oriented Software Evolution

Alan Wu, Wei Tao, Yiwen Guo

cs.SE, cs.AI

2026-10-12

把软件版本史当自然实验,发现新版接口全面利好 agent;据此做的 ANIS 接口合成器把成功率提到 74.5%,token 省约 75%。

这篇在解决什么

LLM agent 正在变成桌面软件的一类新用户,但桌面软件的接口是给人眼和给开发者设计的:GUI 假设用户看得见控件、读得懂视觉反馈,SDK 假设使用者会查文档、写代码、调试底层调用。agent 两头不沾,只能反复解析视觉控件,或在描述稀疏的 SDK 里拼长链低层操作。接口是 agent 每个动作的必经之路,模型再强,拿到的接口既不暴露所需功能又拼不出来,任务就做不完。

研究「什么接口对 agent 友好」需要真实且受控的接口变化,手工造变体只会塞进研究者的主观假设。这篇把软件版本史当现成的自然实验:应用的核心功能跨版本基本稳定,接口却在真实用户压力下持续重塑。固定任务、agent、验证器,只换软件版本,性能差异就能归因到接口变化。

方法

三步。第一步建 DeskIF-Bench:五个领域六个应用(Writer、Impress、Inkscape、Blender、QGIS、FreeCAD),255 个任务,每个任务带确定性脚本验证器,检查的是 agent 存盘的成品文件而非屏幕状态,因此同一任务可原样跑在不同版本上。102 个任务从 OSWorld 和 OpenComputer 筛出,153 个由出题 agent 合成;出题 agent 拿到解题 agent 没有的应用技能文档和特权库(如用 trimesh 造 Blender 参考答案),用能力差把题目顶到被测 agent 的舒适区之外。

第二步跑跨版本实验:固定 scaffold(OpenCode)与两个骨干模型(Claude Haiku 4.5、DeepSeek V4 Flash),每个应用测四个历史版本,指标 pass@3。轨迹分析归纳出三个接口性质:

第三步,ANIS 把三个性质工程化。构建期从运行中的应用里挖能力,取三类来源的并集:注册的操作、内省出的对象方法与可写属性、菜单项;每个候选实际试执行,只保留保存重开后效果仍在的调用,做成原子命令,并给可写属性配读命令,命令按成品对象分组命名,agent 不用翻外部文档。粒度没法在构建期决定,值得升级成高层命令的目标要用了才显现:运行期统计原子命令的重复子序列,在至少三个请求里复现、确认对应共同子目标、且在干净副本上重放通过,才发布为目标级命令。八个应用的接口生成各耗时 17.1 到 36.4 小时。

结果

配置成功率每任务 token
原生 SDK68.5%84.4K
CLI-Anything17.4%67.0K
ANIS 原子命令72.3%22.6K(↓73.2%)
ANIS 加目标级命令74.5%21.2K(↓74.9%)

DeepSeek V4 Flash 骨干,368 任务、八应用,后加的 Calc 与 GIMP 在方法开发全程隔离。Haiku 上排序不变:原子命令比原生 SDK 高 3.5 个点,目标级命令到 67.4%。

跨版本结果:12 个模型×应用组合里,最新版全胜最老版。QGIS 涨最多,DeepSeek 41% 到 69%,Haiku 33% 到 65%。同一个 GDP 分级地图任务,QGIS 3.10 里 agent 要自己推 11 个分级再逐段拼 renderer,33 轮 662k token 后失败;3.44 提供一个 QgsClassificationFixedInterval 操作,11 轮 36k token 通过。

两个附带发现:只禁用观察命令、保留编辑命令,成功率从 72.3% 掉到 60.3%,可观测性值 12 个点;CLI-Anything 的失败里 98.7% 是接口压根没暴露所需命令,ANIS 的命令数是它的 20 倍以上,它输在覆盖面,不在命令行这个形式。

为什么重要

头号贡献是测量:第一次把接口设计从 agent 研究的背景噪声里单独拎出来当实验变量。agent 有 24.1% 到 36.2% 的输入 token 花在摸索 SDK 上,三个性质可以直接当 checklist,做工具 API、MCP server、agent 沙盒的人都用得上。ANIS 有工程价值:对任何装好的应用自动生成经应用自身验证的命令层,token 省约 73%,对按 token 计费的部署是直接成本项;生成一次只要一天上下,论文标题「一天抵十年」说的就是这个。冷水也泼得清楚:为人类做的演化顺带帮了 agent,但可观测性的缺口从未被人类需求推动补上,等软件自己演化等不来。

局限与存疑

作者自述:ANIS 在 FreeCAD(77.4% 对原生 96.8%)和 Blender(51.4% 对 54.3%)上低于原生 SDK,这两个应用的操作依赖隐式对象关系(链接草图、场景选择态、编辑模式),自动验证会拒掉这类能力,FreeCAD 的 ANIS 失败中 28.6% 缺必需命令;目标级命令只产出 10 个,增益相应有限;发布目标级序列列为未来工作。

读下来的存疑:原子命令对原生 SDK 只领先 3.8 个点,主要收益在 token 不在成功率,两者应分开看;接口生成依赖 LLM coding agent(两个对比接口均用 Claude Opus 4.8 生成),这一步没有系统消融;pass@3 会高估单次成功率;跨版本增益不能全归接口,新版本功能更全、bug 更少也可能有贡献,作者用可行性筛查缓解了功能缺失的混淆,但没有彻底排除。

术语

原文与代码

相关论文

全部论文解读