Daily Report每日推播
框架工具

每日突破性工具推薦|ARTEMIS

本文目錄

今日推薦

ARTEMIS 是 Google 開源的 Android AI 自動化與測試框架,核心目標是讓 AI Coding Agent 能像真人一樣直接操作 Android 實機或模擬器,從自然語言測試需求一路完成裝 APK、跨 App 操作、Bug 重現、Logcat 診斷、截圖蒐證與結果驗證。

它值得關注的地方不只是「用 AI 點手機」,而是把原本分散在 Appium、UIAutomator、ADB、人工 exploratory testing 與 AI IDE 之間的流程,收斂成一個可以透過 MCP 直接掛進 Codex、Claude Code、Cursor、Windsurf、VS Code、Antigravity 等 Coding Agent 的 Mobile Testing Runtime。

截至本次研究,官方 GitHub 約有 7.2K Stars、119 commits,採 Apache 2.0 授權,且仍持續有 Issue、PR 與 Roadmap 開發活動。

工具定位與適用情境

ARTEMIS 的定位可以概括為:

text
AI Coding Agent
	↓
MCP
	↓
ARTEMIS
	├── Planner / Operator / Checker
	├── Multimodal UI Grounding
	├── ADB / Logcat Diagnostics
	├── Trace / Replay
	└── Device Runtime
	↓
Android 實機 / Emulator

它特別適合 Android App 的端到端測試、自然語言 exploratory testing、跨 App workflow、AI Coding Agent 自動驗收、Bug 自動重現,以及 CI/CD 中需要真實 UI 操作與結構化 assertion 的場景。

突破性重點:把 Coding Agent 的閉環延伸到真正的手機

一般 Coding Agent 的閉環大多停在:

text
讀程式碼
→ 修改
→ Build
→ Unit Test
→ 回答完成

但 Mobile App 的很多問題只有真正執行 UI 才會出現,例如權限 Dialog、鍵盤遮擋、動畫 timing、跨 App Intent、系統設定、登入流程、Compose / Flutter 自訂畫面、裝置差異與偶發 Crash。

ARTEMIS 把閉環延伸成:

text
讀程式碼
→ 修改
→ Build APK
→ 安裝到裝置
→ 啟動 App
→ 操作真實 UI
→ 蒐集 Screenshot / Logcat / Trace
→ 驗證結果
→ 回到 Coding Agent 修正

這讓 AI 不再只能從 Source Code 推測 App 是否正確,而能取得真正的 Runtime Evidence。

核心架構:Flash 與 Pro 雙執行模式

ARTEMIS 沒有用單一 Agent Loop 處理所有任務,而是提供兩種明顯不同的執行 Profile。

Flash Profile

Flash 是快速 reactive observe-and-act loop,官方描述典型速度約為每步 3–5 秒。

text
Screen State
	↓
Model
	↓
Action
	↓
New Screen State
	↓
Model

它沒有額外 Graph orchestration,適合登入、開啟設定、點選固定功能等相對確定的流程。ARTEMIS 會壓縮舊的 Screenshot 與歷史步驟,避免長流程讓 Context 無限制膨脹。

Pro Profile

Pro 則是偏向可靠性與長流程的 Multi-agent Graph:

text
Planner
	↓
Living Markdown Plan
	↓
Operator
	↓
Pre-execution Safety Net
	↓
Android Device
	↓
Checker
	↓
Checkpoint / Final Verification

Planner 維護可更新的任務計畫;Operator 實際操作裝置並處理失敗恢復;Checker 則以唯讀角色驗證 checkpoint 與最終目標。官方提供 off、final、checkpoints、strict 等 verification level。

這種設計的價值在於:速度與可靠性不需要強迫使用同一條 Agent Loop。

多模態定位:降低傳統 Locator 的脆弱性

傳統 Android UI Automation 很依賴 resource ID、XPath 或固定座標,一旦 UI 改版就容易讓測試大量失效。

ARTEMIS 採取多層定位策略,會結合 Accessibility hierarchy、OCR、element index、座標與視覺模型;對 Canvas、Jetpack Compose、Flutter 等結構資訊不完整的 UI,還能退回 Visual Grounding。

