कम्यूनिटी

Android की स्किल के बारे में जानकारी - इन्हें बंद करने के लिए बनाया गया है

पढ़ने में 4 मिनट लगेंगे
होज़े अल्सेरेका की प्रोफ़ाइल देखना
Jose Alcérreca डेवलपर रिलेशंस इंजीनियर

हमने अप्रैल में आधिकारिक तौर पर Android की स्किल  लॉन्च की थीं. हमें उम्मीद से ज़्यादा अच्छा रिस्पॉन्स मिला. इस ब्लॉग पोस्ट में, मैं हमें मिले कुछ सुझाव/शिकायतों/राय के बारे में बात करूंगा. साथ ही, इस प्रोजेक्ट के पीछे की फ़िलॉसफ़ी और काम करने के तरीके के बारे में भी बताऊंगा. उम्मीद है कि इससे आपको यह समझने में भी मदद मिलेगी कि स्किल इंस्टॉल और इस्तेमाल करने पर, पर्दे के पीछे क्या होता है. इससे आपको टोकन और अपने समय का बेहतर इस्तेमाल करने में मदद मिलेगी.

आधिकारिक स्किल इतनी कम क्यों हैं?

फ़िलहाल, हम नई स्किल सिर्फ़ तब जोड़ते हैं, जब स्टेट-ऑफ़-द-आर्ट (एसओटीए) मॉडल में, पुष्टि की जा सकने वाली जानकारी की कमी होती है. सीधे शब्दों में कहें, तो आपको मॉडल को वह जानकारी देने की ज़रूरत नहीं है जो उसे पहले से पता है. (हालांकि, इसके कुछ अपवाद भी हैं. ज़्यादा जानने के लिए आगे पढ़ें!)

हमने अब तक करीब 20 आधिकारिक स्किल लॉन्च की हैं. ये स्किल, खास तौर पर उन तेज़ी से बदलते क्षेत्रों को टारगेट करती हैं जिनमें स्टैंडर्ड मॉडल पूरी तरह से काम नहीं करते. जैसे, AGP 9, Navigation 3, ऐडवांस कैमरा एपीआई, और Perfetto SQL.

कोर और ज़्यादा सामान्य स्किल के बारे में क्या? इंस्टॉल की गई हर स्किल, शुरू किए जाने वाले हर टास्क के बेसलाइन कॉन्टेक्स्ट में 100 से 200 टोकन जोड़ती है. अगर वह स्किल वाकई में चालू होती है, तो यह संख्या तेज़ी से हज़ारों में पहुंच सकती है. ज़्यादातर मामलों में, बेसिक स्किल को इकट्ठा करना, नुकसानदायक और महंगा दोनों साबित हो सकता है. बेसिक Kotlin या Compose लिखने के लिए, कोई स्किल इंस्टॉल करने से पहले, यह देखें कि आपके चुने गए एलएलएम को वाकई में इसकी ज़रूरत है या नहीं. साथ ही, यह भी देखें कि उसे इन विषयों के बारे में पहले से ही अच्छी तरह पता है या नहीं.

स्किल का आकलन करना

हर स्किल को लॉन्च करने से पहले, आकलन के लिए कई तरह के टेस्ट किए जाते हैं. इनसे यह साबित होता है कि स्किल से साफ़ तौर पर फ़ायदा मिलता है. जब स्किल चालू हो, तब ये टेस्ट पास होने चाहिए. वहीं, जब स्किल बंद हो, तब ये टेस्ट फ़ेल होने चाहिए. आकलन, स्किल के लिए वही काम करते हैं जो इंटिग्रेशन टेस्ट, कोड के लिए करते हैं. 

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 OS के लिए बने ऐप्लिकेशन में, हॉरिज़ॉन्टल पेजर को सही तरीके से लागू किया गया है या नहीं

हम कम से कम, Android Studio में Gemini Flash के नए मॉडल का इस्तेमाल करके, स्किल की जांच करते हैं. स्किल के हिसाब से, हम यह भी पक्का करते हैं कि वह Gemini Pro और Antigravity जैसे अन्य एजेंट के साथ-साथ, तीसरे पक्ष के सिस्टम के साथ भी काम करे.

