Wygenerowana karta tytułowa dla ARTEMIS Google'a z napisem „Google udostępnił ARTEMIS jako open source” nad wierszem „Automatyzacja Androida w języku naturalnym, Apache 2.0, sierpień 2026”, z trzema kartami statystyk o treści: 99,1% AndroidWorld (według własnych deklaracji), Flash na poziomie 3–5 s na krok i Pro na poziomie 15–40 s na krok, oraz stopka informująca, że benchmark jest raportowany przez dostawcę, a AndroidWorld nie weryfikuje zgłoszeń.
Engineering & Research

ARTEMIS od Google udostępnia automatyzację Androida jako open source: co tak naprawdę obejmuje twierdzenie o 99% w AndroidWorld

Autor

Rowan Sterling

Data publikacji

Najnowsze modele · 20Zobacz wszystkie modele
Benchmarki: Artificial Analysis · aktualizowane codziennie
Powrót do wszystkich wpisów

Najnowszy commit w repozytorium google/artemis nie jest funkcją. To nota o autorstwie — „fix: uzupełnij README i odpowiednie nagłówki plików zgodnie z wymogami Apache 2.0”, wypchnięta 12 września 2026 r., trzy dni po tym, jak Minitap opublikował wpis zatytułowany Oczekiwałem czegoś lepszego od Google. ARTEMIS Google’a to niedawno udostępniony na zasadach open source agent automatyzacji Androida: zamienia instrukcję w prostym języku angielskim na rzeczywiste dotknięcia, przesunięcia, wpisywanie tekstu i weryfikację na fizycznym urządzeniu z Androidem lub emulatorze, rejestruje przy tym logi i zrzuty ekranu oraz raportuje wskaźnik ukończenia zadań na poziomie ponad 99% w benchmarku AndroidWorld Google Research. Został opublikowany w tym sierpniu przez zespół Pixel Test Engineering Fusion Google’a na licencji Apache 2.0 i naprawdę warto poświęcić mu swoje popołudnie. Jest także — od połowy września — centrum otwartoźródłowego sporu o autorstwo, który mówi więcej o tym, jak powstają mobilne agenty, niż liczba z benchmarku. Obie historie są prawdziwe. Tylko jedna z nich jest powodem, dla którego ostatni commit w repozytorium był poprawką licencji.

Co faktycznie zostało wydane

ARTEMIS nie jest modelem ani nakładką na chatbota. To harness sterujący — system w Pythonie 3.12+ działający pomiędzy modelem wizyjno-językowym a prawdziwym telefonem. Podajesz mu zadanie po angielsku; on obserwuje ekran, decyduje o działaniu, wykonuje je przez ADB, sprawdza, co się stało, i kontynuuje. W pudełku było pięć rzeczy:

CLI i SDK Pythona. code>./start.sh/code> inicjalizuje ADB, scrcpy, FFmpeg i środowisko uv; code>uv run artemis run "…" --profile flash/code> uruchamia zadanie bez interfejsu; code>artemis-client/code> SDK opakowuje to samo wywołanie na potrzeby pytest i CI, zwracając code>succeeded/code>, code>status/code>, code>device_serial/code> oraz code>trace_id/code>, które możesz później prześledzić.

Konsola internetowa. code>uv run artemis ui/code> udostępnia wizualną konsolę testową na code>localhost:8000/code>, gdzie możesz obserwować pętlę krok po kroku.

Natywny serwer MCP. To właśnie ta część sprawiła, że się rozprzestrzenił. code>uv run artemis mcp --install all/code> udostępnia code>mobile_run_task/code>, code>mobile_manage_task/code>, code>mobile_get_device_state/code>, code>mobile_inspect_trace/code> i code>mobile_diagnose/code> dowolnemu asystentowi obsługującemu MCP, z pełnoprawnymi ścieżkami instalacji dla Antigravity, Claude Code i Codex, a także generowaniem konfiguracji dla Cursor, Windsurf, VS Code i Cline/Roo. Z perspektywy asystenta z podłączonym serwerem „zbuduj APK, zainstaluj go, otwórz ustawienia, włącz tryb samolotowy, zrób zrzut ekranu wyniku” przestaje być skryptem, a staje się zdaniem.

Pomocnik ułatwień dostępu. Pierwsze zadanie instaluje Artemis Accessibility Helper, który odczytuje układ ekranu bez utrzymywania połączenia UiAutomation — celowo, aby inne narzędzia oparte na UiAutomator na tym samym urządzeniu nie zostały zablokowane. Działa na telefonie i niczego z niego nie wysyła, a gdy nie może się dołączyć, przełącza się na UIAutomator2; informacja o tym przełączeniu jest widoczna na osi czasu zadania.

