Android becerilerine genel bakış

Android becerileri, yapay zeka araçlarının ve aracıların Android geliştirmeyle ilgili en iyi uygulamaları ve yönergeleri izleyen belirli kalıpları daha iyi anlamasına ve yürütmesine yardımcı olmak için yapay zekaya göre optimize edilmiş talimatlardır. Bu beceriler, Android becerileri GitHub deposunda yer alır.

Android becerilerini kullanarak aşağıdaki gibi görevleri gerçekleştirebilirsiniz:

  • XML'den Compose'a taşıma
  • AGP 9'a yükseltme
  • Navigation 3 gibi daha yeni çerçeveleri ayarlama
  • Uygulamanızın kullanıcı arayüzünü uçtan uca hale getirerek modernleştirme
  • R8 yapılandırmanızı denetleyerek performansı artırma

Android becerilerini kullanarak LLM'lerin, Android'e özgü iş akışlarıyla ilgili daha güncel bilgiler ve bağlamlarla desteklenmesine yardımcı olabilirsiniz.

Android becerileri, agent skills açık standardına uygun olduğundan becerileri destekleyen tüm yapay zeka araçlarıyla uyumludur. Bu sayfada, Android Studio'da becerilerin nasıl kullanılacağı ve Android CLI'yı kullanarak istediğiniz aracı ve araç setini kullanmak için becerilerin nasıl yükleneceği açıklanmaktadır.

Android becerilerinin temel avantajları

Android becerileri, yüksek kaliteli Android kodunu daha verimli bir şekilde üretmek için aracılı iş akışınızı hızlandırmayı amaçlayan bir dizi önemli avantaj sunar:

  • Uzman bilgisiyle temellendirme: Aracılara daha fazla Android'e özgü bağlam sağlayarak onları isteğe bağlı olarak temellendirin ve varsayılan bilgilerini ve uzmanlıklarını normal model eğitim döngüsünün ötesine taşıyın.
  • Tekrarlanabilir iş akışları: Android geliştirmede çok adımlı görevlerin tutarlı bir şekilde gerçekleştirilmesini sağlamak için standart talimatlar sunun.
  • Kaynak paketleme: Ana SKILL.md talimatlarınızın yanı sıra komut dosyaları, şablonlar veya ek belgeler ekleyin. Böylece, istem için dosyaları manuel olarak eklemenize gerek kalmaz ve aracı, ihtiyacı olan her şeyi tek bir yerde bulabilir.
  • Paylaşılan uzmanlık: Ekibinizin Android geliştirme kalıplarını, birleşik erişim ve ortak çalışma için paylaşılan klasörlerde paketleyin.

Android becerilerini kullanma

Android becerileri, Android CLI'ye entegre edilmiştir ve istediğiniz temsilciyle kullanılabilir.

gemini_cli_skills_demo.gif

Android CLI

Android CLI'yı kullanarak Android becerisi yüklemenizi öneririz. Bu sayede, istediğiniz aracının becerilerini keşfetmek, indirmek ve yönetmek daha kolay olur.

Android Studio

Android becerileri GitHub deposundan beceri indirebilir ve Android Studio'da projenize aktarabilirsiniz.

Bir beceriyi etkinleştirme

Agent, görevinizle alakalı becerileri otomatik olarak etkinleştirir. Bir beceriyi kullanmak için temsilciden beceriyle ilgili bir görevi tamamlamasını isteyin. Örneğin, "Uygulamamın kullanıcı arayüzünü uçtan uca yap." Aracı, varsa beceriyi otomatik olarak bulup kullanmalıdır.

Android Studio'da, sohbet penceresine @skill-name yazarak da becerileri doğrudan manuel olarak çağırabilirsiniz.

Kendi becerilerinizi oluşturma

Ekibinizin iş akışlarını paketleyip paylaşmak için kendi becerilerinizi oluşturabilirsiniz. Beceri koşulları hakkında daha fazla bilgi edinmek için aracı becerileri spesifikasyonuna bakın.

Temsilci, proje kökünüzde bulunan .skills/ veya .agent/skills/ dizinlerinden başlayarak becerileri arar. Özel beceri oluşturmak için aşağıdaki adımları uygulayın:

  1. Beceri için bir dizin oluşturun (örneğin, my-new-skill/).
  2. Yeni dizinde SKILL.md dosyası oluşturun (büyük/küçük harfe duyarlıdır).

Beceriler aşağıdaki kurallara uymalıdır:

  • Her beceri için bir dizin: Her beceri, SKILL.md dosyasını ve ek kaynakları içeren kendine özgü bir dizine sahip olmalıdır.
  • İç içe yerleştirme: Tüm beceriler, proje kökündeki .skills/ veya .agent/skills/ dizininde olmalıdır. Ancak daha iyi düzen için alt dizinler kullanabilirsiniz (örneğin, skills/ui-flows/<skill name>/SKILL.md veya skills/testing/<skill name>/SKILL.md).
  • Kapsam: Şu anda yalnızca projenin kod tabanında bulunan beceriler desteklenmektedir.

SKILL.md dosyası, meta veriler için YAML bloğu, talimatlar için ise standart Markdown kullanır.

  • name: Beceri için benzersiz bir tanımlayıcı. Bu, dizin adıyla eşleşmelidir.
  • description: Beceri ne işe yarar ve aracı ne zaman kullanmalıdır? Bu soruların net bir şekilde açıklanması gerekir.
  • Gövde: YAML bloğunun altındaki Markdown gövdesi, beceri etkinken aracının davranışını yönlendiren talimatları içerir.
---
name: skill-name
description: A description of what this skill does and when to use it.
metadata:
  author: example-org
  version: "1.0"
---

Skill content

Biçim kuralları

  • Ad: En fazla 64 karakter (yalnızca küçük harf, rakam ve tire).
  • Açıklama: En fazla 1.024 karakter.
  • Gövde içeriği: 10.000-20.000 karakter (~2.500-5.000 jeton) hedefleyin. Talimatlarınız bu sınırı aşıyorsa ayrıntılı belgeleri İsteğe bağlı beceri dizinleri bölümünde açıklandığı gibi bir kaynak dosyasına taşımayı düşünebilirsiniz.

İsteğe bağlı beceri dizinleri

SKILL.md dosyanızı kısa ve modüler tutmak için becerinizin klasöründeki aşağıdaki isteğe bağlı dizinlere ek kaynaklar ekleyebilirsiniz:

  • scripts/: Aracının çalıştırabileceği yürütülebilir kod (ör. Python veya Bash) içerir.
  • references/: Ayrıntılı teknik belgeler, API referansları veya alana özel kılavuzlar içerir.
  • assets/: Belge şablonları, kullanıcı arayüzü şemaları veya JSON şemaları gibi statik kaynakları içerir.

SKILL.md talimatlarınızda bu dosyalara referans verirken beceri kökünden göreli yollar kullanın. Örneğin: Run the script at scripts/cleanup.py.

Becerilerin işleyiş şekli

Beceriler, isteğe bağlı uzmanlığı temsil eder. Bu yapı, aracının modelin anlık bağlam penceresini karıştırmadan çok sayıda özel yeteneği korumasını sağlar.

Model, isteğinize ve becerinin açıklamasına göre beceriyi ne zaman kullanacağına bağımsız olarak karar verir. İlgili bir beceri tanımlandığında model, görevi tamamlamak için gereken talimatları ve kaynakları dinamik olarak çeker.