आकलन के सभी टेस्ट, नॉलेज बेस के ऐक्सेस के साथ किए जाते हैं. इसलिए, अगर जानकारी दस्तावेज़ में मौजूद है और मॉडल उसे खोजने का फ़ैसला करते हैं, तो हम उसके लिए कोई स्किल पब्लिश नहीं करते.

Android नॉलेज बेस का इस्तेमाल करना (Android Studio या Android CLI)

अगर Android ऐप्लिकेशन डेवलप किए जाते हैं, तो आधिकारिक दस्तावेज़ ऐक्सेस करने के लिए, हमेशा Android नॉलेज बेस का इस्तेमाल करना चाहिए. अगर Android Studio में एजेंट का इस्तेमाल किया जाता है, तो यह टूल के तौर पर पहले से उपलब्ध होता है. हालांकि, अगर किसी दूसरे एजेंट का इस्तेमाल किया जाता है, तो Android CLI इंस्टॉल करें. इसमें docs कमांड शामिल होती है. इस कमांड की मदद से, आपके एजेंट को Android के आधिकारिक दस्तावेज़ का ऐक्सेस मिलता है. सैकड़ों स्किल इंस्टॉल करने के बजाय, एक टूल का इस्तेमाल करना ज़्यादा बेहतर है.

अगर आपका मॉडल ज़्यादा आत्मविश्वास दिखा रहा है और आपको चाहिए कि वह दस्तावेज़ से ज़्यादा बार सलाह ले, तो उसे ऐसा करने के लिए प्रेरित करने का एक सामान्य तरीका यह है कि AGENTS.md फ़ाइल या इसके जैसी किसी अन्य फ़ाइल में, "Android एपीआई के साथ काम करते समय, हमेशा Android के आधिकारिक दस्तावेज़ से सलाह लें" जोड़ें. ज़ाहिर है कि प्रॉम्प्ट में सीधे दस्तावेज़ की जांच करने के लिए कहकर, इसे लागू भी किया जा सकता है.

पुल अनुरोधों की सुविधा क्यों बंद है?

ऐसा इसलिए है, क्योंकि हमारे आकलन का फ़्रेमवर्क, इंटरनल इन्फ़्रास्ट्रक्चर पर निर्भर करता है. इसे ओपन सोर्स नहीं किया जा सकता. इसलिए, हम नई स्किल के लिए सीधे पुल अनुरोध स्वीकार नहीं कर सकते. इस इन्फ़्रास्ट्रक्चर के बिना, हमें आने वाले पीआर में किए गए बदलावों का फिर से आकलन करने का कोई तरीका नहीं मिलेगा. हालांकि, हम कम्यूनिटी के सुझाव/शिकायतों/राय पर नज़र रखते हैं. अगर आपको किसी गड़बड़ी की शिकायत करनी है, ऑप्टिमाइज़ेशन का सुझाव देना है या आधिकारिक तौर पर कोई नई स्किल जोड़ने का अनुरोध करना है, तो कृपया समस्या की शिकायत करें!

कोर या बेसिक स्किल कब काम की होती हैं?

