Rabbit R1的Agent思路

Rabbit R1在上周正式发售,各类测评接踵而至,而我比较感兴趣LAM,以及R1的实现,下文是之前我对Large Action Model的实现推测。

========================================================================

本文部分结论来源于基于Rabbit r1技术报告(以下简称报告)的合理推测。点击阅读原文可跳转至该报告。
 

#CES2024一众透明电视智能马桶可跟随的自拍杆之中,一只兔子(Rabbit r1)可谓是出尽了风头。市场对兔子反馈热烈,一周之内,兔子预售5万台,其在YouTube上的产品发布视频也突破了4百万播放。

在很“Q”的外表和原生Teenage”的交互设计的噱头之外,兔子最大的卖点是Large Action ModelLAM),该model帮助兔子成为了一个可以使用APP伴侣,能够实现从打车订餐旅程规划等可简单、可复杂的人类意图。

Rabbit R1

01:12

视频: 兔子无缝实现打车订餐等意图(来源于Rabbit r1 官方视频)

与一般的伴侣相比,基于LAM的兔子有着超高的准确率10倍的响应速度,以及教一次就会的学习能力。

LAM并非是一个纯粹的语言大模型,而更近似于AI Agent,其官方定义可以佐证:

By utilizing neuro-symbolic techniques in the loop, LAM sits on the very frontier of interdisciplinary scientific research in language modeling (LM)programming languages (PL), and formal methods (FM).

如果上述产品宣传为真,那么,兔子是如何调教”LAM,使其在准确度、性能、和学习能力等方面超越一般的Agent

依据报告,我们梳理了LAM调教思路,以飨读者。

选择路线

如果从使用Tools的方式看,当下Agents 大抵有三条技术路线:原生集成生成(Program Synthesis

  • 原生:标准的Planner-Solver模式,完全依靠大模型自身实现意图,例如ReAct
     
  • 集成:其核心是Function calling,大模型通过使用外部API实现意图,这是当下比较标准的Agent路线;
  • 生成:大模型通过生成代码(Program)来实现意图,例如 Code InterpreterAutoGen或者MetaGPT

当然也有不少Agents采取集成和生成的混合模式

原生路线无法帮助LAM使用APP,首先被排除。其次,鉴于API只能覆盖有限的APP和场景,集成路线也被排除。

1: LAM的路线选择

生成路线成了唯一的选择,RPA在使用APP上比API更具普适性,因此,通过大模型生成RPA程序(text-to-RPA)也就顺理成章地成为了LAM基座

此时,我们可以更准确地描述LAM 一个通过text-to-RPA模拟人类在UI上的交互以使用APPAgent(图2

2: LAMtext-to-RPA演示

那么,text-to-RPA中的RPA长什么样?
 

兔子的食谱

依据报告内容,兔子自定义了一整套基于Neuro-symbolic programmingRPA语言:食谱(RecipeRecipe用于描述UI的结构和用户在UI上的交互,其由ActionsAction SequenceAction Seq)构成。

Enabled by recent advances in neuro-symbolic programming, the LAM allows for the direct modeling of the structure of various applications and user actions performed on them without a transitory representation, such as text.

Standard RPA相比,Recipe有如下特性:

1 Recipe vs Standard RPA

  • 使用Action Seq描述UI结构和用户在UI上的交互Action Seq更简练的结构和逻辑表达方式,富含丰富的语义,利于提升大模型任务的速度和准确度;
  • 在交互分析上使用Symbolic Algorithm + LLMs,直接利用大模型的语义分析、图像理解和推理等能力分析用户的UI行为,例如内容匹配、分类和抽取,而无需借助其他CNNDNN

虽然报告未能提供Recipe的实现,但依据其引用的论文Ringer: Web Automation by DemonstrationWeb Question Answering with Neurosymbolic Program Synthesis,我们推测其形式如下(图2):

3 推测Recipe的实现 

RecipeActions/Action Seq构成,每个Action可由Symbolic ProgrammingLLM单独或共同实现。其中,Symbolic Programming处理基于规则的任务,例如,事件响应/触发等,而LLM处理基于语义的任务,例如,Action的语义理解、组件定位等。

LLMSymbolic Programming的结合是LAM可以在UI变化后保持Recipe稳定的原因,也让LAM具备了UI交互建模的普适性。

调教工作

利用选定的路线和自定义的Recipe,我们推测兔子对LAM的各个环节进行了如下调教(图3):

4: 调教前 vs 调校后

首先Plan阶段由大模型依据用户Query自主生成计划变为:

  • Learning actions, by demonstration LAM可以将用户的APP使用演示转化为模版Recipe
  • Demonstration guided planningLAM完全摒弃了由大模型主导的计划生成而是结合用户的Query与对应的Recipe模版形成计划:大模型先依据用户Query找到对应的Recipe模版,之后,Recipe模版结合用户Query中的相关要素形成Program Synthesizer的输入prompt

其次Program Synthesis阶段由生成代码变为:

  • Recipe finetuned program synthesisRecipe Finetuned LLM会基于prompt生成新的Recipe

最后,Actions阶段AgentSandbox中执行代码变为:

  • Recipe guided execution。新的Recipe被送往云端用于模拟用户的APP交互。由于事先已经要求用户在Rabbit Hole中完成认证,LAM将通过VNC的方式完成交互,并返回相应结果。

如果我们推测正确,上述调教过程是LAM达成超高的准确率10倍的响应速度,以及教一次就会的学习能力的主要驱动力(图4

4: 预期的效果

其中,Plan阶段的调教LAM的画龙点睛之笔,用户演示像是给LAM装上了导航,避免了一般Agent路线的试错过程,既提升了准确度,又节省了大模型的生成时间。

疑问与启示

当然,我们对LAM的功能性也有诸多疑问,例如,假设用户只给出非常模糊的意图,LAM是否有能力通过追问厘清需求? 再如,LAM是否对内容较复杂的APP友好,例如Excel或者Numbers?此外,LAM“的能力有多强大?是否能在离线状态下具备一定能力?

但无论兔子是否能够成功,LAM都是一个可以借鉴的Agent调优思路。尤其是在特定领域中(例如,回答2B的业务问题),面对数量有限的APP和业务场景,我们也许无需选择一个能够回答任何问题、产生任何代码的通用Agent,而是选择类似于LAMtext-to-RPA这类较为定制化的Agent方案。

  • 20
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老油杂谈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值