Przechwytywanie logów i śladów. Stosy awarii, zrzuty ekranu klatek kluczowych i raport diagnostyczny są zbierane automatycznie, a nie dokładane przez wywołującego — dlatego można tego używać jako zestawu regresyjnego, a nie tylko dema.

A screenshot of the google/artemis repository on GitHub showing the Apache-2.0 licence, 6.0k stars, 528 forks, 54 watchers, 119 commits and 6 contributors, with the most recent commit on main reading 'fix: complete README and relevant file headers per Apache 2.0 requirements', dated four days before capture.

Flash i Pro to dwa różne produkty dzielące jedną nazwę

Najważniejsza rzecz, jaką trzeba zrozumieć, zanim porównasz ARTEMIS z czymkolwiek, to to, że code>--profile flash/code> i code>--profile pro/code> nie są ustawieniem szybkości jednego agenta. To dwa agenty.

• Flash — reaktywna pętla obserwuj-i-działaj w tempie około 3–5 sekund na krok, bez planu, bez notatek, bez kontroli bezpieczeństwa przed wykonaniem, bez weryfikacji punktów kontrolnych, bez raportu końcowego i bez powłoki ADB. Pętla jest domyślnie nieograniczona, ponieważ historia jest kompresowana, a nie gromadzona.

• Pro — graf wieloagentowy, około 15–40 sekund na krok, zbudowany z Planera, który prowadzi żywy plan w formacie Markdown z jawnymi code>verify/code> i code>assert/code> elementami, Operatora z pełnym zestawem narzędzi oraz Checkera działającego w trybie tylko do odczytu, który weryfikuje punkty kontrolne i przeprowadza przegląd końcowy. code>--verification-level/code> przyjmuje wartości code>off/code>, code>final/code> (domyślnie), code>checkpoints/code> lub code>strict/code>.

To pięcio- do dziesięciokrotna różnica w opóźnieniu dla tego samego opisu zadania i to różnica między testem dymnym a ponad 100-krokowym przebiegiem eksploracyjnym. Samo Google ujmuje to tak, że Pro służy do pracy długoterminowej i ciągłego code>[Loop:continuous]/code> monitorowania; Flash jest przeznaczony do rutynowych, deterministycznych zadań UI. Jeśli czytasz recenzję, która przytacza czasy kroków, nie mówiąc, który profil je wygenerował, to nie mówi ci nic.

A generated scoreboard comparing ARTEMIS's two execution profiles: Flash at 3-5s per step with no planning, no Safety Net, no checkpoint checks and no ADB shell, against Pro at 15-40s per step with a Planner and living plan, a Safety Net on every action, four verification levels (off, final, checkpoints, strict) and ADB shell.

Strategia lokalizacji to prawdziwa inżynieria

Większość frameworków automatyzacji mobilnej przewraca się na selektorach. ARTEMIS opiera się na podejściu dynamic-first: gdy istnieje indeks elementu ułatwień dostępu, używa go; gdy go nie ma — Canvas, powierzchnia Compose, widok Flutter, gra — sięga po współrzędne i wizję. Nie ma warstwy XPath do utrzymania ani ID, które mogłoby się zdezaktualizować, co ma znaczenie, ponieważ aplikacje, które najbardziej chcesz testować, to te, które co tydzień wypuszczają nowe buildy.

Profil Pro dodaje Safety Net: każda akcja przechodzi kontrolę przed wykonaniem — najpierw XML, z fallbackiem na piksele — która wyłapuje systemowe okno popup, które za chwilę pochłonie twoje dotknięcie. Błędy otwierają „incydent wykonania", który pozostaje w kontekście, aż rozwiąże go późniejszy sukces, zamiast tworzyć osobnego agenta naprawczego. Długie sesje są kompresowane — stare zrzuty ekranu stają się wizualnymi podsumowaniami, ukończone kroki są dzielone na możliwe do przywołania ery, które code>search_history/code> i code>replay_steps/code> mogą przywrócić — i to właśnie sprawia, że kontekst o 100 krokach nie staje się zbyt kosztowny.

99,1% w rankingu i zastrzeżenie, które pomijają posty o premierze

Głównym twierdzeniem ARTEMIS jest ponad 99% wskaźnik ukończenia w AndroidWorld, benchmarku Google Research obejmującym 116 realistycznych zadań w ponad 20 aplikacjach, ocenianym jako Pass@1. Na dzień 11 września 2026 r. ranking AndroidWorld plasował ARTEMIS na poziomie 99,1% w porównaniu z 91,4% dla mobile-use od Minitap, przy wydajności człowieka na poziomie 80%. W tabeli oznacza to stan sztuki wśród publicznie raportowanych wyników.