आम तौर पर, एसओटीए मॉडल को बेसिक स्किल की ज़रूरत नहीं होती. हालांकि, कुछ ऐसे मामले होते हैं जिनमें कोर या कम्यूनिटी की बनाई गई स्किल से वाकई में फ़ायदा मिलता है. उदाहरण के लिए:

  • आपने अस्पष्ट प्रॉम्प्ट का इस्तेमाल किया है: स्किल, आपके इरादे को बेहतर तरीके से समझती हैं. अगर आपने "इस स्क्रीन में ऐनिमेशन जोड़ें" जैसा अस्पष्ट प्रॉम्प्ट दिया है, तो Compose के लिए बनी कोई खास ऐनिमेशन स्किल, मॉडल को बेहतर आइडिया दे सकती है. इससे मॉडल, आधुनिक एपीआई या स्क्रीनशॉट टेस्टिंग पैटर्न का इस्तेमाल कर सकता है. ऐसा हो सकता है कि मॉडल ने पहले इनका इस्तेमाल न किया हो.
  • आपको छोटे और सस्ते मॉडल का इस्तेमाल करना है: फ़्रंटियर एलएलएम महंगे होते हैं. अगर रूटीन के टास्क, Gemma 4 जैसे छोटे ओपन-वेट मॉडल को सौंपे जाते हैं, तो बेसिक स्किल चालू करने से, जानकारी की उन कमियों को पूरा किया जा सकता है जो छोटे पैरामीटर में होती हैं.
  • आपको पुराने कोड को फिर से फ़ैक्टर करना है या उसकी समीक्षा करनी है: मॉडल, काम करने वाला कोड जनरेट करने में माहिर होते हैं. हालांकि, पुराने कोडबेस में बदलाव करते समय, वे अक्सर आधुनिक सटीकता के साथ चीज़ों को फिर से लिखने के बजाय, आस-पास के पुराने पैटर्न के साथ बने रहने को प्राथमिकता देते हैं. कोर स्किल से लैस, समीक्षा करने वाला कोई खास एजेंट, इस आदत को तोड़ने में मदद कर सकता है.
  • आपने सामान्य तरीके से अलग काम किया है: एलएलएम को, Android ऐप्लिकेशन बनाने का स्टैंडर्ड "Google का तरीका" पसंद है. अगर आपकी टीम, व्यू-लेयर के लिए बहुत ज़्यादा कस्टमाइज़ किए गए आर्किटेक्चर का इस्तेमाल करती है, तो मॉडल को अलाइन रहने में मुश्किल होगी. आपके आर्किटेक्चर के बारे में साफ़ तौर पर बताने वाली कोई कस्टम स्किल, बहुत काम आ सकती है.

मुझे कोर स्किल कहां मिलेंगी?

Android कम्यूनिटी आपकी मदद के लिए हमेशा तैयार है. क्रिस बेन्स के पास Compose और Kotlin के लिए स्किल का एक कलेक्शन है. वहीं, इवान मॉर्गिलो ने Compose प्रोजेक्ट की ऑडिट करने वाली एक स्किल पब्लिश की है. इसके अलावा, जेवोंग यूम ने टेस्टिंग और परफ़ॉर्मेंस के लिए दो स्किल बनाई हैं. 

हमेशा भरोसेमंद सोर्स से ही स्किल डाउनलोड करें! मैं ऐसे रिपॉज़िटरी पर भरोसा नहीं करूंगा जिनमें Android की दर्जनों या सैकड़ों स्किल मौजूद हों. ऐसा इसलिए, क्योंकि हो सकता है कि ये स्किल, एआई से जनरेट की गई हों और इनकी जांच न की गई हो. साथ ही, इनमें नुकसान पहुंचाने वाले या पक्षपाती निर्देश भी हो सकते हैं. इसके अलावा, सॉफ़्टवेयर इंजीनियरिंग की सामान्य स्किल को बिना सोचे-समझे इंस्टॉल न करें. इनमें से कई स्किल, वेब डेवलपमेंट के लिए बनाई गई हैं.

लक्ष्य: बंद करना

कारपैथी के शब्दों में: आज की स्किल, कल के मॉडल में शामिल होंगी. एसओटीए मॉडल में लगातार सुधार हो रहा है. इसलिए, हमें उम्मीद है कि स्किल पुरानी हो जाएंगी. खास तौर पर, नई एपीआई के आधार पर बनाई गई स्किल. यह पता लगाने के लिए कि इन्हें कब बंद करना है, हम नए मॉडल लॉन्च होने पर, आकलन के लिए टेस्ट करते हैं. अगर ये टेस्ट पास हो जाते हैं, तो हम इन स्किल को कुछ महीनों तक चालू रखेंगे, ताकि ज़्यादातर उपयोगकर्ता नए मॉडल पर माइग्रेट हो सकें. 

इसे लिखा है:
आगे पढ़ें