W kwietniu udostępniliśmy oficjalne umiejętności w Androidzie , a reakcja przekroczyła nasze oczekiwania. W tym poście na blogu odniosę się do niektórych opinii, które otrzymaliśmy, i wyjaśnię filozofię oraz metodologię projektu. Mam nadzieję, że pomoże Ci to też zrozumieć, co się dzieje za kulisami, gdy instalujesz i używasz umiejętności, dzięki czemu będziesz lepiej wykorzystywać tokeny i swój czas.
Dlaczego jest tak mało oficjalnych umiejętności?
Obecnie rozważamy tylko nowe umiejętności, gdy w modelach najnowocześniejszych (SOTA) występuje luka w wiedzy, którą można zweryfikować. Mówiąc wprost: nie musisz uczyć modelu tego, co już wie. (Chociaż jest kilka wyjątków – czytaj dalej).
Do tej pory udostępniliśmy około 20 oficjalnych umiejętności, które są celowo ukierunkowane na bardzo konkretne, szybko zmieniające się obszary, w których standardowe modele nie są jeszcze w pełni ugruntowane – takie jak AGP 9, Navigation 3, zaawansowane interfejsy API aparatu i Perfetto SQL.
A co z podstawowymi, bardziej ogólnymi umiejętnościami? Każda zainstalowana umiejętność wstrzykuje 100–200 tokenów do kontekstu podstawowego każdego zadania, które rozpoczynasz. Jeśli ta umiejętność zostanie aktywowana, liczba ta może szybko wzrosnąć do tysięcy. W większości przypadków gromadzenie podstawowych umiejętności jest zarówno nieproduktywne, jak i kosztowne. Zanim zainstalujesz umiejętność pisania podstawowego kodu w Kotlinie lub Compose, zastanów się, czy Twój wybrany model LLM naprawdę jej potrzebuje, czy też zna już te tematy wystarczająco dobrze.
Ocena umiejętności
Przed udostępnieniem każda umiejętność jest testowana na podstawie obszernego zestawu ocen, które potwierdzają, że umiejętność przynosi wyraźną wartość. Te oceny powinny być pozytywne, gdy umiejętność jest aktywna, a negatywne w przeciwnym razie. Oceny są dla umiejętności tym, czym testy integracji dla kodu.
timeout_s: 1200
repository:
url: [redacted - internal git repo]
working_dir: wear_compose_m3_empty_app
category_ids:
- wear
prompt: |-
Add a horizontal pager to MainActivity.kt. Have three pages in the pager. Each page should contain
the text "Page 1", "Page 2", and "Page 3" respectively in the center of the screen.
commands:
build:
- ./gradlew assembleDebug
acceptance_criteria:
project_builds: true
llm_diff_judge:
- Must use `HorizontalPagerScaffold`.
- Each page should use `AnimatedPage` to wrap a `ScreenScaffold`.Przykładowa ocena, która sprawdza prawidłowe wdrożenie poziomego pagera w aplikacji na Wear OS
Testujemy umiejętność co najmniej w Android Studio przy użyciu najnowszego modelu Gemini Flash. W zależności od umiejętności zapewniamy też zgodność z innymi modelami, takimi jak Gemini Pro, i innymi agentami, takimi jak Antigravity, oraz systemami innych firm.
Wszystkie oceny są przeprowadzane z dostępem do bazy wiedzy, więc jeśli informacje znajdują się w dokumentacji, a modele zdecydują się ich poszukać, nie publikujemy umiejętności.
Korzystanie z bazy wiedzy Androida (Android Studio lub interfejs wiersza poleceń Androida)
Jeśli tworzysz aplikacje na Androida, zawsze używaj bazy wiedzy Androida, aby mieć dostęp do oficjalnej dokumentacji. Jeśli używasz agenta w Android Studio, jest on już dostępny jako narzędzie, ale jeśli używasz innego agenta, zainstaluj interfejs wiersza poleceń Androida. Zawiera on między innymi polecenie docs, które daje agentowi dostęp do oficjalnej dokumentacji Androida. Używanie jednego narzędzia jest znacznie wydajniejsze niż instalowanie setek umiejętności.
Jeśli Twój model jest zbyt pewny siebie i chcesz, aby częściej korzystał z dokumentacji, bardzo częstym sposobem na zmotywowanie go jest dodanie do pliku AGENTS.md lub jego odpowiednika tekstu „Always consult the official Android documentation when dealing with Android APIs” (Zawsze korzystaj z oficjalnej dokumentacji Androida, gdy masz do czynienia z interfejsami API Androida). Oczywiście możesz też wymusić to, prosząc agenta o sprawdzenie dokumentacji bezpośrednio w promptach.
Dlaczego żądania pull są wyłączone?
Ponieważ nasza platforma oceny zależy od infrastruktury wewnętrznej, która nie może być udostępniona jako open source, nie możemy akceptować bezpośrednich żądań pull dotyczących nowych umiejętności – bez tej infrastruktury nie mielibyśmy możliwości ponownej oceny zmian w przychodzących żądaniach pull. Aktywnie monitorujemy jednak opinie społeczności. Jeśli chcesz zgłosić błąd, zaproponować optymalizację lub poprosić o nową oficjalną umiejętność, zgłoś problem.
Kiedy podstawowe umiejętności mają sens?
Chociaż modele SOTA na ogół nie potrzebują podstawowych umiejętności, w niektórych przypadkach włączenie podstawowych umiejętności lub umiejętności stworzonych przez społeczność przynosi realną wartość. Przykład:
- Używasz niejasnych promptów: umiejętności wzmacniają Twoje intencje. Jeśli podasz niejasny prompt, np. „dodaj animacje do tego ekranu”, konkretna umiejętność animacji Compose może zainspirować model, kierując go w stronę nowoczesnych interfejsów API lub wzorców testowania zrzutów ekranu, których w przeciwnym razie mógłby nie wziąć pod uwagę.
- Chcesz używać mniejszych, tańszych modeli: modele LLM Frontier są drogie. Jeśli przenosisz rutynowe zadania na mniejsze modele open-weight, takie jak Gemma 4, włączenie podstawowych umiejętności wypełnia luki w wiedzy, które pomijają mniejsze parametry.
- Refaktoryzujesz lub sprawdzasz starszy kod: modele doskonale generują działający kod, ale podczas edytowania starych baz kodu często priorytetowo traktują spójność z otaczającymi wzorcami starszego kodu zamiast przepisywania kodu z nowoczesną dokładnością. Specjalistyczny agent sprawdzający wyposażony w podstawowe umiejętności może pomóc w przełamaniu tego nawyku.
- Odchodzisz od normy: modele LLM uwielbiają standardowy "sposób Google" na tworzenie architektury aplikacji na Androida. Jeśli Twój zespół używa wysoce dostosowanej architektury warstwy widoku, model będzie miał trudności z zachowaniem spójności. Niestandardowa umiejętność, która wyraźnie opisuje Twoją architekturę, może bardzo pomóc.
Gdzie mogę znaleźć podstawowe umiejętności?
Społeczność Androida Ci pomoże. Chris Banes ma obszerną kolekcję umiejętności dla Compose i Kotlina, Ivan Morgillo opublikował umiejętność, która audytuje projekty Compose, a Jaewoong Eum stworzył 2 umiejętności dotyczące testowania i wydajności.
Pobieraj umiejętności tylko z zaufanych źródeł. Osobiście nie ufałbym repozytoriom zawierającym dziesiątki lub setki umiejętności w Androidzie, ponieważ prawdopodobnie zostały one wygenerowane przez AI i nie zostały przetestowane, a nawet mogą zawierać złośliwe lub tendencyjne instrukcje. Nie instaluj też bezmyślnie ogólnych umiejętności inżynierii oprogramowania – wiele z nich jest dostosowanych do tworzenia stron internetowych.
Cel: wycofanie
Parafrazując Karpathy’ego: umiejętności dzisiejsze będą w modelach jutra. W miarę jak modele SOTA będą się ulepszać, spodziewamy się, że umiejętności staną się przestarzałe, zwłaszcza te oparte na nowych interfejsach API. Aby określić, kiedy je wycofać, przeprowadzamy oceny, gdy pojawiają się nowe modele. Jeśli oceny są pozytywne, zachowamy umiejętności przez kilka miesięcy, aż większość użytkowników przejdzie na nowe rozwiązanie.
-
SpołecznośćGoogle Play uruchamia pierwszy fundusz Indie Games Fund w Afryce, inwestując 1 mln dolarów, aby wesprzeć 10 niezależnych studiów gier w Afryce Subsaharyjskiej.
Steph Pio • 1 minuta czytania -
SpołecznośćNie musisz już dłużej czekać. Z ogromną radością przedstawiamy uczestników programu Google Play Apps Accelerator w 2026 r.
Robbie McLachlan • 1 minuta czytania -
SpołecznośćW najnowszym filmie #WeArePlay poznajemy Adriano, Wagnera i Grazyelle. Ta trójka stworzyła Matraquinha – aplikację, która pomaga tysiącom dzieci, które nie mówią, w ponad 80 krajach.
Robbie McLachlan • 2 minuty czytania
Otrzymuj co tydzień najnowsze informacje o tworzeniu aplikacji na Androida na swoją skrzynkę odbiorczą.