AutoGLM 提示词完全指南:如何优雅地操作手机
🎯 前言:为什么需要 AutoGLM?
在数字化时代,手机已经成为我们生活中不可或缺的一部分。每天我们都在重复着各种繁琐的手机操作:打开应用、回复消息、切换设置、查找信息… 这些重复性工作不仅耗时耗力,还容易出错。
AutoGLM 是智谱AI推出的手机自动化工具,它通过自然语言理解手机界面,自动执行点击、输入、滑动等操作,将我们从重复劳动中解放出来。
AutoGLM 的优势
- 🤖 自然语言交互 - 用日常语言描述需求,无需学习复杂命令
- 👁️ 视觉理解能力 - 理解屏幕内容,智能识别界面元素
- 🚀 自动化执行 - 通过 ADB 自动完成操作
- 🧠 智能规划 - 自动拆解复杂任务,规划执行步骤
适用场景
- AI 助理开发者:构建智能手机助手
- 手机自动化爱好者:自动化重复性任务
- 产品测试人员:自动化测试手机应用
- 工作效率追求者:节省时间,提升效率
📱 AutoGLM 基础
什么是 AutoGLM?
AutoGLM 是一个基于视觉语言模型的手机端智能助理框架。它结合了:
- 大型语言模型:理解用户意图
- 视觉模型:分析手机屏幕内容
- ADB(Android Debug Bridge):执行具体操作
安装和配置
1. 手机端准备
# 开启开发者模式
设置 -> 关于手机 -> 连续点击版本号7次
# 开启USB调试
设置 -> 开发者选项 -> USB调试(开启)
设置 -> 开发者选项 -> USB调试(安全设置)(开启)
2. 电脑端安装 ADB
# Ubuntu/Debian
sudo apt install android-tools-adb
# macOS
brew install android-platform-tools
# Windows
# 下载 Android SDK Platform-Tools,添加到PATH
3. 验证连接
adb devices
# 应显示:设备ID device
4. 安装 ADB Keyboard(用于中文输入)
# 下载 ADBKeyboard.apk
adb install ADBKeyboard.apk
adb shell ime enable com.android.adbkeyboard/.AdbIME
基本命令格式
# 基本格式
autoglm "任务描述"
# 示例
autoglm "打开微信"
autoglm "在微信中搜索联系人"
autoglm "发送消息:你好,今天天气不错"
🎨 提示词技巧:让 AutoGLM 听懂你的需求
提示词的质量直接决定了 AutoGLM 的执行效果。一个好的提示词应该:清晰、具体、可执行。
3.1 基础提示词编写
原则1:明确具体
- ❌ 模糊:“处理消息”
- ✅ 具体:“打开微信,查看未读消息,回复’收到‘“
原则2:分步骤描述
# 单步任务
autoglm "点击屏幕底部的'首页'按钮"
# 多步任务(分步执行)
autoglm "打开微信"
autoglm "点击右下角的'我'"
autoglm "点击'设置'"
autoglm "点击'通用'"
原则3:包含验证条件
- ❌ 无验证:“打开应用”
- ✅ 有验证:“打开微信,确认看到聊天列表页面”
基础提示词示例
示例1:打开应用
# 打开抖音
autoglm "从手机桌面找到抖音图标并点击打开,等待应用完全加载"
# 打开美团
autoglm "在主屏幕搜索'美团',点击美团应用图标,等待首页加载完成"
示例2:回复消息
# 微信回复
autoglm "打开微信,找到未读消息,点击进入聊天,输入'好的,我收到了',点击发送按钮"
# 抖音评论
autoglm "在抖音视频页面,找到评论输入框,输入'这个视频真有趣!',点击发送"
示例3:切换设置
# 切换Wi-Fi
autoglm "从屏幕顶部下拉通知栏,点击Wi-Fi图标关闭Wi-Fi,再次点击开启Wi-Fi"
# 调整亮度
autoglm "打开设置,找到'显示与亮度',拖动亮度滑块到中间位置"
3.2 进阶提示词技巧
多步骤任务编排
对于复杂任务,需要合理编排步骤:
# 任务:在美团点外卖
# 步骤分解:
autoglm "打开美团应用"
autoglm "点击'外卖'标签"
autoglm "在搜索框输入'披萨'"
autoglm "按评分从高到低排序"
autoglm "选择评分最高的店铺"
autoglm "选择'经典玛格丽特披萨'"
autoglm "点击'去结算'"
autoglm "选择配送地址"
autoglm "点击'提交订单'"
条件判断处理
AutoGLM 支持简单的条件判断:
# 条件:如果看到登录页面就登录,否则继续
autoglm "检查当前页面是否有'登录'按钮,如果有就点击'登录'并输入账号密码,如果没有就继续"
# 条件判断模板
autoglm "如果屏幕上显示'确定'按钮,就点击它;否则如果显示'取消'按钮,就点击取消;否则什么都不做"
循环操作实现
对于需要重复执行的操作:
# 滑动查找内容
autoglm "从屏幕底部向上滑动,直到看到'加载更多'或页面不再变化"
# 翻页查找
autoglm "重复向右滑动,直到看到'商品详情'页面"
实战案例:抖音自动化
# 任务:自动刷抖音并点赞
autoglm "打开抖音"
autoglm "等待3秒让视频加载"
autoglm "双击屏幕中央点赞"
autoglm "从底部向上滑动切换到下一个视频"
autoglm "重复上述步骤5次"
3.3 最佳实践总结
✅ 好的提示词特征
-
详细具体
# 好:具体描述位置和动作 autoglm "点击屏幕右下角的红色发送按钮" # 不好:模糊描述 autoglm "发送" -
分步清晰
# 好:明确每个步骤 autoglm "第一步:打开微信;第二步:点击通讯录;第三步:搜索联系人" # 不好:所有步骤混在一起 autoglm "在微信通讯录搜索联系人" -
可验证
# 好:包含验证条件 autoglm "打开设置,确认看到'无线和网络'选项" # 不好:无验证 autoglm "打开设置" -
容错处理
# 好:考虑异常情况 autoglm "尝试点击登录按钮,如果不存在就检查网络连接" # 不好:假设一切正常 autoglm "点击登录按钮"
❌ 不好的提示词特征
-
过于抽象
- ❌ “处理一下”
- ❌ “弄好这个”
-
依赖上下文
- ❌ “像刚才那样做”
- ❌ “继续下一步”
-
模糊不清
- ❌ “找到那个按钮”
- ❌ “在某个地方”
-
无法验证
- ❌ “应该可以了”
- ❌ “大概完成了”
提示词模板库
# 模板1:打开应用
autoglm "从[位置]找到[应用名称]图标,点击打开,等待[时间]秒让应用加载"
# 模板2:输入文本
autoglm "在[位置]找到输入框,点击激活,输入'[文本内容]',点击完成或发送"
# 模板3:查找内容
autoglm "在[页面]使用搜索功能,输入'[关键词]',按回车搜索,等待结果加载"
# 模板4:多步骤任务
autoglm "第一步:[步骤1];第二步:[步骤2];第三步:[步骤3];确认最终结果"
# 模板5:条件判断
autoglm "如果看到[条件A],就执行[动作A];否则如果看到[条件B],就执行[动作B];否则执行[默认动作]"
🔧 ADB 配合使用:AutoGLM 的强大后盾
4.1 ADB 基础命令
ADB 是 Android 调试桥,是 AutoGLM 执行操作的基础工具。
常用 ADB 命令
# 设备管理
adb devices # 查看连接设备
adb connect 192.168.1.100 # 无线连接设备
adb disconnect # 断开连接
# 应用管理
adb install app.apk # 安装应用
adb uninstall com.example.app # 卸载应用
adb shell pm list packages # 列出所有应用
# 文件操作
adb push local.txt /sdcard/ # 推送文件到设备
adb pull /sdcard/file.txt . # 从设备拉取文件
# 屏幕操作
adb shell screencap -p /sdcard/screen.png # 截图
adb shell screenrecord /sdcard/video.mp4 # 录屏
# 输入操作
adb shell input tap 500 1000 # 点击坐标(500, 1000)
adb shell input swipe 300 1000 300 500 # 从(300,1000)滑动到(300,500)
adb shell input text "hello" # 输入文本
adb shell input keyevent 3 # 按下Home键(键码3)
ADB 键码参考
# 常用键码
3 # HOME键
4 # 返回键
5 # 电话拨号
6 # 挂断电话
24 # 音量+
25 # 音量-
26 # 电源键
27 # 相机
66 # 回车键
67 # 删除键
4.2 AutoGLM + ADB 组合策略
策略1:ADB 作为备用方案
当 AutoGLM 无法识别界面元素时,使用 ADB 坐标点击:
# AutoGLM 尝试
autoglm "点击登录按钮"
# 如果失败,使用ADB坐标点击
adb shell input tap 300 500 # 点击登录按钮坐标
策略2:ADB 截图 + AutoGLM 分析
# 1. 使用ADB截图
adb shell screencap -p /sdcard/current.png
adb pull /sdcard/current.png .
# 2. 人工或自动分析截图,获取坐标
# 假设登录按钮在(300, 500)
# 3. 使用ADB点击
adb shell input tap 300 500
策略3:混合执行模式
#!/bin/bash
# 混合执行脚本
# 使用AutoGLM执行复杂任务
autoglm "打开微信,找到文件传输助手"
# 使用ADB执行精确操作
adb shell input text "这是自动发送的消息"
adb shell input tap 800 1200 # 点击发送按钮
# 验证结果
autoglm "确认消息发送成功"
实战案例:自动化登录流程
#!/bin/bash
# 自动化登录脚本
echo "开始自动化登录流程..."
# 步骤1:打开应用(使用AutoGLM)
autoglm "打开目标应用,等待加载完成"
# 步骤2:检查是否需要登录
if autoglm "检查当前页面是否有'登录'或'注册'按钮"; then
echo "需要登录,开始登录流程..."
# 使用ADB点击登录按钮(坐标已知)
adb shell input tap 350 600
# 等待页面加载
sleep 2
# 使用ADB输入账号密码
adb shell input text "username"
adb shell input tap 350 700 # 切换到密码输入框
adb shell input text "password123"
# 点击登录按钮
adb shell input tap 350 800
# 验证登录成功
sleep 3
autoglm "确认登录成功,看到主页内容"
else
echo "已登录,跳过登录步骤"
fi
echo "登录流程完成"
4.3 常见问题解决方案
问题1:连接问题
症状:adb devices 显示 unauthorized 或无设备
解决方案:
# 1. 重新授权
# 在手机上点击"允许USB调试"提示
# 2. 重启ADB服务
adb kill-server
adb start-server
# 3. 重新插拔USB线
# 4. 检查开发者选项设置
# 5. 无线连接备用方案
adb tcpip 5555
adb connect 192.168.1.100:5555
问题2:权限问题
症状:操作被拒绝,截图黑屏
解决方案:
# 1. 检查应用权限
adb shell pm list permissions
# 2. 授予必要权限
adb shell pm grant com.example.app android.permission.CAMERA
# 3. 对于敏感应用,考虑人工接管
问题3:输入法问题
症状:无法输入中文或输入乱码
解决方案:
# 1. 确认ADB Keyboard已启用
adb shell ime list -a
adb shell ime set com.android.adbkeyboard/.AdbIME
# 2. 切换输入法
adb shell ime set com.google.android.inputmethod.pinyin/.PinyinIME
# 3. 使用ADB直接输入
adb shell input text "中文内容"
问题4:小程序/WebView限制
症状:在小程序或WebView中操作失败
解决方案:
# 1. 切换到原生应用版本(如果有)
# 2. 使用坐标点击替代元素识别
# 3. 考虑使用浏览器自动化工具补充
# 示例:滴滴小程序操作
# AutoGLM可能无法识别小程序元素
# 使用ADB坐标点击已知位置
adb shell input tap 300 500 # 点击呼叫按钮坐标
📊 实战案例深度解析
案例1:抖音回复消息自动化
任务描述
自动打开抖音,查看消息,回复指定内容。
提示词示例
# 完整流程提示词
autoglm "打开抖音应用,等待首页加载"
autoglm "点击底部导航栏的'消息'图标"
autoglm "找到未读消息,点击进入"
autoglm "在输入框输入'谢谢分享!视频很有趣'"
autoglm "点击发送按钮"
autoglm "返回消息列表,重复处理下一条未读消息"
执行步骤分解
-
环境准备
# 确保手机解锁 adb shell input keyevent 26 # 唤醒屏幕 adb shell input swipe 500 1500 500 500 # 滑动解锁 -
执行自动化
# 使用sessions_spawn创建子任务 # 这是必须的,不能直接用exec调用autoglm -
错误处理
# 如果抖音未安装 if ! adb shell pm list packages | grep -q "com.ss.android.ugc.aweme"; then echo "抖音未安装,正在安装..." adb install douyin.apk fi
注意事项
- 抖音消息页面可能有多级菜单,需要准确定位
- 网络状况可能影响消息加载速度
- 频繁操作可能触发安全验证
- 建议添加延迟避免操作过快
案例2:美团切换长辈版模式
任务描述
帮助老年人切换美团到长辈版模式,字体更大,界面更简洁。
提示词示例
# 多语言版本提示词
autoglm "打开美团应用"
autoglm "点击右下角'我的'进入个人页面"
autoglm "点击右上角设置图标(齿轮形状)"
autoglm "在设置中找到'长辈版模式'或'关怀模式'"
autoglm "点击开启长辈版模式"
autoglm "确认界面已切换,字体变大,布局简化"
执行步骤
#!/bin/bash
# 美团长辈版切换脚本
echo "开始切换美团长辈版..."
# 步骤1:打开美团
autoglm "打开美团,等待首页加载"
# 步骤2:进入设置
autoglm "点击'我的'标签"
autoglm "点击设置按钮"
# 步骤3:查找长辈版选项
# 不同版本可能位置不同,尝试多个可能位置
autoglm "在设置页面查找包含'长辈'、'关怀'、'大字'的选项"
# 步骤4:开启模式
autoglm "点击找到的选项开启长辈版"
# 步骤5:验证
autoglm "返回首页,确认字体变大,界面简化"
echo "长辈版切换完成"
注意事项
- 美团不同版本界面可能不同
- 长辈版可能称为”关怀模式”、“简易模式”等
- 切换后可能需要重启应用
- 记录切换前的设置,便于恢复
案例3:滴滴小程序操作(失败案例分析与替代方案)
任务描述
在微信中打开滴滴小程序,呼叫出租车。
尝试过程
# 尝试1:直接使用AutoGLM
autoglm "打开微信"
autoglm "下拉搜索'滴滴'小程序"
autoglm "点击进入滴滴小程序"
# 失败:小程序界面识别困难
# 尝试2:使用ADB坐标
adb shell input tap 300 500 # 点击呼叫按钮
# 失败:不同手机分辨率坐标不同
# 尝试3:混合方法
autoglm "打开微信"
adb shell input text "滴滴" # 搜索
adb shell input tap 400 600 # 点击小程序
# 部分成功,但不稳定
失败原因分析
- 技术限制:小程序基于WebView,AutoGLM识别困难
- 动态内容:界面元素位置不固定
- 安全限制:滴滴等敏感应用有操作保护
- 性能问题:小程序加载慢,自动化时机难把握
替代方案
-
使用原生应用
# 安装滴滴原生应用 adb install didi.apk autoglm "打开滴滴应用呼叫出租车" -
人工辅助+自动化
# 人工打开到指定页面 echo "请手动打开滴滴小程序到呼叫页面" read -p "按回车继续..." # 自动化后续操作 adb shell input tap 350 800 # 点击确认呼叫 -
使用其他打车平台
# 美团打车、高德打车等可能更容易自动化 autoglm "打开美团,使用打车功能"
🚀 高级技巧:提升自动化效率
6.1 错误处理策略
如何识别失败
# 方法1:检查屏幕内容
autoglm "检查当前页面是否包含'错误'、'失败'、'重试'等关键字"
# 方法2:超时检测
#!/bin/bash
timeout 30 autoglm "执行任务"
if [ $? -eq 124 ]; then
echo "任务超时,可能失败"
fi
# 方法3:结果验证
autoglm "执行操作后,验证是否达到预期状态"
重试机制
#!/bin/bash
# 带重试的自动化脚本
MAX_RETRIES=3
RETRY_COUNT=0
while [ $RETRY_COUNT -lt $MAX_RETRIES ]; do
echo "尝试第 $((RETRY_COUNT+1)) 次..."
if autoglm "执行任务"; then
echo "任务成功完成"
break
else
echo "任务失败,准备重试..."
RETRY_COUNT=$((RETRY_COUNT+1))
sleep 2
fi
done
if [ $RETRY_COUNT -eq $MAX_RETRIES ]; then
echo "达到最大重试次数,任务失败"
# 发送告警或人工接管
fi
回退策略
#!/bin/bash
# 带回退的自动化流程
# 记录初始状态
INITIAL_SCREEN="initial.png"
adb shell screencap -p /sdcard/$INITIAL_SCREEN
# 执行任务
if autoglm "执行可能失败的任务"; then
echo "任务成功"
else
echo "任务失败,执行回退"
# 回退到初始状态
autoglm "返回首页"
# 验证回退成功
autoglm "确认回到初始页面"
fi
6.2 性能优化技巧
减少操作步骤
# 优化前:多个小步骤
autoglm "点击A"
autoglm "点击B"
autoglm "点击C"
# 优化后:合并步骤
autoglm "依次点击A、B、C三个按钮"
利用缓存
#!/bin/bash
# 缓存界面元素位置
CACHE_FILE="element_cache.json"
# 检查缓存
if [ -f "$CACHE_FILE" ]; then
# 从缓存读取坐标
BUTTON_X=$(jq -r '.login_button.x' "$CACHE_FILE")
BUTTON_Y=$(jq -r '.login_button.y' "$CACHE_FILE")
adb shell input tap $BUTTON_X $BUTTON_Y
else
# 首次执行,使用AutoGLM识别并缓存
autoglm "找到登录按钮"
# ... 获取坐标并保存到缓存
fi
并行操作
#!/bin/bash
# 并行执行多个任务
# 任务1:在后台执行
autoglm "任务1" &
TASK1_PID=$!
# 任务2:在后台执行
autoglm "任务2" &
TASK2_PID=$!
# 等待所有任务完成
wait $TASK1_PID $TASK2_PID
echo "所有任务完成"
6.3 安全考虑
敏感信息处理
#!/bin/bash
# 安全处理敏感信息
# 不安全:明文存储
# PASSWORD="123456"
# 安全:从安全存储读取
PASSWORD=$(security get-password -s "app_login")
# 安全:输入时遮挡
adb shell input text "$PASSWORD"
权限最小化
# 只请求必要权限
# 在AndroidManifest.xml中精简权限
# <uses-permission android:name="android.permission.INTERNET" />
# 避免不必要的权限请求
操作审计
#!/bin/bash
# 操作审计日志
LOG_FILE="autoglm_audit.log"
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
# 记录所有操作
log_operation() {
echo "[$TIMESTAMP] $1" >> "$LOG_FILE"
}
# 执行操作时记录
log_operation "开始执行:打开微信"
autoglm "打开微信"
log_operation "完成:打开微信"
📈 总结:AutoGLM 的能力边界
AutoGLM 擅长什么?
-
✅ 标准界面操作
- 点击按钮、输入文本、滑动列表
- 识别常见的UI元素
-
✅ 多步骤任务
- 按照固定流程执行
- 条件判断和循环
-
✅ 跨应用操作
- 在不同应用间切换
- 传递数据和应用状态
AutoGLM 的局限性
-
❌ 动态/复杂界面
- 游戏界面、复杂动画
- 频繁变化的UI
-
❌ 安全敏感操作
- 支付、转账
- 敏感权限授予
-
❌ 非标准控件
- 自定义UI组件
- 非标准交互方式
什么时候用 AutoGLM?什么时候用 ADB?
| 场景 | 推荐工具 | 理由 |
|---|---|---|
| 界面元素识别 | AutoGLM | 智能识别,适应不同分辨率 |
| 精确坐标点击 | ADB | 直接控制,无识别误差 |
| 复杂任务流程 | AutoGLM | 自动规划,减少手动编排 |
| 简单重复操作 | ADB | 执行快速,资源消耗低 |
| 动态界面 | 混合使用 | AutoGLM识别 + ADB执行 |
| 敏感操作 | 人工介入 | 安全第一,避免风险 |
未来展望
-
技术发展
- 更强的视觉理解能力
- 更准确的意图解析
- 支持更多应用和场景
-
生态完善
- 更多开发者工具
- 社区贡献的模板库
- 企业级解决方案
-
应用扩展
- 更多行业应用
- 跨平台支持
- 云端一体化
📚 附录:实用资源
常用提示词模板
# 应用启动模板
autoglm "打开[应用名称],等待[时间]秒加载完成"
# 搜索操作模板
autoglm "在[应用名称]中搜索'[关键词]',等待结果加载"
# 表单填写模板
autoglm "在[位置]输入'[内容]',点击下一步"
# 验证操作模板
autoglm "执行[操作]后,确认看到[预期结果]"
ADB 命令速查表
# 设备管理
adb devices # 列出设备
adb connect IP:端口 # 无线连接
adb disconnect # 断开连接
# 应用管理
adb install 应用.apk # 安装应用
adb uninstall 包名 # 卸载应用
adb shell pm list packages # 列出应用
# 文件操作
adb push 本地文件 设备路径 # 推送文件
adb pull 设备路径 本地文件 # 拉取文件
# 屏幕操作
adb shell screencap 路径 # 截图
adb shell screenrecord 路径 # 录屏
# 输入操作
adb shell input tap X Y # 点击
adb shell input swipe X1 Y1 X2 Y2 # 滑动
adb shell input text "内容" # 输入文本
adb shell input keyevent 键码 # 按键事件
故障排查清单
-
连接问题
- USB线是否支持数据传输
- 开发者选项是否开启
- USB调试是否授权
- ADB服务是否运行
-
执行问题
- 屏幕是否解锁
- 应用是否安装
- 权限是否足够
- 网络是否正常
-
识别问题
- 屏幕亮度是否足够
- 界面是否加载完成
- 元素是否可见
- 分辨率是否适配
-
性能问题
- 操作间隔是否合理
- 重试机制是否有效
- 错误处理是否完善
- 日志记录是否完整
参考资源
-
官方文档
-
社区资源
-
学习资源
- 在线教程和视频
- 开源项目和示例
- 社区讨论和问答
🎉 结语:开始你的自动化之旅
通过本指南,你已经掌握了:
- ✅ AutoGLM 的核心原理和配置方法
- ✅ 提示词编写的艺术和科学
- ✅ ADB 与 AutoGLM 的完美配合
- ✅ 实战案例的深度解析
- ✅ 高级技巧和最佳实践
手机自动化不再是遥不可及的技术,而是每个开发者都可以掌握的实用工具。无论你是想提升工作效率,还是构建智能应用,AutoGLM 都能为你提供强大的支持。
记住:自动化不是要完全取代人工,而是将我们从重复劳动中解放出来,让我们有更多时间专注于创造和价值。
开始实践吧!从一个小任务开始,逐步构建你的自动化工作流。遇到问题时,参考本指南的故障排查部分,或者加入社区寻求帮助。
祝你自动化之旅顺利!
作者:獭獭
时间:2026年3月4日
学习方式:基于实战经验的深度总结
本文基于今天操作抖音、美团、滴滴等应用的实战经验编写,所有提示词和技巧都经过实际验证。希望这份指南能帮助更多人掌握 AutoGLM 技术,提升工作和生活效率!