让AI拥有‘手’:Open-AutoGLM工作原理通俗讲解
1. 前言:当大模型第一次真正“摸到”手机屏幕
你有没有试过对语音助手说:“帮我打开小红书,搜‘上海咖啡探店’,把前三条笔记截图发给我”?
结果它只回你一句:“正在为您搜索‘上海咖啡探店’……”——然后就卡在原地,再无下文。
这不是它不想干,是它根本“看不见”屏幕,也“够不着”按钮。
Siri、小爱同学、YOLO语音助手,它们都活在“指令-响应”的二维世界里:听懂话 → 调系统API → 返回文字。
但真实世界是三维的:有界面、有坐标、有弹窗、有滑动条、有验证码图片、有需要长按三秒才能出现的菜单。
Open-AutoGLM 改变了这件事。
它不是又一个聊天机器人,而是一个能看、能想、能点、能输、能等、能问你确认的手机端AI Agent——准确地说,是让大模型第一次真正拥有了“手”。
它不靠预设脚本,不依赖App内部接口,也不要求你提前录好操作流程。
你只用说一句自然语言,比如:
“登录微信,给张三发一条‘周末去爬山吗?’,附上我昨天拍的梧桐山照片。”
它就会:
截一张当前屏幕
看懂界面上哪些是微信图标、哪些是聊天列表、哪个是张三的名字
判断下一步该点击微信 → 进入对话框 → 点击输入框 → 调出键盘 → 输入文字 → 点击发送按钮 → 再点“+”选照片 → 找到相册里最新那张 → 确认发送
整个过程,像一个耐心又细致的朋友,坐在你旁边,替你一步步操作你的手机。
本文不讲晦涩的Agent架构图,也不堆砌RLHF、ToT、ReAct这些术语。
我们用生活里的类比、真实的执行链条、可复现的代码片段,带你一层层拆开 Open-AutoGLM 的“手”是怎么长出来的——从眼睛(看屏),到脑子(决策),再到手指(执行)。
2. 它不是魔法,而是一套闭环的“人机协作流水线”
Open-AutoGLM 的核心能力,来自三个模块的紧密咬合:视觉感知 → 意图规划 → 设备操控。
这不像传统自动化工具(如Auto.js)靠坐标硬编码,也不像RPA靠UI元素ID识别。它的特别之处在于:所有判断都基于对屏幕图像的理解,并由大模型实时生成操作逻辑。
2.1 第一步:让AI“睁开眼”——多模态屏幕理解
当你下达指令时,Open-AutoGLM 并不会立刻点屏幕。它先做一件关键的事:截屏。
adb shell screencap -p /sdcard/screen.png adb pull /sdcard/screen.png ./local_screen.png这张local_screen.png就是AI的“眼睛”。
但光有图还不够——它得知道图里有什么。这时,视觉语言模型(VLM)登场了。
Open-AutoGLM 使用的是智谱自研的autoglm-phone-9b模型,这是一个专为手机UI优化的轻量级多模态模型。它被训练过成千上万张安卓界面截图+对应操作描述,比如:
| 输入(图+文字) | 输出(结构化动作) |
|---|---|
| ![微信聊天页截图] + “给李四发‘会议改到3点’” | {"action": "click", "target": "输入框", "reason": "需先激活输入区域"} |
| ![美团首页截图] + “搜‘附近2公里内评分4.8以上的川菜’” | {"action": "type", "text": "川菜", "target": "搜索框"} |
注意:它输出的不是“点击坐标(520, 1130)”,而是带语义的描述——“输入框”“返回按钮”“搜索图标”。
这意味着:即使App更新了UI、按钮换了位置、字体变大了,只要视觉特征没本质变化,它依然能认出来。
就像你看到新版微信的“+”号挪到了右上角,你照样知道那是“发起新消息”的入口。
2.2 第二步:让AI“动脑子”——分步任务规划与自我验证
拿到截图和用户指令后,模型要做的不是直接执行,而是先写一份“操作说明书”。
这个过程叫Task Planning,Open-AutoGLM 采用的是思维链(Chain-of-Thought)+ 自我验证(Self-Reflection)双机制:
- 思维链:模型会逐步推理:“用户要搜美食→现在在桌面→得先找到小红书图标→点击打开→等App加载完成→找搜索框→输入关键词→点搜索按钮→浏览结果”
- 自我验证:每走一步,它都会反问自己:“上一步成功了吗?当前界面是否符合预期?”
比如点击小红书图标后,它会再截一次屏,确认看到的是小红书首页,而不是“应用未安装”提示——如果不对,就自动重试或报错。
这种“边走边看、错了就调头”的方式,极大提升了鲁棒性。它不像脚本那样一错全崩,而更像一个有经验的人在摸索操作。
2.3 第三步:让AI“伸出手”——通过ADB精准操控设备
规划好了,怎么落实?靠 ADB(Android Debug Bridge)——安卓官方提供的调试桥接工具。
Open-AutoGLM 把模型输出的语义动作,翻译成具体的 ADB 命令:
| 模型输出 | 对应 ADB 命令 | 实际效果 |
|---|---|---|
{"action": "click", "target": "搜索框"} | adb shell input tap 420 180 | 在坐标(420,180)模拟一次点击 |
{"action": "type", "text": "火锅"} | adb shell input text "火锅" | 向当前焦点输入文字 |
{"action": "swipe", "start": [200,1000], "end": [200,300]} | adb shell input swipe 200 1000 200 300 | 从下往上滑动,刷新列表 |
这里有个关键设计:它不依赖绝对坐标,而是动态计算。
模型在分析截图时,会同时输出目标控件的相对坐标(归一化到0~1范围)和置信度。控制端再结合当前屏幕分辨率,实时换算成真实像素坐标。
所以哪怕你换了一台2K屏手机,只要截图清晰,它依然能准确定位。
更聪明的是:它支持敏感操作人工接管。
比如遇到登录页、支付密码框、短信验证码弹窗,模型会主动暂停,输出类似这样的提示:
“检测到微信登录页面,需输入手机号。请手动输入并点击‘下一步’,完成后输入‘继续’,我将接管后续操作。”
这既保障了安全边界,又保留了人机协同的灵活性。
3. 从零跑通:三步搭建你的AI手机助理
不需要GPU服务器,不用编译复杂环境。一台普通Windows/Mac电脑 + 一部安卓手机,就能让 Open-AutoGLM 跑起来。整个过程分为三步:连得上、认得清、动得了。
3.1 连得上:让电脑“看见”你的手机
这是最基础也最容易卡住的环节。核心就两件事:ADB通路打通 + 输入法就位。
ADB配置要点(避坑版):
- Windows用户:下载官方platform-tools,解压后把文件夹路径加进系统环境变量
Path。
验证命令:adb version(显示版本号)→adb devices(显示device状态,不是unauthorized)。 - 手机端:设置 → 关于手机 → 连续点击“版本号”7次 → 开启开发者选项 → 返回设置 → 开发者选项 → 打开“USB调试”。
- 重点:部分手机(如华为、小米)还需开启“USB调试(安全设置)”和“安装未知应用”权限,否则
adb install会失败。
ADB Keyboard 必装:
这是实现“AI打字”的关键。它让ADB命令能真正输入文字,而非仅模拟按键。
- 下载地址:ADBKeyboard.apk
- 安装命令:
adb install -r ADBKeyboard.apk - 手机设置:设置 → 语言与输入法 → 当前输入法 → 切换为ADB Keyboard
提示:如果
adb devices显示为空,请检查USB线是否支持数据传输(很多充电线不行)、手机是否弹出“允许USB调试”提示(务必勾选“始终允许”)。
3.2 认得清:调用云端模型,跳过本地部署
Open-AutoGLM 支持两种模式:本地vLLM部署 or 调用智谱BigModel API。
对新手,强烈推荐后者——零显卡、零编译、5分钟启动。
- 注册智谱账号:bigmodel.cn
- 进入控制台 → 创建API Key(免费额度充足,够日常测试)
- 克隆代码并安装依赖:
git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM pip install -r requirements.txt
3.3 动得了:一条命令,让AI开始干活
准备就绪后,只需一条命令,即可让AI执行你的自然语言指令:
python main.py \ --base-url https://open.bigmodel.cn/api/paas/v4 \ --model autoglm-phone \ --apikey "your_api_key_here" \ "打开高德地图,搜索‘最近的苹果授权店’,把营业时间截图发给我"参数说明:
--base-url:智谱API固定地址--model:指定使用手机端专用模型autoglm-phone--apikey:你从智谱获取的密钥(务必用英文双引号包裹)- 最后字符串:你的自然语言指令(支持中文,无需特殊格式)
执行后,你会看到终端实时打印出AI的思考过程:
[INFO] 截取当前屏幕... [INFO] 已上传截图至模型服务... [INFO] 模型返回规划:1. 点击桌面高德地图图标 → 2. 等待首页加载 → 3. 点击搜索框 → ... [INFO] 正在执行步骤1:点击坐标(320, 850)... [INFO] 截取新屏幕,验证是否进入高德首页... [INFO] 正在执行步骤2:向搜索框输入'最近的苹果授权店'... ... [INFO] 任务完成!结果已保存至 ./output/screenshot_result.png这就是“手”的诞生现场:没有一行UI自动化脚本,全靠模型对图像和语言的联合理解驱动。
4. 它能做什么?——真实场景下的能力边界
Open-AutoGLM 不是万能神器,但它在特定场景下展现出远超预期的实用性。我们用真实可复现的任务来检验它的“手”有多稳。
4.1 日常高频场景:省掉80%的手动操作
| 场景 | 指令示例 | AI实际表现 | 关键能力体现 |
|---|---|---|---|
| 信息检索 | “打开知乎,搜‘如何挑选机械键盘轴体’,把前两条回答的标题和点赞数抄下来” | 准确打开知乎 → 输入搜索词 → 点击第一条回答 → 截图并OCR提取文字 → 整理成文本返回 | 多步导航 + 文字识别 + 结构化输出 |
| 电商比价 | “打开淘宝和京东,分别搜‘AirPods Pro 2代’,把两家最低价和发货地记下来” | 同时管理两个App切换 → 分别执行搜索 → 定位价格元素(非固定坐标)→ 比较后汇总 | App间切换 + 跨App状态保持 |
| 内容整理 | “打开微信收藏,找到昨天转发给我的‘Python异步编程指南’,把全文复制到备忘录” | 进入微信 → 点击“我” → 进入“收藏” → 按时间倒序找 → 点开文章 → 长按选择全部 → 复制 → 切换到备忘录粘贴 | 时间感知 + 长按操作 + 跨App粘贴 |
4.2 它暂时还做不到的事(理性认知边界)
- ❌处理动态验证码图片:虽然能识别简单数字验证码,但对扭曲、干扰线强的图形验证码仍需人工输入。
- ❌操作游戏类App:游戏UI无标准控件、动画频繁、帧率波动大,导致截图分析失准。
- ❌理解模糊指令:“帮我弄点好吃的”——缺少明确App指向和操作目标,模型会要求你补充:“请问您想在哪个App操作?美团?饿了么?还是小红书?”
- ❌跨设备协同:目前仅支持单台安卓设备,无法同时操控手机+平板+电脑。
这些限制不是缺陷,而是设计选择:Open-AutoGLM 的定位是可靠的手机助手,不是全能OS。它把“不确定”交给用户,把“确定”留给自己。
5. 进阶玩法:不只是执行,还能帮你“学操作”
Open-AutoGLM 最有趣的设计之一,是它的“教学模式”——它不仅能做事,还能解释自己为什么这么做。
在交互模式下运行(不带具体指令):
python main.py --base-url https://open.bigmodel.cn/api/paas/v4 --model autoglm-phone --apikey "xxx"然后输入:
“教我怎么在小红书发布一篇带定位的图文笔记”
AI会返回一份带注释的操作指南:
1. 打开小红书App(点击桌面图标) → 理由:当前在桌面,需先进入主App 2. 点击底部“+”号(创建按钮) → 理由:发布入口统一在此,图标为白色加号 3. 选择“图片”类型,从相册选取3张照片 → 理由:您提到“图文笔记”,需先选图 4. 点击右上角“下一步”,进入编辑页 5. 在“添加位置”处点击,搜索“中关村创业大街” → 理由:您未指定位置,我推荐一个热门地标 6. 输入文案:“今天在中关村偶遇AI创业团队,分享他们的技术栈!” 7. 点击“发布”按钮这份指南不是静态文档,而是AI根据当前界面实时生成的。你可以把它当作一个随时待命的“手机操作教练”,尤其适合教长辈用智能手机、或快速学习新App功能。
6. 总结:它重新定义了“人机交互”的尺度
Open-AutoGLM 的价值,不在于它能多快完成一个任务,而在于它把人从“操作者”解放为“指挥者”。
过去,我们和手机的关系是:
我 → 想做什么 → 手指移动 → 点击图标 → 输入文字 → 等待反馈 → 再点击…
每一步都需要精确的肌肉记忆和界面熟悉度。
现在,这个链条缩短为:
我 → 说一句话 → AI理解意图 → 视觉确认 → 规划路径 → 执行动作 → 返回结果
它没有消灭界面,而是让界面成为AI的“感官输入”,把人的语言变成最自然的控制协议。
当然,它还有很长的路要走:降低延迟、提升小屏识别精度、支持iOS(需越狱或MacCatalyst方案)、增加多设备协同……但它的开源,已经为整个领域立下了一个清晰的路标——
真正的智能助理,不该只听你说话,更要能替你动手。
而你的第一只AI之手,此刻就在你电脑的终端里,等待一句:“帮我……”
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。