agent-device

agent-device: 這是什麼、解決什麼問題以及為什麼它正受到關注

解決什麼問題

agent-device 為 AI 編碼與 QA agent 提供了一種在多個平台上與真實應用程式進行互動並驗證的方法。它透過提供標準化的 CLI 進行裝置自動化,彌補了 agent 對程式碼進行推理與實際觀察該程式碼是否在實體裝置、模擬器或模擬器上運作之間的差距。

如何運作

此工具充當 AI agent 的「手與眼」。它使用特定平台的後端(iOS/tvOS 使用 XCTest,Android 使用 ADB,Linux 使用 AT-SPI,以及 macOS 使用本地輔助工具)來執行指令。agent 使用 CLI 對 UI 進行「快照」(snapshots)——這些是結構化的輔助功能數據,會為元素分配參考 ID(例如 @e1)——然後使用這些參考進行點擊、輸入或捲動等操作。

對象是誰

  • AI Agent 開發者:正在構建需要真實應用程式回饋迴圈的編碼 agent(例如使用 Cursor、Claude Code 或 Windsurf)的人員。
  • QA 工程師:正在建立 AI 驅動的 QA 框架以自動化行動裝置與桌面應用程式驗證的開發者。
  • App 開發者:正在開發原生 iOS/Android、Expo、Flutter 或 React Native 應用程式,並希望將 AI agent 整合進其開發與 CI/CD 流程的開發者。

重點特性

  • 多平台支援:支援 iOS、Android、tvOS、Android TV、macOS、Linux 與 web。
  • 語義化互動:使用輔助功能樹(accessibility trees)來提供高 token 效率的快照與語義化參考,以實現可靠的元素定位。
  • 證據收集:擷取螢幕截圖、影片、日誌、追蹤、網路流量與 React render profiles 以供除錯。
  • 可重現性:允許將互動記錄為 .ad 腳本,以便進行可重複的 e2e 檢查,或匯出至 Maestro YAML。
  • 跨參數相容性:支援原生應用程式以及 Expo、Flutter 與 React Native 等框架。

Sources