MobileController:iOS Agent 的观察阶梯与像素真相
MobileController:iOS Agent 的观察阶梯与像素真相
一句话结论
MobileController 为 Claude Code 驱动 iOS Simulator 提供 token-efficient 工具链:用 agent-device CLI 做 session、snapshot、press/fill;用 simprobe 做 pixel truth、wait-stable、motion、shot、diff;核心方法是 observation ladder——从最便宜的结构化观察开始,只有不足时才升级到截图。
为什么对用户重要
Computer-use agent 的成本和失败常常不在“不会点击”,而在观察过重、状态不稳和验证不足。MobileController 的实测动机是:同一屏幕在不同工具下观察成本可相差数个数量级;因此 harness 需要教 agent 先用 digest/interactive refs,再逐级升级,而不是每一步都丢截图给模型。
机制 / 一阶原理
它不重写自动化引擎,而是把 agent-device 作为底层执行 CLI,补充三层:skill 记录观察阶梯和坑点;simprobe 用 simctl/idb 读取像素、稳定性、运动和截图;warm daemon 降低重复 tap/tree 延迟。观察阶梯大致是:digest snapshot → interactive snapshot → structure snapshot → frames/coordinates → screenshot。
一阶原理是 least-information observation:只获取足以决策的最小可验证状态;当结构化通道不能回答“在哪里/是否渲染/是否停止运动”时,再升级到像素或截图。
与已有概念的关系
- 对 Loop-Engineering:每轮 GUI action 后要有 wait-stable / pixel truth,而不是立即相信上一步成功。
- 对 Harness-Engineering:observation ladder 是 harness contract,可显著影响成本和可靠性。
- 对 Context-Engineering:观察本身是上下文预算管理问题,过量截图会挤占任务推理空间。
可执行启发
- Hermes 的 browser/GUI 工具也应定义观察阶梯:DOM/refs 优先,截图最后;需要坐标或渲染证据时再升级。
- 任务报告记录 observation token/cost,避免“成功但极贵”的 harness 被误判为好。
- GUI action 后加入 wait-stable / diff / state check,降低状态漂移。
- 把工具坑点写成 skill/reference,而不是让每次 agent 重新试错。
失败模式 / 边界
- 当前项目聚焦 macOS + Xcode + iOS Simulator,不直接覆盖 Web/Android/桌面。
- token 成本数字来自 README,未在本机复现实测。
- 如果任务需要视觉语义判断,过度依赖结构化 tree 可能漏掉渲染层问题。
深度判断
本轮晋升为正式 source 页,因为它提供可迁移的 computer-use harness 方法:观察阶梯、像素真相、wait-stable、成本度量和 skill 化坑点;这比普通 iOS 工具介绍更有 durable workflow 价值。
写入记录
- 2026-08-28 09:00 CST:新增 MobileController 分析,提炼 observation ladder、pixel truth、wait-stable 与观察成本度量对 Hermes GUI/browser harness 的启发。