Przy tej liczbie trzeba uwzględnić dwie rzeczy. Po pierwsze, ranking AndroidWorld wyraźnie nie weryfikuje niezależnie zgłoszeń — każda liczba na nim, w tym liczba ARTEMIS, jest zgłaszana przez sam zespół, który ją uzyskał, a analiza odporności wykazała, że same warianty zadań mogą znacząco zmienić wynik agenta. Traktuj 99,1% jako mocne twierdzenie dostawcy dotyczące publicznego, sprawdzalnego benchmarku, co jest rzeczą realną i użyteczną, a nie jako pomiar poddany audytowi, którym nie jest. Po drugie, znaczenie ma kształt porównania: benchmark to stały zestaw zadań, a opublikowany wykres porównawczy ARTEMIS podobno pomijał mobile-use, uwzględniając inne pozycje. Benchmark, w którym na wykresie brakuje najsilniejszego wcześniejszego wyniku, to słabsze twierdzenie, niż sugeruje sam odsetek.

Spór, który jest prawdziwą wiadomością tego miesiąca.

Na swoim blogu oraz w publicznym zgłoszeniu w repozytorium Minitap — startup zajmujący się testowaniem aplikacji mobilnych, którego otwartoźródłowy mobile-use robi to samo dla Androida i iOS — twierdził, że 228 z 229 plików ARTEMIS było identycznych z jego własnymi. Opublikowane szczegóły są wyjątkowo konkretne: kod połączenia z urządzeniem Android zgodny z jego implementacją, dosłowne powtórzenie instrukcji należących do agenta o nazwie „Hopper” oraz przykład WhatsApp, który wysyła noworoczne wiadomości do Alice, Bob i Charlie, odtworzony z tymi samymi komentarzami, tymi samymi krokami czyszczenia i tym samym błędem. Twierdzi ponadto, że plik zawierający nazwiska trzech autorów Minitap — Pierre-Louis Favreau, Jean-Pierre Lo i Nicolas Dehandschoewercker — został zastąpiony w sierpniu przez force-push, przy czym nazwiska usunięto, a na ich miejsce podstawiono innego autora.

Kwestia licencji nie jest niejasna. mobile-use jest objęty licencją Apache 2.0, a Apache 2.0 pozwala dokładnie na tego rodzaju ponowne wykorzystanie — komercyjne, pochodne, zamknięte — pod warunkiem zachowania informacji o prawach autorskich i wskazania, co zostało zmienione. Nie pozwala natomiast na dostarczanie kodu z usuniętymi tymi informacjami. Odkąd pojawiły się te zarzuty, w repozytorium widnieje wiersz „This project includes source code developed by Minitap, Inc.” oraz linki do minitap-ai/mobile-use, a commit z 12 września dopełniający to przypisanie autorstwa jest — w chwili pisania — najnowszą zmianą na code>main/code>. Minitap nie opublikował żadnych dowodów wiążących usunięcie informacji o autorstwie z własnymi, pozostawionymi bez odpowiedzi zgłoszeniami do rankingu, a Google nie wydał szczegółowej publicznej odpowiedzi. Uczciwa interpretacja jest taka: udostępniany kod jest legalny i zawsze był dozwolony; strona formalna przez pewien czas nie była w porządku, a teraz została poprawiona.

Część, której nikt nie wycenia: rachunek za model

ARTEMIS jest dostarczany z plakietką o treści „Multi-Model — Gemini | Claude | GPT-4o | Qwen-VL”, a jego plik konfiguracyjny code>config/artemis.jsonc/code> to miejsce, w którym wskazujesz dowolny model wizyjny, dla którego masz poświadczenia. Nic w tym pliku nie jest widoczne dla użytkownika, dopóki nie uruchomisz Pro w rzeczywistym przepływie pracy i nie zobaczysz, ile faktycznie kosztuje długo działający agent.

Przelicz to na profilach. Uruchomienie Pro na 100 kroków przy 15–40 sekundach na krok to gdzieś między 25 minutami a nieco ponad godziną czasu zegarowego, a każdy z tych kroków to co najmniej jedno wywołanie modelu wizyjnego przenoszące zrzut ekranu. Flash jest tańszy na krok, ale mocniej się zapętla, a ponieważ jego kontekst jest kompresowany, a nie obcinany, z łatwością przekroczy limit tur, który zakładałeś jako pułap. Niezależnie od tego, który profil wybierzesz, to model jest pozycją kosztową, która skaluje się wraz z twoim zestawem testów, a nie licencja czy sprzęt.

