Komunitas

Inside Android Skills - Built for deprecation

Waktu baca: 4 menit
Lihat profil Jose Alcérreca
Jose Alcérreca Developer Relations Engineer

Kami merilis Android Skills resmi pada bulan April, dan responsnya melampaui semua ekspektasi kami. Dalam postingan blog ini, saya akan menjawab beberapa masukan yang kami terima, dengan menjelaskan filosofi dan metodologi di balik proyek ini. Semoga hal ini juga membantu Anda memahami apa yang terjadi di balik layar saat Anda menginstal dan menggunakan skill, sehingga Anda dapat memanfaatkan token dan waktu Anda dengan lebih baik.

Mengapa hanya ada sedikit skill resmi?

Saat ini, kami hanya mempertimbangkan keterampilan baru jika ada kesenjangan pengetahuan yang dapat diverifikasi dalam model state-of-the-art (SOTA). Sederhananya: Anda tidak perlu mengajari model apa yang sudah diketahuinya. (Meskipun ada beberapa pengecualian—baca terus!)

Kami telah merilis sekitar 20 keterampilan resmi sejauh ini, dan keterampilan tersebut sengaja menargetkan area yang sangat spesifik dan bergerak cepat yang belum sepenuhnya didasarkan pada model standar—seperti AGP 9, Navigation 3, Camera API lanjutan, dan Perfetto SQL.

Bagaimana dengan keterampilan inti yang lebih umum? Setiap skill yang diinstal menyuntikkan 100–200 token ke dalam konteks dasar setiap tugas yang Anda mulai. Jika keterampilan tersebut benar-benar diaktifkan, jumlahnya dapat dengan cepat mencapai ribuan. Dalam sebagian besar kasus, menimbun keterampilan dasar tidak produktif dan mahal. Sebelum menginstal skill untuk menulis Kotlin atau Compose dasar, pertimbangkan apakah LLM pilihan Anda benar-benar membutuhkannya, atau apakah LLM tersebut sudah cukup memahami topik tersebut. 

Mengevaluasi keterampilan

