ओपन सोर्स फ़्रेमवर्क का इस्तेमाल करके, एजेंट की क्षमताओं का आकलन करना

1. परिचय

खास जानकारी

इस कोडलैब में, आपको ओपन सोर्स फ़्रेमवर्क Inspect का इस्तेमाल करने का तरीका बताया जाएगा. इससे एजेंट की कुछ क्षमताओं का आकलन किया जा सकता है. आपको इस आकलन को अपने कंप्यूटर पर, Docker कंटेनर का इस्तेमाल करके चलाना होगा. Gemini CLI का इस्तेमाल, सॉफ़्टवेयर इंजीनियरिंग एजेंट के तौर पर किया जाएगा. इससे Inspect SWE के ज़रिए आकलन किया जा सकेगा

आपको क्या करना होगा

कस्टम प्रॉम्प्ट के आकलन का इस्तेमाल करके, एजेंट के कौशल के सेट का आकलन करें.

आपको ये सब सीखने को मिलेगा

  • ओपन सोर्स फ़्रेमवर्क का इस्तेमाल करके, स्किल के ख़िलाफ़ आकलन कैसे किया जाता है.
  • सवाल-जवाब के ग्रेडर में, आकलन के सवालों के तौर पर इस्तेमाल करने के लिए प्रॉम्प्ट कैसे लिखें.

2. शुरू करने से पहले

Gemini API सेट अप करना

Gemini API का इस्तेमाल करने के लिए, Google AI Studio में एपीआई पासकोड बनाएं.

ज़रूरी नहीं: कार के डिजिटल बटन की जांच करना

अगर आपके पास कमांड-लाइन का ऐक्सेस है, तो curl अपनी कुंजी को यहां दिए गए ब्लॉक की पहली लाइन में जोड़ें. इसके बाद, एपीआई कुंजी की जांच करने के लिए, इसे अपने टर्मिनल में चलाएं.

export GEMINI_API_KEY=Paste_your_API_key_here
curl "https://generativelanguage.googleapis.com/v1beta/models?key=${GEMINI_API_KEY}"

आपको JSON फ़ॉर्मैट में मॉडल की सूची दिखेगी. जैसे, models/gemini-3.1-pro-preview. इसका मतलब है कि यह काम कर गया.

सिस्टम डिपेंडेंसी इंस्टॉल करना

इस ट्यूटोरियल को पूरा करने के लिए, आपको अपनी मशीन पर यह सॉफ़्टवेयर इंस्टॉल करना होगा:

  • Docker
    • इसका इस्तेमाल, सैंडबॉक्स एनवायरमेंट में आकलन करने के लिए किया जाएगा
  • Python
    • यह वह प्रोग्रामिंग लैंग्वेज है जिसमें Inspect लिखा गया है
  • Node.js और NPM
    • यह वह प्रोग्रामिंग लैंग्वेज है जिसमें Gemini CLI लिखा गया है.
  • git
    • इसका इस्तेमाल, उन कौशल की रिपॉज़िटरी की कॉपी पाने के लिए किया जाएगा जिनका आकलन किया जा रहा है

3. आकलन के लिए ज़रूरी स्किल की पहचान करना

एजेंट की क्षमताएं, एआई एजेंट को नई सुविधाएं और विशेषज्ञता देने का एक स्टैंडर्ड तरीका है.

