
수백억 개의 토큰을 소모한 끝에, 브라우저에서 완전히 실행되는 Android 스타일의 OS를 구축했습니다
요약
TypeScript와 React를 사용하여 브라우저에서 실행되는 Android 스타일의 시뮬레이션 환경인 MobileGym을 구축했습니다. GUI 에이전트 연구를 목적으로 설계되었으며, 다양한 시스템 메커니즘과 28개의 앱을 포함합니다.
핵심 포인트
- TypeScript와 React 기반의 브라우저 내 Android 시뮬레이션 구현
- Activity 스택, 인텐트, 제스처 등 Android 시스템 메커니즘 재구현
- GUI 에이전트 연구를 위한 오픈소스 환경 제공
- 28개의 주요 앱과 시스템 앱을 포함한 풍부한 시뮬레이션 환경
수백억 개의 토큰을 소모한 끝에, 브라우저에서 완전히 실행되는 Android 스타일의 OS를 구축했습니다
제목이 약간 클릭베이트(clickbaity) 같을 수 있지만, 실제로 일어난 일과 아주 동떨어진 것은 아닙니다.
지난 몇 달 동안, 우리는 TypeScript + React로 구현된 완전한 브라우저 기반의 Android 스타일 시뮬레이션 환경인 MobileGym을 구축했습니다.
현재 WeChat, Alipay, Xiaohongshu/RED, bilibili, X, Reddit, WeChat Read, China Railway 12306, Tencent Meeting, Spotify, eBay를 포함한 28개의 시뮬레이션 앱과 Home, Settings, Contacts, Messages, Photos, Calendar, Files, Browser와 같은 시스템 앱을 포함하고 있습니다.
이 시스템은 Xiaomi 테마 팩과 커스텀 위젯을 지원합니다. 또한 우리는 Activity 스택 (Activity stack), 인텐트 (Intents), 제스처 네비게이션 (gesture navigation), 뒤로 가기 처리 (back handling), 소프트 키보드 동작 (soft keyboard behavior)을 포함한 다수의 Android 스타일 시스템 메커니즘을 브라우저에서 직접 재구현했습니다.
MobileGym은 원래 GUI 에이전트 (GUI agent) 연구를 위해 구축되었지만, 이를 직접 플레이하거나, Android 스타일의 UI/시스템 메커니즘을 공부하거나, 코드를 포크(fork)하여 그 위에 다른 것을 구축하고 싶은 누구에게나 열려 있습니다.
온라인 데모: https://mobilegym.dev
GitHub: https://github.com/Purewhiter/mobilegym
주요 기능 (Features)
⚡ 가볍고 높은 동시성 (Lightweight and highly concurrent)
단일 MobileGym 인스턴스는 약 400 MB의 메모리만 사용하는 반면, 일반적인 Android 에뮬레이터는 대략 4~10 GB를 사용합니다. 단일 서버에서 수백 또는 수천 개의 환경 인스턴스를 병렬로 실행할 수 있습니다.
🧪 416개의 태스크 템플릿 (416 task templates)
태스크 템플릿은 매개변수화(Parameterized)되어 있어, 사실상 무제한의 태스크 인스턴스를 생성할 수 있습니다. 평가는 결정론적(Deterministic)이며, LLM-as-a-judge(판사로서의 LLM) 방식에 의존하지 않고 밀리초(ms) 단위로 완료됩니다.
🌉 실제로 작동하는 심투리얼 전이 (Sim-to-real transfer that actually works)
테스트 결과, 시뮬레이션 환경에서 GRPO 스타일의 강화학습 (Reinforcement Learning)으로 학습된 모델은 실제 기기에서도 성능 향상분의 95% 이상을 그대로 전이(Transfer)했습니다.
🧩 쉬운 확장성 (Easy to extend)
MobileGym은 확장 가능하도록 설계되었습니다. 새로운 앱을 추가하려면 폴더와 매니페스트(Manifest) 파일만 생성하면 됩니다. 새로운 태스크를 추가하려면 Python 클래스를 작성하기만 하면 되며, 가장 짧은 태스크는 단 세 줄의 코드로 구현할 수 있습니다.
🛡️ 완전한 샌드박스 환경, 실제적인 부작용 없음 (Fully sandboxed, with no real-world consequences)
MobileGym은 실제 서비스에 연결하거나, 실제 돈을 송금하거나, 실제 메시지를 보내지 않습니다. 부작용에 대한 걱정 없이 안전하게 클릭하며 탐색할 수 있습니다.
이 프로젝트는 GUI 에이전트(Agent)의 학습 및 평가를 위한 인프라로 시작되었지만, 결과적으로 브라우저 기반의 상당히 완성도 높은 Android 스타일의 놀이터(Playground)가 되었습니다.
이 프로젝트가 유용하거나, 흥미롭거나, 혹은 단순히 가지고 놀기에 재미있다고 느끼는 분들의 피드백을 기다립니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기

