2026/4/6 9:20:12
网站建设
项目流程
企业电子商务网站建设策划书,在哪个网站可以做行测题,zhi做网站,企业网页设计尺寸Open-AutoGLM详细日志查看方法#xff0c;便于调试
在使用 Open-AutoGLM 这类基于视觉语言模型的手机端 AI Agent 框架时#xff0c;调试是确保任务正确执行的关键环节。由于整个流程涉及自然语言理解、屏幕图像识别、动作规划与 ADB 控制等多个模块#xff0c;当任务失败或…Open-AutoGLM详细日志查看方法便于调试在使用 Open-AutoGLM 这类基于视觉语言模型的手机端 AI Agent 框架时调试是确保任务正确执行的关键环节。由于整个流程涉及自然语言理解、屏幕图像识别、动作规划与 ADB 控制等多个模块当任务失败或行为异常时仅靠最终结果很难定位问题所在。因此掌握如何开启和解读详细日志verbose logging对于开发者排查错误、优化提示词、提升自动化成功率至关重要。本文将系统性地介绍 Open-AutoGLM 的日志机制重点讲解如何启用详细模式、解读关键输出信息并结合实际场景提供实用的调试技巧帮助你快速定位并解决常见问题。1. 日志系统的作用与重要性1.1 为什么需要看日志Open-AutoGLM 的工作流程是一个多阶段闭环截图获取通过 ADB 截取当前手机屏幕。视觉理解将截图送入视觉语言模型VLM分析 UI 元素、文本内容和布局结构。意图解析与规划结合用户指令和当前界面状态生成下一步操作计划。动作执行调用 ADB 执行点击、滑动、输入等操作。循环迭代重复上述过程直到任务完成。在这个链条中任何一个环节出错都可能导致任务失败。例如模型误识别了按钮位置 → 点击偏移文本输入乱码 → 输入法未正确设置动作序列不合理 → 规划逻辑有误而这些“黑箱”内部的行为只有通过详细日志才能观察到。1.2 日志能告诉我们什么开启详细日志后你可以看到以下关键信息每一步的思考过程模型是如何理解当前界面并做出决策的具体执行的动作点击坐标、滑动方向、输入内容等API 请求与响应与 vLLM 或云端模型服务的交互详情ADB 命令执行情况是否成功发送指令异常堆栈信息程序报错的具体原因这些信息构成了完整的“执行轨迹”让你像看回放一样追踪 AI 的每一步操作。2. 如何开启详细日志模式2.1 命令行方式启用--verbose最简单的方式是在运行main.py时添加--verbose参数python main.py \ --verbose \ --device-id YOUR_DEVICE_ID \ --base-url http://localhost:8000/v1 \ --model autoglm-phone-9b-multilingual \ 打开小红书搜索美食推荐加上--verbose后控制台会输出大量结构化信息包括 [INFO] 当前设备: emulator-5554 [DEBUG] 正在截取屏幕... [DEBUG] 屏幕截图已保存至: /tmp/screenshot_001.png 思考过程: -------------------------------------------------- 用户指令为“打开小红书搜索美食推荐”。当前屏幕显示的是主屏幕需找到小红书应用图标。 根据图标上的文字“小红书”进行定位。 -------------------------------------------------- 执行的动作: { _metadata: do, action: Tap, element: [720, 1080] } 2.2 Python API 中启用日志级别如果你是通过代码调用 PhoneAgent可以通过设置日志级别来实现import logging from phone_agent import PhoneAgent from phone_agent.model import ModelConfig # 设置日志级别为 DEBUG logging.basicConfig(levellogging.DEBUG) model_config ModelConfig( base_urlhttp://localhost:8000/v1, model_nameautoglm-phone-9b-multilingual ) agent PhoneAgent( model_configmodel_config, device_idemulator-5554, verboseTrue # 显式开启详细输出 ) result agent.run(打开微信给文件传输助手发条消息)这样可以在 IDE 或 Jupyter Notebook 中更方便地查看日志输出。3. 详细日志的核心组成部分解析3.1 思考过程Reasoning Trace这是最有价值的部分展示了模型的“大脑”是如何工作的 思考过程: -------------------------------------------------- 当前页面是抖音首页底部导航栏包含“首页”、“朋友”、“”、“消息”、“我”。 目标是进入“消息”页面。应点击标签栏中的“消息”图标。 该图标位于屏幕右下角区域文字标注为“消息”。 --------------------------------------------------你能从中获得的信息模型是否准确识别了当前应用和界面状态是否理解了你的指令意图决策依据是什么如文字标签、位置、颜色等提示如果发现模型频繁误解界面可能是提示词不够清晰或者模型对某些 UI 风格不熟悉。3.2 动作执行记录Action Output接下来会输出具体的结构化动作指令{ _metadata: do, action: Tap, element: [980, 1920], description: 点击消息图标 }常见动作类型包括Tap点击指定坐标或元素InputText输入文本Swipe滑动操作Back返回键Home回到主屏注意点element字段如果是[x, y]坐标说明模型直接输出了绝对位置如果是字符串如搜索框则表示语义级操作由底层框架转换为坐标3.3 ADB 调用日志日志还会显示实际执行的 ADB 命令[DEBUG] 执行 ADB 命令: adb -s emulator-5554 shell input tap 980 1920 [DEBUG] ADB 命令返回: [DEBUG] 截图命令: adb -s emulator-5554 exec-out screencap -p /tmp/screen.png这些信息可以帮助你确认设备 ID 是否正确ADB 命令是否成功执行是否存在权限或连接问题3.4 模型 API 通信日志当你使用本地 vLLM 或远程服务时日志会显示请求体和响应[DEBUG] 发送 POST 请求至 http://localhost:8000/v1/chat/completions Request Payload: { model: autoglm-phone-9b-multilingual, messages: [ { role: user, content: [ {type: text, text: 用户指令...}, {type: image, image_url: file:///tmp/screenshot.png} ] } ], max_tokens: 3000 } Response: { choices: [ { message: { content: {\action\: \Tap\, ...} } } ] }这部分可用于检查图片是否成功上传验证 prompt 构造是否合理分析模型响应格式是否符合预期4. 实战调试案例分析4.1 案例一点击位置偏差导致失败现象AI 尝试点击“登录”按钮但总是点偏。日志片段思考过程: -------------------------------------------------- 找到“登录”按钮其文字为“登录”位于屏幕中部偏下。 估算坐标约为 [540, 1600] -------------------------------------------------- 执行的动作: { action: Tap, element: [540, 1600] }问题分析模型没有精确识别按钮边界而是“估算”坐标实际按钮中心可能在 [560, 1580]解决方案提高截图分辨率在 prompt 中强调“请精确定位可点击元素”使用支持 bounding box 输出的模型版本4.2 案例二中文输入乱码现象输入“你好世界”变成了“Һ”日志片段执行的动作: { action: InputText, text: 你好世界 } [DEBUG] 执行 ADB 命令: adb -s XXX shell am broadcast -a ADB_INPUT_TEXT --es msg 你好世界问题分析ADB Keyboard 接收到了非 UTF-8 编码的文本可能是 Python 环境编码问题解决方案 在 Windows 上运行前设置环境变量$env:PYTHONIOENCODING utf-8 python main.py --verbose 发送消息你好Linux/macOS 用户可在启动前设置export PYTHONIOENCODINGutf-84.3 案例三模型无响应或卡住现象长时间无输出程序挂起。日志片段[INFO] 正在向 http://localhost:8000/v1/chat/completions 发送请求... [WARNING] 请求超时 (30s) [ERROR] 连接被拒绝问题分析vLLM 服务未启动或崩溃显存不足导致推理卡死端口被占用排查步骤检查 vLLM 是否仍在运行ps aux | grep vllm查看 vLLM 启动日志是否有 OOM 错误测试 API 是否可达curl http://localhost:8000/v1/models5. 高级调试技巧与建议5.1 结合--save-trace保存完整执行轨迹部分版本支持--save-trace参数可将所有中间数据保存到本地目录python main.py \ --verbose \ --save-trace ./debug_trace \ --device-id XXX \ 测试任务生成的内容包括每一步的截图screenshot_001.png对应的 prompt 和 response完整的日志文件trace.log这对于复现问题、做离线分析非常有用。5.2 自定义日志处理器你可以继承PhoneAgent类添加自己的日志监听器class DebuggablePhoneAgent(PhoneAgent): def _on_action_planned(self, action): print(f[ACTION PLAN] 即将执行: {action}) # 可以在这里插入断点或写入数据库 def _on_screenshot_taken(self, path): print(f[SCREENSHOT] 已截取: {path})这种方式适合集成到 CI/CD 或自动化测试平台中。5.3 使用 Wireshark 抓包分析网络请求进阶如果你怀疑是模型服务通信问题可以用抓包工具监控本地流量启动 Wireshark选择 loopback 接口过滤 HTTP 请求http.host localhost http.request.method POST观察/v1/chat/completions的请求体和响应时间这能帮你判断请求是否发出响应延迟是否过高是否存在 JSON 格式错误6. 常见日志问题与应对策略问题现象日志特征解决方案ADB 设备未识别adb devices输出为空或 unauthorized检查 USB 调试授权重启 adb server模型返回乱码response 包含非 JSON 内容检查模型加载是否完整显存是否足够输入失败InputText成功但无反应确认 ADB Keyboard 已设为默认输入法动作循环不断重复相同操作修改 prompt 加入“避免重复操作”提示超时中断多次出现timeout日志降低max_tokens优化网络环境7. 总结掌握 Open-AutoGLM 的详细日志查看方法是你从“能用”走向“好用”的关键一步。通过启用--verbose模式你可以深入观察 AI Agent 的每一个决策瞬间理解它“看到”了什么、“想到”了什么、“做了”什么。在实际调试中建议你养成以下习惯始终先开日志哪怕是最简单的任务也建议带上--verbose关注思考过程这是判断模型理解能力的核心依据保留 trace 文件用于后续分析和团队协作建立日志模板针对高频任务设计标准日志检查清单只有真正看懂日志你才能成为 Open-AutoGLM 的“主治医生”而不是被动等待结果的“旁观者”。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。