Topluluk

Inside Android Skills - Built for deprecation

Okuma süresi 4 dakika
Jose Alcérreca'nın profilini görüntüleyin
Jose Alcérreca Geliştirici İlişkileri Mühendisi

Nisan ayında resmi Android Becerileri 'ni yayınladık ve gelen tepkiler tüm beklentilerimizi aştı. Bu blog yayınında, aldığımız geri bildirimlerden bazılarını ele alarak projenin felsefesini ve metodolojisini açıklayacağım. Bu bilgiler, becerileri yükleyip kullanırken arka planda neler olduğunu anlamanıza yardımcı olarak jetonları ve kendi zamanınızı daha iyi kullanmanızı sağlayacaktır.

Neden bu kadar az resmi beceri var?

Şu anda yalnızca en yeni (SOTA) modellerde doğrulanabilir bir bilgi açığı olduğunda yeni becerileri değerlendiriyoruz. Basitçe söylemek gerekirse, modele zaten bildiği şeyleri öğretmeniz gerekmez. (Ancak birkaç istisna vardır. Okumaya devam edin.)

Şu ana kadar yaklaşık 20 resmi beceri yayınladık. Bu beceriler, standart modellerin henüz tam olarak temel almadığı, son derece spesifik ve hızlı değişen alanları (ör. AGP 9, Navigation 3, gelişmiş Kamera API'leri ve Perfetto SQL) hedeflemektedir.

Peki ya temel, daha genel beceriler? Yüklü her beceri, başlattığınız her görevin temel bağlamına 100-200 jeton ekler. Bu beceri gerçekten etkinleştirilirse sayı hızla binlere ulaşabilir. Çoğu durumda temel becerileri saklamak hem verimsiz hem de maliyetlidir. Temel Kotlin veya Compose yazma becerisi yüklemeden önce, seçtiğiniz büyük dil modelinin buna gerçekten ihtiyacı olup olmadığını ya da bu konuları yeterince iyi bilip bilmediğini değerlendirin. 

Becerileri değerlendirme

Her beceri yayınlanmadan önce, becerinin net bir değer sunduğunu kanıtlayan kapsamlı bir değerlendirme grubuyla test edilir. Bu değerlendirmeler, beceri etkin olduğunda başarılı, aksi takdirde başarısız olmalıdır. Değerlendirmeler, beceriler için entegrasyon testlerinin kod için yaptığı işi yapar. 

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

Wear uygulamasında yatay sayfalayıcının doğru şekilde uygulanıp uygulanmadığını kontrol eden değerlendirme örneği

En azından, Android Studio'da en yeni Gemini Flash modelini kullanarak beceriyi test ederiz. Beceriye bağlı olarak Gemini Pro gibi diğer modellerle, Antigravity gibi diğer aracılarla ve üçüncü taraf sistemleriyle de uyumluluk sağlanır.

Tüm değerlendirmeler Bilgi Bankası'na erişimle çalışır. Bu nedenle, bilgiler dokümanlarda yer alıyorsa ve modeller bu bilgileri aramaya karar verirse bu bilgiler için beceri yayınlamayız.

Android Bilgi Bankası'nı kullanma (Android Studio veya Android CLI)

Android uygulamaları geliştiriyorsanız resmi belgelere erişmek için her zaman Android Bilgi Bankası'nı kullanmanız gerekir. Android Studio'da aracı kullanıyorsanız araç zaten kullanıma hazırdır. Başka bir aracı kullanıyorsanız Android KSA'yı yükleyin. Bu paket, diğer özelliklerinin yanı sıra aracınızın resmi Android belgelerine erişmesini sağlayan docs komutunu içerir. Tek bir araç kullanmak, yüzlerce beceri yüklemekten çok daha verimlidir.

Modeliniz aşırı özgüvenli davranıyorsa ve dokümanlara daha sık başvurmasını istiyorsanız onu motive etmenin çok yaygın bir yolu AGENTS.md dosyanıza veya eşdeğer bir dosyaya "Android API'leriyle çalışırken her zaman resmi Android dokümanlarına başvurun" ifadesini eklemektir. Elbette, istemlerinizde doğrudan belgeleri kontrol etmesini isteyerek de bunu zorlayabilirsiniz.

Çekme istekleri neden devre dışı bırakıldı?

Değerlendirme çerçevemiz, açık kaynaklı olamayan dahili altyapıya bağlı olduğundan yeni beceriler için doğrudan çekme isteklerini kabul edemiyoruz. Bu altyapı olmadan gelen çekme isteği değişikliklerini yeniden değerlendirme olanağımız olmaz. Bununla birlikte, topluluk geri bildirimlerini aktif olarak izliyoruz. Bir hata bildirmek, optimizasyon önermek veya yeni bir resmi beceri isteğinde bulunmak istiyorsanız lütfen sorun kaydı oluşturun.

Temel beceriler ne zaman önemlidir?

SOTA modelleri genellikle temel becerilere ihtiyaç duymaz ancak temel veya topluluk tarafından geliştirilen becerilerin etkinleştirilmesinin gerçek değer kattığı bazı senaryolar vardır. Örneğin:

  • Belirsiz istemler kullanıyorsunuz: Beceriler, amacınızı netleştirir. "Bu ekrana animasyon ekle" gibi genel bir istem verdiğinizde, belirli bir Compose animasyon becerisi modele ilham vererek onu modern API'lere veya aksi takdirde dikkate almayabileceği ekran görüntüsü testi kalıplarına yönlendirebilir.
  • Daha küçük ve daha ucuz modeller kullanmak istiyorsunuz: Frontier LLM'ler pahalıdır. Gemma 4 gibi daha küçük açık ağırlıklı modellere rutin görevleri devrediyorsanız temel becerileri etkinleştirmek, daha küçük parametrelerin kaçırdığı bilgi boşluklarını doldurur.
  • Eski kodu yeniden düzenliyor veya inceliyorsunuz: Modeller, çalışan kod oluşturma konusunda başarılıdır ancak eski kod tabanlarını düzenlerken genellikle modern doğrulukla yeniden yazmak yerine mevcut eski kalıplarla tutarlı kalmaya öncelik verirler. Temel becerilere sahip uzman bir inceleme temsilcisi bu alışkanlığı kırmanıza yardımcı olabilir.
  • Normdan sapıyorsunuz: LLM'ler, Android uygulamalarını tasarlamanın standart "Google yolu"nu sever. Ekibiniz son derece özelleştirilmiş bir görünüm katmanı mimarisi kullanıyorsa modelin uyumlu kalması zorlaşır. Mimarınızı açıkça tanımlayan özel bir beceri, işinizi büyük ölçüde kolaylaştırır.

Temel becerileri nerede bulabilirim?

Android topluluğu size destek olmaya hazır. Chris Banes, Compose ve Kotlin ile ilgili kapsamlı bir beceri koleksiyonu oluşturdu. Ivan Morgillo, Compose projelerini denetleyen bir beceri yayınladı. Jaewoong Eum ise test etme ve performans ile ilgili iki beceri oluşturdu. 

Becerileri her zaman güvenilir kaynaklardan indirin. Düzinelerce veya yüzlerce Android becerisi içeren depoların yapay zekayla üretilmiş ve test edilmemiş olma ihtimali yüksek olduğundan ve hatta kötü amaçlı veya taraflı talimatlar içerebileceğinden bu tür depolara güvenmem. Ayrıca, genel yazılım mühendisliği becerilerini körü körüne yüklemeyin. Bunların çoğu web geliştirmeye göre uyarlanmıştır.

Hedef: Kullanımdan kaldırma

Karpathy'nin sözlerini kabaca ifade edersek: Bugünün becerileri, yarının modellerinde yer alacak. SOTA modelleri iyileşmeye devam ettikçe, özellikle yeni API'ler üzerine kurulu becerilerin kullanımdan kalkmasını bekliyoruz. Bu modellerin ne zaman kullanımdan kaldırılacağını belirlemek için yeni modeller kullanıma sunulduğunda değerlendirmelerimizi yaparız. Bu testleri başarıyla geçen özellikler, çoğu kullanıcı geçiş yapana kadar birkaç ay boyunca kullanılmaya devam edecek. 

Yazan:
Okumaya devam et