想象一下,你正试图让一个机器人替你完成一项复杂的差事,比如“从塔可钟订购最便宜的塔可”。
目前,大多数机器人运作起来就像一个非常谨慎、缓慢的人类助手。它们查看屏幕,向一个超级智能的大脑(人工智能)询问下一步该做什么,点击按钮,等待屏幕变化,再次询问大脑,输入一个词,等待,然后再问一次。这种“观察—思考—行动”的循环反复进行。它既缓慢又昂贵(因为每次询问人工智能大脑都需要付费),而且容易出错,因为如果屏幕看起来略有不同,机器人可能会点击错误的地方。
本文介绍了一种让这些机器人更快、更智能的新方法,称为“智能体即时编译(Agent JIT Compilation)”。这相当于在机器人开始行动之前,从“逐步操作手册”切换到“编写定制软件脚本”。
以下是其工作原理,分为三个简单部分:
1. “飞行前”规划器(JIT-Planner)
系统不再在每一步都向人工智能询问“我下一步该做什么?”,而是首先将你的请求(“订购最便宜的塔可”)即时生成多个不同的计算机程序(代码),这些程序都有可能解决问题。
- 类比:想象你需要从纽约开车到波士顿。
- 旧方式:你在每个加油站都停下来问当地人:“去波士顿怎么走?”你开了一英里,再问一次;又开了一英里,再问一次。
- 新方式:在你出发前,你让地图应用生成三条不同的路线。它会检查交通状况、路况和距离。它选出绝对最快的路线,并将 GPS 坐标一次性写入汽车的导航系统中。然后,你只需开车即可。
- 神奇之处:系统会检查这些生成的路线,确保它们合乎逻辑(例如,你不能在点击“加入购物车”之前就点击“订购”)。它会选择使用最少“脑力”(人工智能调用次数)和时间的那一条。
2. “交通指挥官”(JIT-Scheduler)
一旦机器人有了计划,它就需要决定如何执行它。它是应该按顺序逐一完成所有任务?还是尝试同时做三件事?或者尝试并行执行同一任务三次,然后只采用第一个完成的结果?
- 类比:想象你在为派对订购食物。
- 串行(逐一进行):你给一家餐厅打电话,等待回复,再打给下一家,再等待……
- 并行:你同时给三家餐厅打电话。
- 对冲(Hedging):你给三家餐厅打电话,但你只关心第一个接电话的。如果有一家很慢,你不必等待;你直接采用那个快的那家的回复。
- 神奇之处:系统会根据具体任务,利用过往数据来预测哪种策略最佳。如果任务简单,它就按顺序逐一进行。如果任务棘手且可能卡住,它就会同时尝试多条路径(对冲),以确保尽快完成。它会选择最能节省时间的策略。
3. “规则手册”(不变量强制协议)
为了确保机器人不会崩溃或点击错误的按钮,机器人使用的每个工具(如“点击按钮”或“输入文本”)都附带一本严格的规则手册。
- 类比:想象一台自动售货机。
- 旧方式:你只是随机按按钮。有时你在机器空的时候按“零食”键,结果什么也没发生。
- 新方式:机器装有传感器。它会检查:“机器通电了吗?里面有投币吗?门关好了吗?”如果条件未满足,机器会拒绝让你按下按钮。
- 神奇之处:在机器人运行代码之前,系统会检查这些规则。如果某个计划试图在“购物车”为空时“订购”,系统会在机器人开始行动之前就发现这个错误,从而防止出错和浪费时间。
结果
作者在五个不同的网站(如外卖、电子邮件和购物网站)上测试了这种方法。结果令人印象深刻:
- 速度:他们的新方法比标准的“每步都询问人工智能”的方法快10 倍。
- 准确率:准确率也提高了28%,这意味着它实际订到正确塔可的次数多了 28%。
- 对比:即使与其他先进的人工智能智能体(如来自 OpenAI 或 Anthropic 的)相比,他们的方法也快了2.4 倍,准确率高了9%。
总结
简而言之,这篇论文指出:不要让人工智能一步步地驾驶汽车。 相反,让人工智能将整个驾驶路线编写成脚本,检查路线是否安全,选择最快的执行方式,然后直接运行该脚本。这将把缓慢、断断续续的对话转变为流畅、高速的执行。
技术摘要:面向延迟优化的 Web 代理规划与调度的代理即时编译(JIT)
问题陈述
计算机使用代理(CUAs)通过生成点击、输入和滚动等工具调用序列,来自动化以自然语言指定的基于 Web 的任务(例如“从 Taco Bell 订购最便宜的商品”)。当前的实现通常遵循顺序的“获取 - 截图 - 执行循环”,其中每次迭代都需要调用一次大语言模型(LLM)。该架构存在两个主要局限性:
- 高延迟与高成本:每一步都需要调用 LLM,导致显著的执行延迟和高昂的推理成本。
- 准确性与错误率:直接应用前沿 LLM 会导致频繁错误,这些错误通常源于错误的工具使用序列(例如点击了错误的元素或将文本输入到错误的字段),以及执行调度缺乏优化。
现有的性能改进尝试,如激进的 DOM 过滤或小型模型的强化学习,仍然依赖静态工具集和顺序执行,未能探索完整的执行调度空间(包括并行化和请求对冲),也未能消除工具调用之间非确定性的 LLM 调用。
方法论:代理即时编译(Agent JIT Compilation)
作者提出了代理即时(JIT)编译,这是一种在计划合成阶段将高层自然语言指令转换为优化后的可执行代码的系统。与执行“观察 - 思考 - 行动”循环的标准代理不同,该系统将任务编译为编排工具调用和推理的静态代码图,并选择估计成本最低的转换方案。该架构包含三个核心组件:
1. 不变量强制工具协议
为确保生成代码计划的有效性,系统引入了一种协议,要求每个工具指定前置条件和后置条件(状态不变量)。
- 结构:工具定义了执行前的预期状态(
pre)、执行后保证的状态(post),以及用于调试的可选运行时谓词(pre_check、post_check)。
- 验证:这使得在编译时能够进行组合验证。仅当当前状态满足其前置条件时,工具调用才有效。这种静态检查消除了由错误动作序列引起的大量错误(例如,在导航到详情页之前尝试订购商品)。
- 优势:该协议移动了延迟 - 准确性的帕累托前沿,显著提高了有效计划生成的比率。
2. 成本优化规划器(JIT-Planner)
规划器并行生成多个候选代码计划,根据工具协议对其进行验证,并选择成本最低的候选项。
- 并行生成:多个工作节点同时从 LLM 采样代码计划。
- 基于 CFG 的验证:每个计划被转换为控制流图(CFG)。系统遍历该图以验证状态流(确保步骤 i 的
post 满足步骤 i+1 的 pre)并估算成本。
- 成本模型:成本基于工具调用和 AI 评估(
ai_eval)调用进行累积。应用嵌套惩罚(γ)以抑制涉及昂贵 LLM 调用的嵌套循环。
- 结果:规划器选择估计成本最低的有效计划,通常用纯代码逻辑替代不必要的 LLM 调用(例如,在代码中计算最低价格,而不是询问 LLM)。
3. 成本感知调度器(JIT-Scheduler)
调度器基于学习到的延迟分布,确定给定计划的最佳执行策略。它评估三种策略:
- 串行:顺序执行。
- 并行:在 n 个工作节点间进行任务并行化。
- 对冲:推测性并行执行,其中 n 个冗余工作节点运行同一任务,并返回第一个有效结果。
- 机制:利用蒙特卡洛成本估算,调度器从特定 DOM 元素的学习延迟分布(离线收集)中进行采样。它预测计划将与哪些元素交互,并估算每种策略的预期延迟,选择平均延迟最小的策略。
离线缓存
该系统依赖一个离线过程来填充两个缓存:
- 规划器缓存:将高层动作映射到可重用的、符合协议的工具代码(从执行轨迹中合成)。
- 调度器缓存:将页面架构元素映射到延迟分布(从历史执行轨迹中拟合)。
主要贡献
- 不变量强制工具协议:扩展了标准工具接口以包含状态不变量,实现了对工具序列的静态验证,并减少了生成错误。
- 成本优化规划:引入了一种规划器,该规划器生成并行候选项,通过 CFG 遍历对其进行验证,并选择成本最低的执行路径,有效消除了冗余的 LLM 调用。
- 成本感知调度:实现了一种调度器,基于学习延迟分布的蒙特卡洛模拟,在串行、并行和对冲策略之间动态选择。
- 端到端系统:将这些组件集成到一个 JIT 编译器中,将自然语言任务转换为优化的可执行代码,超越了标准的代理循环。
结果
该系统在五个 Web 应用程序(Dashdish、GitLab、Gomail、Omnizon、Reddit)上的 37 个任务中进行了评估,使用了各种前沿 LLM。
JIT-规划器性能:
- 相比标准的 Browser-Use 基线,实现了 10.4 倍 的加速。
- 相比 Browser-Use,准确性提高了 +28%。
- 证明了成本估算能有效对计划进行排序:最佳成本候选项与最差成本候选项之间的延迟差异达到了 5.3 倍 的方差。
- 不变量协议将计划生成的失败率从 80% 降低到 43%,并将主要失败模式从工具顺序违规转变为其他类型。
JIT-调度器性能:
- 相比 OpenAI 的 CUA,实现了 2.4 倍 的加速和 +9% 的准确性提升。
- 通过为每个任务自适应选择最佳策略,优于固定的调度策略(串行、并行、对冲)。例如,它正确识别出具有高方差 UI 元素的任务(例如查找特定按钮)受益于对冲策略,而简单的查找任务则受益于串行执行。
复杂度分析:
- 加速效果在任务基数(低、中、高)和长度上保持一致,表明收益主要源于消除了每步 LLM 推理,而非特定任务的启发式方法。
- 具有复杂导航模式的应用(例如 Reddit)获得了最高的加速(高达 18.9 倍),而流程较简单的应用则获得了较低但仍显著的增益。
意义与主张
本文主张,代理即时编译为提升计算机使用代理的效率和可靠性提供了一个有前景的方向。通过将代理规划视为编译问题,该系统:
- 解耦规划与执行:它允许在运行时之前优化整个执行图,而不是进行贪婪的、逐步的决策。
- 减少非确定性:通过强制执行状态不变量并将任务编译为代码,减少了执行过程中对非确定性 LLM 调用的依赖,从而提高了准确性。
- 优化资源使用:通过成本感知调度,它适应 Web 交互的具体延迟特征,比静态策略更有效地平衡延迟与准确性之间的权衡。
作者指出,该方法最适合代理将重复处理的应用程序,因为它需要离线设置成本(工具合成和轨迹收集)来构建必要的缓存。他们承认了 UI 变更(可能破坏缓存工具)和高度随机环境(例如 CAPTCHA)方面的局限性,但断言不变量协议提供了一种运行时检测和回退的机制。
每周获取最佳 machine learning 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。