Open-AutoGLM:让普通手机秒变豆包手机

最近,豆包手机一经推出就卖爆,二手市场上价格甚至翻倍。

和传统手机不同的是,它在系统层面实现了自动化操作,让用户说一句话指令,AI就能根据指令内容,去完成
点外卖

订票
等复杂操作。

有人说它是近年来最大的AI应用创新,堪比“iphone时刻”。

这种说法有点夸张,因为用Agent来操作手机并不是一个很难想到的想法,早已存在相关的研究领域。

只是豆包手机是第一个推出了商业化的产品,其它厂商没有推出,不是技术上的问题,可能更多是顾虑相关的法律法规。

因为大模型是部署在云端,使用这种功能,就需要把每一步的操作都截图上传到服务器上,一些钱包数据、实名信息等用户敏感的数据,可能都会被泄露。

因此,很多App都对这款手机进行“围剿”:如果检测到这款手机的型号,禁止进行登录。

前阵子,智谱清言推出了一个开源项目叫Open-AutoGLM[1],它包含一个9B参数量的模型,能够实现在安卓手机进行自动化操作,让安卓机得到豆包手机的体验。

具体使用

下面在安卓机上进行实操部署,安卓机无需root。

苹果机生态相对封闭,无法在实机上部署,如果需要体验,可以在电脑上安装安卓模拟器。

1. 安装ADB

首先需要在电脑上安装ADB,ADB是谷歌发布的一个命令行工具,支持在电脑上通过命令直接与 Android 设备通信。

安装包可以在安卓开发者社区[2]下载。

下载好之后,解压,配置环境变量。

在终端中输入以下命令,查询版本号:


adb --version

能正常输出,表明安装成功。

2. 手机开启USB调试

手机进入到系统设置界面中,连续点击软件版本号5次(不同系统点击次数可能有所区别),进入到开发者模式。

在开发者设置中,开启USB调试。

3. 手机安装 ADB Keyboard

ADB Keyboard是一个输入法,支持在电脑上,直接用命令行“直接往手机里打字”。

下载 ADB Keyboard[3],在手机上安装,并在输入法管理将它开启。

4. 创建API key

在智谱网站[4]上,创建模型的apikeys。

5. 安装环境,开始运行

在电脑端克隆代码:


https://github.com/zai-org/Open-AutoGLM.git

安装环境:


pip install -r requirements.txt 
pip install -e .

用usb线连接电脑和手机,运行:


python main.py --base-url https://open.bigmodel.cn/api/paas/v4 --model "autoglm-phone" --apikey "自己的API" "打开美团搜索附近的火锅店"

API 替换成自己的,最后一句是指令。

在下面的视频中,我测试了以下三个指令:

打开高德地图找一家最近的火锅店
打开美团,点一杯最便宜的瑞幸咖啡
打开小红书,找一篇西安一日游的旅游攻略

人人都可拥有的豆包手机

每个任务都顺利完成,平均两分钟左右完成一个任务。

对于人类来说,这个时间不算快,但胜在解手,不再需要自己去操作屏幕,只看最终结果就行了。

相比于按键精灵,用模型来操作屏幕,主要优势是更好的泛化性,比如,视频里两个应用都出现了弹窗广告,但是AI智能地把它们关闭了,这对固定逻辑的按键脚本来说,无法做到。

补充

除了提供API之外,官方还提供了模型本地化部署方式,支持vLLM和SGLang两个推理框架。

本来想在我的MacOS上本地部署模型试验下,但发现这俩框架基本都不支持Mac系统,因此,如果要本地部署模型,最佳方式还是使用linux服务器。

除了电脑和手机的有线USB连接外,还可以采用无线调试,只需要保证手机和电脑在同一个局域网环境下。

此外,并非所有应用都支持自动化操作,当前,它仅支持以下主流应用。

分类 应用
社交通讯 微信、QQ、微博
电商购物 淘宝、京东、拼多多
美食外卖 美团、饿了么、肯德基
出行旅游 携程、12306、滴滴出行
视频娱乐 bilibili、抖音、爱奇艺
音乐音频 网易云音乐、QQ音乐、喜马拉雅
生活服务 大众点评、高德地图、百度地图
内容社区 小红书、知乎、豆瓣

和豆包手机的区别

从最终效果来看,它的完成情况和豆包手机基本差不多。

但它需要有一台电脑做控制和支撑,豆包手机是直接在系统层面做了远程的通讯连接,相当于把电脑这层的转发直接集成到手机内部了。

并且,AutoGLM实际上是直接调用的最上层的截图接口,来获取图像。

而豆包手机是读的虚拟屏幕,直接从内存读取最原始的Bitmap,效果比前者更高,该发现由b站up主老戴Donald通过逆向豆包手机得到[5]。

模型训练方式

AutoGLM这项研究在去年智谱就已经开展,模型是基于ChatGLM(智谱之前提出的语言模型)进行后训练。

在训练预料方面,他们构建了很多这样分步骤的图文数据块。

训练方法方面,除了常规的SFT之外,还引入了一些强化学习方法,针对此项任务,提出了最短路径奖励调整(SPA)、难度自适应正向回放(AdaPR)等策略[7]。

训练完的 Agent 可以执行以下操作:

操作 描述

Launch
启动应用

Tap
点击指定坐标

Type
输入文本

Swipe
滑动屏幕

Back
返回上一页

Home
返回桌面

Long Press
长按

Double Tap
双击

Wait
等待页面加载

Take_over
请求人工接管(登录/验证码等)

总结

体验下来,这种Agent手机能够免除很多重复性的步骤,但有一点是很难达到的,那就是人的感受

以点外卖这个场景为例,我告诉他:“我想点一个猪肝炒饭”,它会智能打开外卖平台,搜索类目,选择距离近且评分高的店铺,点击品类,最终让人来确认支付。

但是,如果我自己点外卖,我可能会在打开外卖平台的时候,看到新开的推荐店铺,亦或者在打开店铺的时候,看到了新品,然后就改变想法,想试试新品。

这一点,AI很难做到,AI只是严格遵循用户的命令,不达目的不罢休。

达到终点固然很好,但丧失了沿途的风景,这是否值得呢?

参考

[1] https://github.com/zai-org/Open-AutoGLM
[2] https://developer.android.com/tools/releases/platform-tools?hl=zh-cn
[3] https://github.com/senzhk/ADBKeyBoard/blob/master/ADBKeyboard.apk
[4] https://bigmodel.cn/usercenter/proj-mgmt/apikeys
[5] https://www.bilibili.com/video/BV1rNmHBLEN1
[6] https://arxiv.org/pdf/2411.00820
[7] https://arxiv.org/abs/2509.18119

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容