Sebelum dirilis, setiap skill diuji terhadap serangkaian evaluasi komprehensif yang membuktikan bahwa skill tersebut memberikan nilai yang jelas. Evaluasi ini akan lulus jika skill aktif, dan gagal jika tidak. Evaluasi untuk keterampilan sama seperti pengujian integrasi untuk kode. 

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`.

Contoh evaluasi yang memeriksa penerapan pager horizontal yang benar di aplikasi Wear

Setidaknya, kami menguji kemampuan di Android Studio menggunakan model Gemini Flash terbaru. Bergantung pada skill-nya, kami juga memastikan kompatibilitas dengan model lain seperti Gemini Pro dan agen lain seperti Antigravity, serta sistem pihak ketiga.

Semua evaluasi dijalankan dengan akses ke Pusat Informasi, jadi jika informasi ada dalam dokumentasi, dan model memutuskan untuk mencarinya, kami tidak memublikasikan skill untuknya.

Menggunakan Basis Pengetahuan Android (Android Studio atau Android CLI)

Jika Anda mengembangkan aplikasi Android, Anda harus selalu menggunakan Pusat Informasi Android untuk mengakses dokumentasi resmi. Jika Anda menggunakan agen di Android Studio, agen tersebut sudah tersedia sebagai alat, tetapi jika Anda menggunakan agen lain, instal Android CLI. Selain itu, perintah ini berisi perintah docs, yang memberi agen Anda akses ke dokumentasi Android resmi. Memiliki satu alat jauh lebih efisien daripada menginstal ratusan skill.

Jika model Anda terlalu percaya diri, dan Anda ingin model tersebut lebih sering berkonsultasi dengan dokumentasi, cara yang sangat umum untuk memotivasinya adalah dengan menambahkan "Selalu konsultasikan dokumentasi Android resmi saat berinteraksi dengan API Android" ke file AGENTS.md atau yang setara. Tentu saja, Anda juga dapat memaksakan hal ini dengan meminta agen untuk memeriksa dokumentasi langsung dalam perintah Anda.

Mengapa permintaan pull dinonaktifkan?

Karena framework evaluasi kami bergantung pada infrastruktur internal yang tidak dapat di-open source-kan, kami tidak dapat menerima pull request langsung untuk skill baru. Tanpa infrastruktur ini, kami tidak akan dapat mengevaluasi ulang perubahan PR yang masuk. Namun, kami secara aktif memantau masukan komunitas. Jika Anda ingin melaporkan bug, menyarankan pengoptimalan, atau meminta skill resmi baru, ajukan masalah.

Kapan keterampilan inti atau dasar diperlukan?

Meskipun model SOTA umumnya tidak memerlukan keterampilan dasar, ada beberapa skenario saat mengaktifkan keterampilan inti atau buatan komunitas memberikan nilai tambah yang nyata. Contoh:

  • Anda menggunakan perintah yang tidak jelas: Keterampilan memperjelas maksud Anda. Jika Anda memberikan perintah yang tidak terlalu spesifik seperti "tambahkan animasi ke layar ini", keterampilan animasi Compose tertentu dapat menginspirasi model, mendorongnya untuk menggunakan API modern atau pola pengujian screenshot yang mungkin tidak akan dipertimbangkan jika tidak ada perintah tersebut.
  • Anda ingin menggunakan model yang lebih kecil dan lebih murah: LLM Frontier mahal. Jika Anda memindahkan tugas rutin ke model ringan open source yang lebih kecil seperti Gemma 4, mengaktifkan keterampilan dasar akan mengisi kesenjangan pengetahuan yang tidak dimiliki oleh parameter yang lebih kecil.
  • Anda merefaktor atau meninjau kode lama: Model unggul dalam menghasilkan kode yang berfungsi, tetapi saat mengedit codebase lama, model sering kali memprioritaskan untuk tetap konsisten dengan pola lama di sekitarnya daripada menulis ulang dengan akurasi modern. Agen peninjau khusus yang dilengkapi dengan keterampilan inti dapat membantu menghentikan kebiasaan tersebut.
  • Anda menyimpang dari norma: LLM menyukai cara standar "Google" dalam membuat arsitektur aplikasi Android. Jika tim Anda menggunakan arsitektur lapisan tampilan yang sangat disesuaikan, model akan kesulitan untuk tetap selaras. Keahlian kustom yang secara eksplisit menjelaskan arsitektur Anda akan sangat membantu.

Di mana saya dapat menemukan keterampilan inti?

Komunitas Android siap membantu Anda. Chris Banes memiliki kumpulan keterampilan yang komprehensif untuk Compose dan Kotlin, Ivan Morgillo memublikasikan keterampilan yang mengaudit project Compose, dan Jaewoong Eum membuat dua artikel tentang pengujian dan performa

Selalu download skill dari sumber tepercaya. Saya pribadi tidak akan memercayai repositori yang berisi puluhan atau ratusan keterampilan Android karena kemungkinan besar dibuat oleh AI dan tidak teruji, bahkan mungkin berisi petunjuk berbahaya atau bias. Selain itu, jangan menginstal keterampilan teknik software umum secara membabi buta; banyak di antaranya disesuaikan untuk pengembangan web.

Tujuan: penghentian penggunaan

Memparafrasakan Karpathy: Keterampilan saat ini akan ada dalam model masa depan. Seiring dengan terus meningkatnya kualitas model SOTA, kami memperkirakan keterampilan akan menjadi usang, terutama yang dibangun di sekitar API baru. Untuk mengetahui kapan model tersebut harus dihentikan, kami menjalankan evaluasi saat model baru dirilis. Jika mereka lulus, kami akan mempertahankannya selama beberapa bulan hingga sebagian besar pengguna beralih. 

Ditulis oleh:
Lanjutkan membaca