इस कोडलैब में, Google Agent Skills रिपॉज़िटरी (https://github.com/google/skills) का इस्तेमाल उदाहरण के तौर पर किया जाएगा. हालांकि, इसे एजेंट की क्षमताओं वाली किसी भी GitHub रिपॉज़िटरी में बदला जा सकता है.

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

Google Agent Skills रिपॉज़िटरी में, Cloud Run से जुड़ी एक स्किल मौजूद है. इसलिए, हम यह सवाल पूछ सकते हैं:

"मेरी लोकल मशीन पर मौजूद कोड को Cloud Run पर कैसे डिप्लॉय किया जाता है?"

इस सवाल का जवाब "gcloud run deploy" है. हम इस सवाल और जवाब के साथ-साथ, कौशल की GitHub रिपॉज़िटरी को जांच करने वाले व्यक्ति को उपलब्ध कराएंगे. इसके बाद, वह पुष्टि करेगा कि दिए गए एजेंट कौशल की मदद से सवाल का जवाब दिया जा सकता है या नहीं.

4. आकलन करना

इस चरण में, आपको एक उदाहरण की जांच करनी होगी.

Python डिपेंडेंसी इंस्टॉल करना

Python की ज़रूरी फ़ाइलें इंस्टॉल करने के लिए, अपनी लोकल मशीन पर यह कमांड चलाएं.

pip install inspect-ai inspect-swe google-genai

स्किल रिपॉज़िटरी की कॉपी बनाना

Google Agent Skills repository की लोकल कॉपी को google-skills नाम के फ़ोल्डर में बनाएं.

git clone https://github.com/google/skills.git --depth 1 google-skills

Python ऐप्लिकेशन की समीक्षा करना

आपको यह आकलन करना होगा:

from pathlib import Path
import os

from inspect_ai import Task, task
from inspect_ai.dataset import Sample
from inspect_ai.scorer import model_graded_qa
from inspect_swe import gemini_cli

if "GEMINI_API_KEY" not in os.environ:
  raise ValueError("Missing GEMINI_API_KEY. Please set GEMINI_API_KEY environment variable.")

@task
def skills_eval(agent_skills_folder, model="google/gemini-3.1-pro-preview"):

    # For the provided folder, find all folders containing skills
    skill_files = (Path.cwd() / agent_skills_folder).rglob("SKILL.md")
    all_skills = [str(s.parent) for s in skill_files]

    # Example question and answers
    questions = [
        Sample(
            input="How do I deploy a Cloud Run service?",
            target="gcloud run deploy"
        ),
        Sample(
            input="How can I connect to a Cloud SQL instance",
            target="cloud sql proxy"
        ),
        Sample(
            input="How can I list the roles available in IAM?",
            target="fortune | cowsay",
        ),
    ]

    return Task(
        dataset=questions,
        solver=gemini_cli(skills=all_skills),
        scorer=model_graded_qa(),
        sandbox="docker",
        model=model,
    )

इस फ़ाइल को skills-eval.py के तौर पर सेव करें.

इस कोड में एक डेकोरेटेड फ़ंक्शन skills_eval शामिल है. यह फ़ंक्शन इस लॉजिक का इस्तेमाल करता है:

  • दी गई डायरेक्ट्री का इस्तेमाल करके, उस रिपॉज़िटरी में मौजूद सभी स्किल फ़ाइलों की सूची बनाओ.
  • डेटासेट के तौर पर, सवालों और जवाबों के स्टैटिक सेट का इस्तेमाल करें
    • ध्यान दें: इनमें से एक सवाल का जवाब जान-बूझकर गलत दिया गया है.
  • इनका इस्तेमाल करके जांच करें:
    • समस्या हल करने वाले टूल के तौर पर Gemini CLI का इस्तेमाल करना
    • स्कोरर के तौर पर मॉडल ग्रेडर की क्वालिटी जांच
    • सैंडबॉक्स के तौर पर Docker
    • मॉडल के तौर पर Gemini Pro 3.1.

अगले चरण में, इस आकलन को चलाने के लिए 'जांच करें' सुविधा का इस्तेमाल किया जाएगा.

आकलन करना

मूल्यांकन करने के लिए, इस कमांड का इस्तेमाल करें:

inspect eval skills-eval.py -T agent_skills_folder=google-skills

पहली बार इस आकलन को चलाने पर, यह Docker कंटेनर डाउनलोड करेगा. साथ ही, Node.JS और Python की डिपेंडेंसी इंस्टॉल करेगा. इसमें कुछ समय लगेगा. यह समय, आपके नेटवर्क कनेक्शन पर निर्भर करेगा. अगर आपने फिर से आकलन किया, तो यह सेटअप कैश मेमोरी में सेव हो जाएगा.

डाउनलोड करने के बाद, Inspect टूल जांच करेगा. आपके टर्मिनल में एक इंटरैक्टिव इंटरफ़ेस दिखेगा. इससे, आकलन के दौरान इंटरैक्ट किया जा सकेगा.

चल रहे काम

जांच के दौरान, "सैंपल चल रहे हैं" पर क्लिक करके, मौजूदा प्रोग्रेस देखी जा सकती है या प्रोसेस को रद्द किया जा सकता है.

चल रहे सैंपल

अगले चरण में, आपको नतीजों की समीक्षा करनी होगी.

5. नतीजे देखना और उन्हें समझना

समीक्षा पूरी होने के बाद, समीक्षा के नतीजे देखे जा सकते हैं.

नतीजे देखें

इवैलुएशन ने .eval फ़ाइल को logs/ फ़ोल्डर में लिखा. यह एक बाइनरी फ़ाइल है. इसे सीधे तौर पर नहीं देखा जा सकता.

समीक्षा के नतीजे देखने के लिए, 'दर्शक की जांच करें' सुविधा का इस्तेमाल करें:

inspect view

इससे http://127.0.0.1:7575 पर एक वेब सर्वर बन जाएगा. नतीजे देखने के लिए, यह यूआरएल खोलें.

'जांच करें' व्यू

नतीजों को समझना

इस आकलन में मॉडल ग्रेडर का इस्तेमाल किया गया है. इसमें ये ग्रेड दिए गए हैं:

  • "C": पूरी तरह से
    • जवाब पूरी तरह से सही था
  • "P": कुछ हद तक
    • जवाब ज़्यादातर सही था
  • "I": अधूरी
    • जवाब सही नहीं था.

इस कोडलैब में, जान-बूझकर एक जवाब गलत दिया गया है. यह "I" (अधूरा) के तौर पर दिखता है. इससे सामान्य सटीकता 0.667 (तीन में से दो सही) हो जाती है.

किसी भी टैब पर क्लिक करके, इस्तेमाल किए गए तरीके, इस्तेमाल किए गए टोकन, और आकलन के बारे में अन्य जानकारी देखी जा सकती है.

6. इवैलुएशन की अवधि बढ़ाना

स्कोप को बढ़ाने के लिए, इस आकलन में कई बदलाव किए जा सकते हैं.

ज़्यादा सवाल उपलब्ध कराएं

एक से ज़्यादा स्किल वाली रिपॉज़िटरी के लिए, स्किल रिपॉज़िटरी के कॉन्टेंट के आधार पर ज़्यादा सवाल और जवाब जोड़ें. Inspect, इन डेटासेट के तौर पर फ़ाइलों का इस्तेमाल करने की सुविधा देता है. इसमें CSV, JSON, और JSON लाइन फ़ॉर्मैट के लिए, बिल्ट-इन डेटासेट रीडर शामिल हैं.

एजेंट की उन क्षमताओं को अपडेट करें जिनकी जांच की जा रही है

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

अलग-अलग स्कोरर का इस्तेमाल करना

इस कोडलैब में, हमने मॉडल के हिसाब से ग्रेड देने वाले स्कोरर का इस्तेमाल किया है. Inspect में कई बिल्ट-इन स्कोरर उपलब्ध होते हैं. साथ ही, इसमें अपना कस्टम स्कोरर बनाने का विकल्प भी होता है.

अलग-अलग सॉल्वर मॉडल इस्तेमाल करना

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

inspect eval skills-eval -T agent_skills_folder=google-skills \
  -T model=google/gemini-3.1-flash-live-preview

यह "टास्क आर्ग", Inspect Viewer में दिखेगा. इससे आपको यह ट्रैक करने में मदद मिलेगी कि आकलन को चलाने के लिए किन तर्कों का इस्तेमाल किया गया है.

अलग-अलग स्किल का आकलन करना

इस कोडलैब में, हमने Google Agent Skills रिपॉज़िटरी का इस्तेमाल किया है. इसमें मौजूद स्किल का आकलन किया जा रहा है.

अलग-अलग स्किल रिपॉज़िटरी का आकलन किया जा सकता है. हालांकि, सवालों और जवाबों को भी अपडेट करना होगा, ताकि वे मेल खाएं. उदाहरण के लिए, Flutter Agent Skills, Cloud Run से जुड़े सवालों के जवाब नहीं देगा.

7. बधाई हो

आपने यह सीखा कि ओपन सोर्स फ़्रेमवर्क का इस्तेमाल करके, Skills के ख़िलाफ़ आकलन कैसे किया जाता है. साथ ही, आपने यह भी सीखा कि सवाल-जवाब वाले ग्रेडर में, आकलन के सवालों के तौर पर इस्तेमाल करने के लिए प्रॉम्प्ट कैसे लिखे जाते हैं.