社群

Inside Android Skills - Built for deprecation

4 分鐘讀物
查看 Jose Alcérreca 的個人資料
Jose Alcérreca 開發人員關係工程師

我們在 4 月推出官方 Android 技能 ,獲得的迴響遠超預期。在這篇網誌文章中,我將回應一些收到的意見回饋,並說明這項專案背後的理念和方法。希望這也能幫助你瞭解安裝及使用技能時的幕後運作,進而更妥善地運用代幣和自己的時間。

為什麼官方技能這麼少?

目前,只有在最先進 (SOTA) 模型中存在可驗證的知識落差時,我們才會考慮新增技能。簡單來說,您不必教導模型已知的知識。(不過有幾個例外,請繼續閱讀!)

目前我們已發布約 20 項官方技能,並刻意鎖定高度特定、快速變動的領域,這些領域是標準模型尚未完全掌握的,例如 AGP 9、Navigation 3、進階 Camera API 和 Perfetto SQL。

那核心、更一般的技能呢?每安裝一項技能,就會在您啟動的每項工作中,將 100 到 200 個權杖注入基準脈絡。如果該技能實際啟用,計數可能會快速跳到數千。在大多數情況下,囤積基本技能既會適得其反,又會耗費大量成本。在安裝編寫基本 Kotlin 或 Compose 的技能前,請先考量所選 LLM 是否真的需要這項技能,或是否已充分瞭解這些主題。

評估技能

每項技能在發布前,都會經過全面的評估,確保能提供明確價值。技能啟用時,這些評估應會通過,否則會失敗。評估之於技能,就像整合測試之於程式碼。

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 應用程式是否正確導入水平翻頁元素

我們至少會在 Android Studio 中使用最新的 Gemini Flash 模型測試技能。視技能而定,我們也會確保與其他模型 (例如 Gemini Pro) 和其他代理 (例如 Antigravity) 以及第三方系統相容。

所有評估作業都會存取知識庫,因此如果資訊在說明文件中,且模型決定搜尋該資訊,我們就不會發布相關技能。

使用 Android 知識庫 (Android Studio 或 Android CLI)

如果您開發 Android 應用程式,請一律使用 Android 知識庫存取官方說明文件。如果您在 Android Studio 中使用代理程式,該代理程式已可做為工具使用,但如果您使用其他代理程式,請安裝 Android CLI。其中包含 docs 指令,可讓代理存取 Android 官方說明文件。比起安裝數百項技能,使用單一工具更有效率。

如果模型過於自信,而您希望它更常參考說明文件,常見的做法是在 AGENTS.md 檔案或同等檔案中,加入「處理 Android API 時,一律參考官方 Android 說明文件」。當然,您也可以在提示中要求代理直接查看文件,強制執行這項操作。

為什麼提取要求已停用?

我們的評估架構仰賴無法開放原始碼的內部基礎架構,因此無法直接接受新技能的提取要求。如果沒有這個基礎架構,我們就無法重新評估傳入的提取要求變更。不過,我們會主動監控社群意見回饋。如要回報錯誤、建議最佳化做法,或要求新的官方技能,請提交問題!

何時適合使用核心或基本技能?

雖然頂尖模型通常不需要基本技能,但在某些情況下,啟用核心或社群建構的技能可帶來實質價值。例如:

  • 提示詞不夠明確:技能會放大您的意圖。如果您給予「為這個畫面新增動畫」這類籠統的提示,特定的 Compose 動畫技能可以啟發模型,引導模型採用現代 API 或螢幕截圖測試模式,否則模型可能不會考慮這些做法。
  • 想使用較小、較便宜的模型:頂尖 LLM 的費用高昂。如果您將例行工作交給 Gemma 4 等較小的開放權重模型,啟用基本技能可填補較小參數遺漏的知識落差。
  • 重構或審查舊版程式碼:模型擅長生成可運作的程式碼,但在編輯舊版程式碼集時,往往會優先保持與周圍舊版模式的一致性,而不是以現代化的準確度重寫。具備核心技能的專用審查代理,可協助您改掉這個習慣。
  • 偏離常規:LLM 偏好標準的「Google 方式」建構 Android 應用程式。如果團隊使用高度自訂的檢視層架構,模型將難以保持一致。明確描述架構的自訂技能,能發揮很大的作用。

哪裡可以找到核心技能?

Android 社群會為你提供支援。Chris Banes 提供了一系列完整的 Compose 和 Kotlin 技能,Ivan Morgillo 發布了稽核 Compose 專案的技能,Jaewoong Eum 則建立了測試和效能兩項技能。

請務必從信譽良好的來源下載技能!我個人不會信任含有數十或數百個 Android 技能的存放區,因為這些技能可能是由 AI 生成且未經測試,甚至可能含有惡意或偏頗的指令。此外,請勿盲目安裝一般軟體工程技能,因為許多技能都是專為網頁開發而設計。

目標:淘汰

Karpathy 曾說過:「現在的技能將成為未來的模型。」隨著頂尖模型不斷進步,我們預期技能會過時,尤其是圍繞新 API 建構的技能。為了判斷何時該淘汰模型,我們會在推出新模型時進行評估。如果通過,我們會保留幾個月,直到大多數使用者都轉換為止。

作者:
繼續閱讀