概念上是:

text
Accessibility / XML
	↓
可定位? ── Yes → Structured Target
	│
	No
	↓
OCR / Visual Grounding
	↓
Coordinate Target

這比「完全靠 Screenshot」更有效率,也比「完全依賴 XPath」更能處理非標準 UI。

MCP 是真正改變開發模式的部分

ARTEMIS 內建 MCP Server,提供 mobile_run_taskmobile_manage_taskmobile_get_device_statemobile_inspect_tracemobile_diagnose 等工具。

因此 Coding Agent 可以直接收到這類需求:

text
Build 最新 APK,安裝到連接的手機,
登入測試帳號,確認登入後是否出現異常 Popup,
若失敗請檢查 Logcat 並回報 Screenshot 與原因。

Coding Agent 不必自己理解 ADB、scrcpy 或 UIAutomator 的所有細節,而是把 Mobile Testing 當成一組標準工具能力。

這讓 ARTEMIS 更像「Mobile Testing Harness for Agents」,而不是單純另一個 Android automation library。

Trace、Replay 與診斷能力

AI UI Automation 最大的問題之一,是失敗時很難知道 Agent 到底看到了什麼、點了哪裡,以及為什麼判斷成功。

ARTEMIS 提供 execution trace、visual action overlay、reasoning telemetry、Screenshot、錄影與 replay,並能透過 MCP 查詢 trace。

因此失敗不只是得到:

text
Test failed

而能回頭檢查:

text
看到什麼
→ 選了哪個 target
→ 執行哪個 action
→ 畫面如何變化
→ Logcat 發生什麼
→ 驗證在哪一步失敗

這對 AI-generated testing 的可除錯性非常重要。

AndroidWorld 表現

ARTEMIS 官方宣稱在 Google Research 的 AndroidWorld benchmark 達到 99%+ task completion。AndroidWorld 是針對 autonomous Android control agent 的動態 benchmark,官方環境涵蓋 20 個 App 與超過 100 個多步驟任務,並透過 Android system state 產生可重現的 reward signal。

這個 99%+ 數字目前應視為 ARTEMIS 專案方公布的結果,而不是本報告獨立重跑 benchmark 的驗證結果;不過 AndroidWorld 本身是公開且可重現的 benchmark,因此比單純展示幾段 Demo 更具參考價值。

相較 Appium / UIAutomator 的優點

Appium 與 UIAutomator 的核心仍是 deterministic test automation:開發者先寫 selector、action 與 assertion。

ARTEMIS 則把自然語言意圖轉成動態決策:

text
傳統
Test Code
→ Locator
→ Action
→ Assertion

ARTEMIS
Goal
→ Observe
→ Reason
→ Locate
→ Act
→ Verify

因此對 exploratory testing、UI 經常變化、跨 App 任務與 Coding Agent 自動驗收特別有優勢。

反過來,如果是高度固定、每次 CI 都必須 100% deterministic 的 regression suite,Appium / Espresso / UIAutomator 仍然更容易控制成本與結果。

相較一般 Android MCP Server 的優點

一般 Mobile MCP 往往只是暴露 screenshot、tap、swipe、type、UI hierarchy 等低階工具,真正的 reasoning 完全交給 Host Agent。

ARTEMIS 多了一整層自己的 Automation Runtime:Flash / Pro Agent、Planner、Operator、Checker、Safety Net、History Compression、Trace、Replay、Logcat diagnostics 與 verification。

因此它不是:

text
MCP → ADB wrapper

而更接近:

text
MCP
→ Autonomous Mobile Testing Runtime
→ Android

這是它與多數 Mobile MCP 專案最大的架構差異。

