一不留神,大模型已经学会操纵手机了?!

你好,我是坚持分享干货的 EarlGrey,翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。

如果我的分享对你有帮助,请关注我,一起向上进击。

本文分享自量子位。

一不留神,大模型已经学会了操纵手机?

最近,腾讯最新多模态智能体框架AppAgent曝光,可以像人类一样操作各种应用。

比如在地图软件中输入目标地址,然后唤起导航。

1f849da85d5620e04008a0b37512f521.gif

或者想要发一封邮件,AppAgent也能轻松编写,然后直接在客户端中发送。

6207e841a9bf9e5b343b051c94bab5f7.gif

就算是“反人类”的验证码,也丝毫难不住AppAgent。

8351fc09b7e31047ee6bcd15c96c6757.gif

甚至是用Lightroom这样人类都不一定会的专业软件P图,也能三下五除二地完成。

cea220c0225856d034af902bee868279.gif

而且它还可以观察人类操作,甚至是自主探索,不用教就能学会新的APP。

目前,该项目在GitHub上已经取得了1.5k星标。

126febda7ada13b9e40ae0673ed34d29.png

操纵水平超越GPT4

为了更具体地评估AppAgent的表现,研究团队一共在10个不同的应用程序上测试了50个任务,其中还包括没有学习过的新APP或操作,结果它都能出色完成。

577467077fe07b93522de6a6e0bd6509.png

除了P图的效果由人工评判,AppAgent在其它九个APP上的表现,分别用成功率(SR)、奖励分数和平均步数来衡量。

在自动探索模式下时,AppAgent完成这些任务的成功率达到了73.3%,学习过DEMO之后可以提升到84.4%。

虽然离人类手工指导的95.6%还存在差距,但这样的表现已经远远超过了GPT-4。

a21e4abfbc1fe85315c162c98e04abee.png

而在使用Lightroom进行P图操作时,真人会对“参赛选手”的表现进行评价,评价的方式是对它们的作品效果进行排名而不是打分。

结果AppAgent自行学习DEMO后,表现的平均排名为1.95/3,略低于手工指导的1.75,但比GPT4的2.3还是高出不少。

6bd6313c3cb1bb9678c5966f9c8367b0.png

那么,AppAgent优异表现的背后,采用了什么样的方法呢?

通过界面变化学习操作

研究人员给AppAgent设定了点击、长按、滑动、输入、返回和退出这六种预置操作。

后续的学习过程和操作方案,都是由这六种操作按一定顺序排列组合而成的。

模型方面,AppAgent的基础模型是多模态版的GPT4;工作流程则分为了探索操作两个阶段。

79929f8131cc97f8cf3a05b446045471.png

探索阶段中,研究人员会把应用说明和标有界面中元素位置的XML文件,连同界面截图一起输入给模型。

然后模型通过分析不同截图之间的界面变化,学习APP的功能和操作逻辑。

1821fcefce53bb47d4941b7062d0f818.gif

以发送邮件为例,人类的操作过程被转换成六种预置操作的组合,然后被AppAgent学习。

de65cde82e6305497b9f7dc41f343c77.gif

到了操作阶段,AppAgent会调用学习后的知识库,对应用界面进行分析,了解界面中的功能并根据任务需要设计操作策略。

0a3aef888bc220722deb3aa9e847b013.gif

目前,AppAgent已有DEMO可供体验,暂只支持安卓手机,具体详情和使用方法可以到项目页中查看。

论文地址:
https://www.arxiv.org/abs/2312.13771

- EOF -

文章已经看到这了,别忘了在右下角点个“赞”和“在看”鼓励哦~

推荐阅读  点击标题可跳转

1、VS Code 变身小霸王游戏机!

2、认知升级:模型与范式转换

3、超赞的 Python 编译器,单核提速100倍

4、高效的终极秘诀

5、Python 3.12 版本有什么变化?

回复下方「关键词」,获取优质资源

回复关键词「 pybook03」,领取进击的Grey与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「书单02」,领取进击的Grey整理的 10 本 Python 入门书的电子版

👇关注我的公众号👇

告诉你更多细节干货

845b50717edbb6b1b41c4dbbab265e98.jpeg

欢迎围观我的朋友圈

👆每天更新所想所悟

在设计一个低功耗的应用场景时,利用 STM32 的待机模式结合独立看门狗 (IWDG) 定时唤醒是一种非常有效的方案。下面详细介绍如何实现这一功能,并提供基于 HAL 库的具体代码示例。 --- ### 设计思路 1. **进入待机模式** 待机模式是最深度的低功耗模式之一,只有极少部分电路仍然运行(如 I/O 引脚的状态)。在此模式下,系统完全断电并依赖于复位来唤醒。 2. **使用独立看门狗 (IWDG)** 独立看门狗是一个专用的低功耗模块,可以在待机模式中继续运行。当其计数器溢出时会触发一次 MCU 复位,从而达到“定时唤醒”的目的。 3. **配置流程** - 初始化 IWDG 并设置适当的超时时间。 - 将系统置入待机模式。 - 当 IWDG 超时时,MCU 自动复位并重新开始程序执行。 --- ### 具体实现步骤 #### 第一步:初始化独立看门狗 通过 HAL 库函数对 IWDG 进行基本配置: ```c void MX_IWDG_Init(void) { hiwdg.Instance = IWDG; // 使用默认实例 // 配置预分频系数与更新周期值使得总时间为设定的目标间隔T秒. uint32_t prescalerValue = ... ;// 根据需求计算得到合适的值 uint32_t reloadVal = ... ; hiwdg.Init.Prescaler = prescalerValue; hiwdg.Init.Reload=reloadVal; if(HAL_IWDG_Init(&hiwdg)!=HAL_OK){ Error_Handler();//错误处理函数 } } ``` #### 第二步:进入待机模式前刷新看门狗避免立即复位 调用 `HAL_IWDG_Refresh()` 来手动喂狗以防止刚进入便直接跳出循环: ```c MX_IWDG_Init(); // 初始好之后记得启动它才能生效哦~ while(!isReadyToEnterStandby){}//等待其他准备工作完成... __disable_irq(); // 关闭全局中断保证安全地转入下一阶段操作 HAL_SuspendTick(); // 挂起SysTick 计数器进一步降低电量损失风险 // 下面一行才是真正切入主题的关键点啦! HAL_PWR_EnterSTANDBYMode(); ``` 注意以上逻辑里面存在一个小技巧——即我们并非一开始就马上投入沉睡之中,而是预留了一定缓冲期用于确认一切就绪后再正式行动。 #### 第三步:苏醒后的动作安排 由于每次都是经由全盘重启的方式恢复运作状态,则务必妥善安置引导加载区段的内容结构以及必要变量初始赋值等内容。同时还需要考虑清除掉那些可能会干扰新轮次工作的遗留标志信息等问题。 --- ### 注意事项 - 在实际应用过程中需要注意调整 IWDG 的参数组合使其匹配预期的工作节拍长度。 - 因为采用的是硬性清零再重建环境的办法来进行调度控制,所以对于某些特殊场合下的连续运算记录之类的数据维护工作就需要格外留神加以保护才行!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值