让 AI 像人一样操作真实手机:Google 开源项目 ARTEMIS 简介

0 阅读6分钟

引言

随着大模型驱动的智能编程助手(如 Antigravity、Claude Code、Codex、Windsurf 等)日益普及,一个新的痛点逐渐浮现:这些 AI 助手擅长写代码、改代码,却缺乏在真实设备上"动手验证"的能力。一个 Android App 的登录流程是否正常?某个弹窗是否符合预期?这些问题过去仍然需要工程师手动连接设备、点点戳戳去确认。

Google 近期在 GitHub 上开源的 ARTEMIS(github.com/google/artemis)正是为解决这一问题而生。它的定位很直接:把自然语言指令转化为可靠的 Android 自动化操作,让 AI 编程助手可以像人类测试工程师一样,直接驱动一台真实手机或模拟器完成端到端的任务,并自动采集日志、截图与诊断报告。项目在 Google Research 的 AndroidWorld 基准测试中取得了 99% 以上的任务完成率,处于业界领先水平。

ARTEMIS 是什么

简单来说,ARTEMIS 是一个原生支持 Model Context Protocol(MCP) 的 Android 自动化框架。它把"操作手机"这件事封装成一组标准化的 MCP 工具(如 mobile_run_taskmobile_manage_taskmobile_get_device_statemobile_inspect_tracemobile_diagnose),使得任何支持 MCP 的 AI IDE 或编程助手——包括 Antigravity、Claude Code、Windsurf、Codex 等——都可以直接"接管"一台连接的 Android 设备或模拟器,执行诸如"打包 APK、安装、打开登录页、用测试账号登录、检查是否有异常弹窗、并返回最终页面截图"这类跨越多个步骤的复合任务。

整个过程只需要在聊天窗口中用一句自然语言描述即可触发,背后由 ARTEMIS 完成编译、安装、界面导航、状态校验与结果回传的全部工作。

核心能力

ARTEMIS 的主要特点可以概括为以下几个方面:

  • 跨应用自动化:根据自然语言指令,在 Android 系统内跨多个 App 执行测试流程或日常任务(例如先在地图应用中规划路线,再切换到视频应用播放歌曲)。
  • 多模态目标定位:优先使用无障碍服务提供的元素索引进行精确点击,在自定义渲染的界面(如 Canvas、Compose、Flutter)中则自动回退到坐标定位与视觉模型识别,保证定位的稳健性。
  • IDE 级诊断能力:通过 MCP 集成,IDE 内的 AI 助手可以直接获取设备的 Logcat 日志与截图,便于定位问题根因。
  • 两种执行画像(Profile):
    • Flash 模式:面向常规、确定性较强的 UI 操作,采用"观察—思考—执行"的反应式循环,单步耗时约 3-5 秒,响应快、成本低。
    • Pro 模式:面向长流程、探索性强的复杂任务,基于多智能体的规划-执行-校验架构。系统中的 Planner(规划者)维护一份带有里程碑和校验点的任务计划,Operator(执行者)负责实际操作并处理执行过程中的异常恢复,Checker(校验者)则在关键节点和任务结束时对照原始目标进行核验。单步耗时约 15-40 秒,可支持上百步的长链路任务与持续监控场景。

系统架构

ARTEMIS 的架构设计围绕"稳定可靠地长时间操作真实设备"这一目标展开:

  1. 预执行校验与动作合并:Pro 模式在下发每一个具体动作前,都会将目标与实时的界面树、像素画面进行比对校验;针对转瞬即逝的控件(如自动消失的提示条),系统会将多个动作合并为一次"动作爆发"(action burst),避免因等待模型下一轮响应而错过操作窗口。
  2. 元素定位融合策略:结合无障碍层级树、OCR 文字识别与视觉模型,在标准原生控件与自定义渲染界面之间自动切换定位方式。
  3. 历史信息压缩:Flash 与 Pro 共享同一份会话记录,早期的截图会被压缩为视觉摘要,已完成的步骤会被归纳成可检索的历史片段,从而在长任务中控制上下文长度,同时保留可回溯、可重放的能力。

此外,ARTEMIS 在设备首次执行任务时会自动安装一个轻量级的 Artemis 无障碍助手(Accessibility Helper),用于在不占用 UiAutomation 连接的前提下读取屏幕布局信息;该组件仅在手机本地运行,不会向外部发送数据,用户也可以随时手动安装、卸载或替换为 UIAutomator2 后端。

使用方式

ARTEMIS 提供了多种接入方式,可以覆盖从个人开发者到团队 CI/CD 流水线的不同场景:

  • Web 可视化控制台(uv run artemis ui):提供实时屏幕投屏、自然语言任务下发、推理过程可视化与执行回放等功能,适合交互式调试。
  • MCP Server:让 Antigravity、Claude Code、Windsurf 等 AI IDE 直接接管真机进行缺陷复现和测试执行。
  • 命令行工具(uv run artemis run):适合编写自动化测试用例、探索性稳定性测试,或运行 AndroidWorld 等基准评测。
  • Python SDK:可作为标准 Python 库集成进 pytest 等既有自动化测试框架或 CI/CD 流水线,并提供基于 Pydantic 的强类型结构化输出与断言支持。

安装方式也十分简单,克隆仓库后运行一键脚本(macOS/Linux 下为 ./start.sh,Windows 下为 .\start.bat)即可自动检测并安装 ADB、scrcpy、FFmpeg 等系统工具链,并提示为各类 AI IDE 配置全局 MCP 服务与"测试思维规则"(rules.md)。这份规则文件专门用于约束 AI 助手在操作手机前先进行主动探索,遵循"动态定位优先、坐标兜底"的定位策略,并做好延迟与时序补偿,从而减少幻觉式的误操作。

性能表现

在权威的 AndroidWorld 基准(由 Google Research 提出,覆盖 20 多个应用、100 余项多步骤任务)上,ARTEMIS 取得了 99% 以上的任务完成率,达到了当前该榜单的领先水平,充分说明其在真实、复杂交互场景下的稳定性和鲁棒性。

项目现状与展望

截至目前,该项目在 GitHub 上已获得近 4000 颗星标,并有超过 300 次 Fork,采用 Apache-2.0 协议开源,代码库中还包含了来自 Minitap, Inc. 的开源贡献。项目团队在路线图中透露,未来计划推进 Android Studio 原生插件集成向 iOS 平台扩展端侧轻量级视觉大模型支持以及实时语音交互式任务下发等方向,进一步扩大 ARTEMIS 的适用边界。

结语

ARTEMIS 的出现,标志着"AI 编程助手"的能力边界正在从纯代码生成,向真正意义上的"端到端软件交付"延伸——AI 不仅能写代码,还能亲自动手在真机上验证功能、复现缺陷、生成诊断报告。对于移动端研发和测试团队而言,这样的工具有望显著压缩从代码提交到验证反馈的循环时间,是值得关注和尝试的开源项目。

项目地址:github.com/google/arte…