主要優勢

  1. 真正的 Agent-to-Device 閉環:Coding Agent 可以修改程式後直接在實機驗證,而不是停在 Build 成功。
  2. 雙 Runtime Profile:Flash 專注低 latency,Pro 專注 planning、verification 與長流程可靠性。
  3. 多模態 UI Grounding:結合 hierarchy、OCR 與 vision fallback,降低 selector 維護成本。
  4. MCP 原生整合:能直接掛入主流 Coding Agent / AI IDE。
  5. 完整可觀測性:Trace、Replay、Screenshot、Video、Logcat 都能成為 Agent 的診斷證據。
  6. 可進 CI:另有 Python SDK,回傳 Pydantic structured output,可與 pytest 等既有測試流程整合。
  7. 實機與 Emulator 共用:適合從本機開發逐步延伸到 Device Lab。

缺點與限制

目前主要聚焦 Android

官方 Roadmap 才把 iOS Platform Expansion 列為後續項目,因此需要 Android + iOS 同時覆蓋的團隊,目前仍需另一套 iOS automation stack。

LLM UI Automation 仍非完全 deterministic

同一個 Goal 可能因模型、畫面 timing、App 狀態與視覺判斷產生不同 action trajectory。對付款、資料刪除或其他高風險流程,不能因為有 Safety Net 就完全取消傳統 deterministic guardrail。

Pro 模式 latency 較高

官方描述 Pro 每一步約 15–40 秒,長流程的時間與模型成本可能明顯高於傳統 automation script。因此它更適合複雜 exploratory / verification 任務,而不是所有 regression test 都無差別改用 Agent。

99%+ benchmark 不等於任意 App 都有 99% 成功率

AndroidWorld 是特定 benchmark。Production App 可能包含 WebView、反自動化、複雜動畫、登入 MFA、特殊硬體、企業 MDM 與自訂 Canvas,因此仍需自行建立實際產品 benchmark。

Accessibility Helper 帶來額外裝置元件

ARTEMIS 預設會安裝 Accessibility Helper 讀取畫面結構;雖然官方表示只在本機裝置運作,且可停用並改用 UIAutomator2,但企業 Device Lab 仍應評估權限、安全政策與測試裝置管理方式。

適合的使用者與專案

ARTEMIS 特別適合:

  • Android App 開發團隊
  • AI Coding Agent 自動驗收
  • QA Automation / Exploratory Testing
  • 跨 App E2E workflow
  • Bug 自動重現與 Logcat 診斷
  • UI 變動頻繁、傳統 selector 維護成本高的產品
  • 希望把 Mobile Testing 接入 Codex、Claude Code、Cursor 等 Agent 的團隊
  • 建立 Android Device Lab / Agentic QA Platform

不適合優先導入的情境

如果專案只有 Web、只需要 iOS、完全不使用 AI Agent、測試流程極度固定且既有 Espresso / Appium suite 已非常穩定,或每個 test case 都要求極低 latency 與完全 deterministic execution,那麼 ARTEMIS 不一定比既有工具划算。

簡短結論

ARTEMIS 值得推薦,不是因為「AI 可以幫你點 Android 手機」這件事本身,而是它把 Mobile App 開發缺少的最後一段 Agent Feedback Loop 補起來。

過去 Coding Agent 的世界通常是:

text
Code
→ Build
→ Test

ARTEMIS 想把它變成:

text
Code
→ Build
→ Install
→ Real Device
→ Observe
→ Operate
→ Diagnose
→ Verify
→ Fix

當 AI Coding Agent 開始承擔更多完整 feature implementation,而不只是產生程式碼時,「能否真正操作並驗證最終產品」會變成非常重要的能力。ARTEMIS 正好位在 Coding Agent、Mobile Automation、MCP 與 Agentic Testing 四個趨勢的交會點。

現階段我會把它定位為 非常值得 Android 團隊進行 PoC 的 Agentic Mobile Testing Framework,尤其適合拿一條既有的登入、設定或跨 App E2E 流程,直接與 Appium / UIAutomator 比較成功率、維護成本、平均執行時間與失敗可診斷性,再決定是否擴大導入。

參考來源

延伸閱讀與原始資料。

Google ARTEMIS — GitHubgithub.com(另開分頁)ARTEMIS MCP Server Architecturegithub.com(另開分頁)AndroidWorld — Google Research GitHubgithub.com(另開分頁)AndroidWorld: An Open World for Autonomous Agents — Google Researchresearch.google(另開分頁)
← 返回框架工具回到頂端 ↑