AutoRPA: Efficient GUI Automation through LLM-Driven Code Synthesis from Interactions
AutoRPA 是一个框架,它通过将交互轨迹自动提炼为稳健且可复用的 RPA 函数,从而弥合了低效的基于大语言模型的 ReAct 代理与传统 RPA 之间的鸿沟,进而在保持任务解决能力的同时显著降低了令牌使用量和运行时成本。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你有一位非常聪明但略显昂贵的个人助理,名叫"LLM"(大语言模型)。这位助理擅长首次学习如何使用电脑或手机屏幕。如果你让它“预订航班”或“删除笔记”,它能够观察屏幕、思考操作步骤、点击正确的按钮,从而完成任务。
然而,有一个问题:它们在执行重复性任务时既缓慢又昂贵。
每次你让它预订航班,它都必须从头开始“思考”。它会阅读屏幕、规划步骤并点击。如果你一天需要这样做 100 次,你就相当于支付了 100 小时的“思考”费用,这是对金钱和时间的浪费。
另一方面,在这些智能助理出现之前,人们使用的是“机器人流程自动化”(RPA)。可以把 RPA 想象成一段预先录制的脚本。它就像一个机器人,盲目地执行“点击第 3 个按钮,然后输入‘你好’,再点击‘保存’"。它的运行速度极快且成本极低。但它也非常脆弱。如果应用程序的设计者将“第 3 个按钮”移动到了不同的位置,机器人就会崩溃,因为它不知道如何适应。每当屏幕发生变化,都需要人工手动重写脚本。
问题所在
我们既想要机器人的速度和低成本(RPA),又想要助理的智能适应性(LLM)。我们需要一种解决方案,能够处理重复性任务(例如每天预订航班),而无需在应用程序每次更新时都由人工重写代码。
解决方案:AutoRPA
这篇论文介绍了AutoRPA,它是一个系统,就像一位将杂乱的烹饪演示转化为完美、可复用食谱的大厨。
以下是其工作原理,分步说明:
1. “探索”(大厨观察)
首先,AutoRPA 使用智能 LLM 助理执行一次或几次任务(例如预订航班)。助理观察屏幕、思考并点击。这就是“ReAct"阶段。
- 类比: 大厨观察副厨第一次烹饪一道菜,记录下每一个动作。
2. “翻译”(将笔记转化为食谱)
助理的操作通常是“硬编码”的(例如,“点击坐标 144, 278 处的按钮”)。这很糟糕,因为如果屏幕发生偏移,坐标就会出错。
AutoRPA 拥有一个特殊的翻译代理,它会重写这些操作。它不再说“点击坐标 144, 278",而是说“点击写着‘预订航班’的按钮”。
- 类比: 大厨将副厨杂乱的笔记(“点击右上角的红点”)重写为清晰的指令(“按下红色的‘开始’按钮”)。这使得食谱即使在厨房布局略有变化时也能生效。
3. “构建”(创建主脚本)
一个构建代理将这些翻译后的、灵活的指令组合成一个单一、稳健的计算机程序(RPA 函数)。它会查看许多不同的尝试(轨迹),以找出处理各种变体的最佳方式。
- 类比: 大厨编写出最终的、专业的食谱卡片,任何人都可以在任何地方用它完美地制作这道菜。
4. “混合修复”(安全网)
有时,新食谱可能存在缺陷。如果机器人尝试运行代码失败,AutoRPA 不会直接放弃。它采用混合修复策略:
- 暂停机器人。
- 重新调用智能 LLM 助理,让它弄清楚为什么失败以及如何从该确切点修复。
- 利用助理的修复方案来更新食谱。
- 类比: 如果机器人烤焦了吐司,大厨就会介入,修复吐司,然后更新食谱卡片,以便机器人下次不再烤焦它。
结果
该论文在三种不同的环境(Android 应用、网站和模拟网络任务)中测试了此方法。
- 效率: 新的 AutoRPA 代码的运行成本比每次让智能助理执行任务降低了 82% 至 96%。它节省了大量的“令牌”(AI 思考的货币)使用量。
- 成功率: 它解决问题的效果与单独使用智能助理一样好,有时甚至更好,因为生成的代码非常稳定,不会因微小的屏幕变化而困惑。
- 可复用性: 一旦为某种“类型”的任务(例如“预订航班”)构建了代码,就可以将其复用于数百个具体实例(预订去纽约、预订去伦敦),而无需再次思考。
总结
AutoRPA 是一个系统,它观察智能 AI 学习一项任务,将这种学习转化为灵活、可复用的脚本,然后打磨该脚本直至完美。它让我们兼得两者之长:处理新情况的智能,以及处理重复工作的机器人的效率。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。