TL;DR

Antoine van der Lee (@twannl) vừa công bố một iOS Simulator CLI tuned riêng cho AI agent, bundle sẵn trong RocketSim — app companion cho Xcode Simulator đang có 80k+ developer dùng. Sau 1 tuần build, Antoine chạy head-to-head vs các open-source alternative trên 5 flow thật của app Settings và ra kết quả: ~12× ít token, 1.6× nhanh hơn, 4× ít tap sai. Với agent trả phí theo call, 12× token chính là yếu tố sống còn.

Có gì mới

RocketSim bấy lâu là một MAS app quen mặt trong Xcode community — chứa 30+ tool cho Simulator: network monitor, network throttle, airplane mode, camera stream, design overlay, grid/ruler, push notification, deeplink, location mock, status bar override, VoiceOver Navigator, recording có device bezel. Bản cập nhật lần này thêm vào một lớp mới: CLI chạy độc lập, đi kèm một Agent Skill theo chuẩn mở, cắm thẳng được vào Claude Code, Cursor, Codex và bất cứ công cụ nào theo OpenAI-compatible skill format.

Thay vì cho agent gửi vài trăm KB accessibility XML rồi tự đoán phải tap đâu, RocketSim CLI có output mode --agent cho ra bản compact của accessibility tree, rồi để agent gọi các lệnh tap, long-press, swipe, type, press hardware button trên đúng element đã nhìn thấy. Engine bên dưới chính là engine đang chạy trong app RocketSim — stateful, đồng bộ version với app.

Vì sao quan trọng

Mọi agent framework hiện tại (mobile-mcp, callstackincubator/agent-device, script xcrun simctl + accessibility inspector tự viết) đều có cùng một điểm yếu: chúng đổ toàn bộ accessibility dump vào context mỗi bước. Với một flow 10 step, bạn vừa tốn token dump, vừa tốn token reasoning, vừa tốn token retry khi agent đoán sai element.

Khi Antoine nói “token cost is the killer for any agent paying per call”, đó không phải marketing — với GPT-class model, 12× token đồng nghĩa hoá đơn tháng chia cho 12, hoặc cùng ngân sách bạn chạy được 12× nhiều agent run hơn. Trên CI hoặc pipeline QA, đây là khác biệt giữa “agent QA được hằng ngày” và “agent QA chỉ được mỗi release”.

Số liệu kỹ thuật

Benchmark của Antoine chạy 5 flow thật trong app Settings, đo CLI của RocketSim vs các OSS alternative phổ biến:

Chỉ sốRocketSim CLIOSS alternativesKhoảng cách
Token / flowBaseline~12× nhiều hơn~12×
Tốc độ end-to-endBaseline~1.6× chậm hơn1.6×
Tap sai / flowBaseline~4× nhiều hơn
Output format--agent compactRaw accessibility XML
DistributionMac App Store (sandbox)brew / npm / manual

Điểm kỹ thuật đáng chú ý: engine fetch accessibility element mà CLI đang dùng đã được Antoine tối ưu riêng trước đó — trong một bài trên SwiftLee, anh kể đã dùng chính AI agent + Time Profiler để làm function fetcher này nhanh lên 25×. Nói cách khác, CLI này ngồi trên một engine đã được AI tự tối ưu, giờ quay lại phục vụ AI.

So sánh vs open-source alternatives

Điểm khác biệt kiến trúc lớn nhất nằm ở output shape, không phải tốc độ subprocess. OSS tool thường bê nguyên accessibility tree (XML sâu 4–6 level, nhiều metadata rác cho LLM) và để agent tự filter. RocketSim CLI chủ động strip xuống còn các field cần cho agent quyết định tap: label, role, frame, enabled state. Ít noise → ít token → agent ít phân vân → ít tap sai. 3 số 12×/1.6×/4× không phải 3 cải tiến độc lập, chúng là cùng một nguyên nhân đo ở 3 góc.

Ngoài ra, RocketSim CLI là stateful: agent có thể list element, act, list lại, so sánh — thay vì mỗi lệnh khởi động lại toàn bộ context như script simctl rời.

Use case

  • Agent-driven QA regression trên flow onboarding, paywall, Settings, deeplink — giờ rẻ đủ để chạy trên mỗi PR.
  • UI-state-aware coding agent — Claude Code hoặc Cursor có thể “nhìn” Simulator bằng accessibility list thay vì screenshot đốt context, act, verify, lặp.
  • Bug repro tự động — agent lái vào đúng màn hình lỗi, kéo log + network trace sẵn có của RocketSim, trả lại dev một repro gọn.
  • Combo network + simulator — cắm thêm AI prompts cho network traffic (redundant call, over-fetching, failure cluster) đã có sẵn trong RocketSim → full loop: drive UI → capture traffic → reason.
  • Phù hợp nhất: solo iOS dev trả per-token và team muốn agent automation mà không phải tự dựng MCP server riêng.

Giới hạn & pricing

Giới hạn: chỉ Mac, chỉ Simulator — không điều khiển được real device, không Android, không Windows. CLI cần app RocketSim cài đúng version từ Mac App Store (skill tự detect và pair version). Benchmark là vendor-reported trên 5 flow của Settings, chưa có bên thứ 3 verify, và Antoine chưa nêu tên cụ thể “popular OSS alternatives” nào được so sánh.

Pricing (áp cho RocketSim app — CLI bundle sẵn bên trong, Agent Skill repo free open-source):

  • Free — €0, không cần account, core feature.
  • Personal€5/tháng, unlock toàn bộ Pro qua in-app purchase.
  • Teams€10/seat/tháng (€120/năm billed annually), 14-day trial không cần card.
  • Enterprise — custom, 20+ seats, SAML SSO, distribution off-App-Store.

Chặng tiếp theo

Antoine kết tweet bằng một câu hỏi mở cho community: “What's the one Simulator flow you'd want this CLI to handle?” — tức roadmap flow tiếp theo sẽ chạy theo request từ user. Kỳ vọng hợp lý: deep-link testing, In-App Purchase flow, paywall A/B, onboarding multi-step, và tích hợp sâu hơn vào Claude Code / Cursor marketplace.

Nguồn: @twannl on X, AvdLee/RocketSimApp, RocketSim-Agent-Skill, rocketsim.app.