To jest miejsce, w którym warstwa routingu przestaje być abstrakcją. Model wizyjny prowadzący długą sesję na Androidzie to obciążenie o dwóch niewygodnych właściwościach: jest długotrwałe i nie toleruje potknięcia dostawcy w środku kroku 74, ponieważ kontekst danego przebiegu znajduje się na punkcie końcowym tego dostawcy. Skierowanie ARTEMIS na pojedynczy bazowy URL zgodny z OpenAI i pozwolenie, by nasze przełączanie awaryjne przeniosło przebieg do innego dostawcy tego samego modelu, to różnica między niestabilnym testem a straconym popołudniem. Qwen3.8-Flash to ciekawy kandydat, od którego warto zacząć — multimodalny MoE z 6B aktywnych parametrów i kontekstem 1M tokenów, wyceniony w naszym katalogu na 0,15 USD za milion tokenów wejściowych i 0,47 USD za milion tokenów wyjściowych, z odczytem z pamięci podręcznej po 0,018 USD i zapisem do pamięci podręcznej po 0,230 USD. To właśnie cena odczytu z pamięci podręcznej jest tu istotna, ponieważ przebieg Pro ponownie odczytuje rosnący kontekst przy każdym kroku.

Bądź jednak precyzyjny co do tego, co to oznacza: Qwen3.8-Flash nie znajduje się na liście przetestowanych backendów ARTEMIS, na której wymieniono Gemini, Claude, GPT-4o i Qwen-VL. To model, który prawdopodobnie pasuje do tego środowiska testowego, a samo środowisko zostało wyraźnie zbudowane tak, aby akceptować taki model. Nikt nie opublikował benchmarku dla tego połączenia, a każdego, kto twierdzi, że taki istnieje, powinieneś traktować jako tego, kto go wymyślił.

Mapa drogowa i to, jak duża jej część jest kluczowa

Na opublikowanej mapie drogowej znajdują się cztery elementy: integracja z Android Studio z debugowaniem w edytorze, nagrywaniem testów i sterowaniem urządzeniami; wsparcie dla iOS; lekkie modele wizyjno-językowe działające na urządzeniu, zapewniające niskie opóźnienia i prywatność; oraz dwukierunkowa interakcja głosowa w czasie rzeczywistym.

Pierwszy jest tym, w który warto wierzyć, ponieważ jest naturalnym kolejnym artefaktem zespołu inżynierii testowej Pixel i nie wiąże się z ryzykiem badawczym — agent już steruje urządzeniem, potrzebuje tylko panelu w IDE. iOS to znacznie większe twierdzenie, niż wygląda z zewnątrz: cała strategia lokalizacji opiera się na usłudze ułatwień dostępu Androida, a iOS nie ma odpowiedniej powierzchni o tym samym modelu uprawnień, więc należy spodziewać się przepisania warstwy percepcji, a nie portu. Element dotyczący VLM na urządzeniu jest tym, któremu warto się uważnie przyjrzeć, ponieważ jest to jedyny element na liście, który usunąłby koszt API na krok, obecnie dominujący w dużym zestawie testów — a to implikuje mały, szybki model z możliwościami wizyjnymi, który potrafi utrzymać zadanie UI w całości, co jest znacznie węższym celem niż „mały model, który jest dobry w używaniu narzędzi”.

A generated roadmap card listing ARTEMIS's four announced items - Android Studio plugin, iOS support, on-device lightweight VLMs and real-time duplex voice - above a wider card noting that the latest commit on main, dated 12 September 2026, was an Apache 2.0 attribution fix, with a footer reading 'Roadmap items are announced, not shipped'.

Co z tym zrobić w tym tygodniu

Sklonuj to, uruchom code>./start.sh/code> na jednym emulatorze i zleć Flashowi zadanie pokrywane przez twój istniejący zestaw testów Espresso. To powie ci w ciągu godziny, czy lokalizator dynamic-first przetrwa powierzchnie Compose twojej aplikacji, a to jest pytanie, które decyduje, czy cokolwiek z reszty ma znaczenie. Następnie uruchom to samo zadanie na Pro i porównaj oba ślady — różnica między 3–5 a 15–40 sekundami na krok to miejsce, w którym żyje twój budżet, i nie możesz ocenić kosztu ARTEMIS bez niej.

Czytając kod, czytaj nagłówki. Commit z 12 września, który dodał atrybucję Minitap, jest najnowszym commitem w repozytorium, co oznacza, że czytane przez ciebie nagłówki plików mają cztery dni, a projekt jest aktywnie naprawiany publicznie. To nie jest powód, żeby go unikać. To powód, żeby sprawdzić, którą wersję historii masz przed sobą, zanim podasz wskaźnik sukcesu na slajdzie.

Skierowanie ARTEMIS na jeden bazowy adres URL zgodny z OpenAI i pozwolenie naszemu mechanizmowi przełączania awaryjnego na przeniesienie przebiegu do innego dostawcy tego samego modelu to różnica między niestabilnym testem a zmarnowanym popołudniem.

Porównane w tym artykule1

Wykryto na podstawie tego artykułu · Benchmarki: Artificial Analysis · aktualizowane codziennie