ارزیابی مهارت‌های عامل با استفاده از چارچوب‌های متن‌باز

۱. مقدمه

نمای کلی

در این آزمایشگاه کد، شما یاد خواهید گرفت که چگونه از چارچوب متن‌باز Inspect برای انجام ارزیابی‌ها در برابر مجموعه‌ای از مهارت‌های عامل (Agent Skills) استفاده کنید. شما این ارزیابی را با استفاده از کانتینرهای Docker روی دستگاه خود اجرا خواهید کرد. از Gemini CLI به عنوان عامل مهندسی نرم‌افزار برای انجام ارزیابی، از طریق Inspect SWE، استفاده خواهد شد.

کاری که انجام خواهید داد

با استفاده از ارزیابی‌های سفارشی، یک ارزیابی را در برابر مجموعه‌ای از مهارت‌های عامل اجرا کنید.

آنچه یاد می‌گیرید

  • نحوه اجرای ارزیابی مهارت‌ها با استفاده از چارچوب‌های متن‌باز.
  • چگونه سوالات انگیزشی بنویسیم تا به عنوان سوالات ارزیابی در کلاس‌های پرسش و پاسخ استفاده شوند.

۲. قبل از شروع

API Gemini را تنظیم کنید

برای استفاده از API جمینی، یک کلید API در Google AI Studio ایجاد کنید .

اختیاری: کلید خود را آزمایش کنید

If you have access to a command-line with curl add your key to the first line of the following block and then run it in your terminal to test the API key.

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، ببینید. این بدان معناست که برنامه کار کرده است.

نصب وابستگی‌های سیستم

برای تکمیل این آموزش، باید نرم‌افزارهای زیر را روی دستگاه خود نصب کنید:

  • داکر
    • این برای اجرای ارزیابی در محیط سندباکس استفاده خواهد شد.
  • پایتون
    • این زبان برنامه‌نویسی است که Inspect با آن نوشته شده است.
  • Node.js و NPM
    • این زبان برنامه‌نویسی است که Gemini CLI با آن نوشته شده است.
  • گیت
    • این برای دریافت یک کپی از مخزن مهارت‌های مورد ارزیابی استفاده خواهد شد.

۳. مهارت‌های لازم برای ارزیابی را مشخص کنید

مهارت‌های عامل ، روشی استاندارد برای اعطای قابلیت‌ها و تخصص‌های جدید به عامل‌های هوش مصنوعی است.

این آزمایشگاه کد از مخزن مهارت‌های عامل گوگل ( https://github.com/google/skills ) به عنوان نمونه استفاده خواهد کرد، اما شما می‌توانید این را به هر مخزن گیت‌هاب که شامل مهارت‌های عامل است تغییر دهید.

بر اساس محتویات مخزن، ما از مجموعه‌ای از پرسش‌ها و پاسخ‌های سریع که می‌دانیم در مجموعه مهارت‌ها وجود دارند، استفاده خواهیم کرد. این پرسش‌ها و پاسخ‌ها توسط عامل مهندسی نرم‌افزار برای بررسی اینکه آیا مهارت‌های ارائه شده می‌توانند به سوال داده شده پاسخ دهند، استفاده خواهند شد.

مخزن مهارت‌های Google Agent شامل یک مهارت خاص برای Cloud Run است، بنابراین می‌توانیم سوال زیر را بپرسیم:

«چگونه می‌توان با توجه به کدی که روی دستگاه محلی من داده شده، یک سرویس را روی Cloud Run مستقر کرد؟»

پاسخ این سوال «gcloud run deploy» است. ما این پرسش و پاسخ و همچنین مخزن مهارت‌های GitHub را در اختیار ارزیاب قرار می‌دهیم تا تأیید شود که آیا مهارت‌های ارائه شده توسط عامل می‌تواند به سوال پاسخ دهد یا خیر.

۴. ارزیابی را اجرا کنید

در این مرحله، یک ارزیابی نمونه اجرا خواهید کرد.

نصب وابستگی‌های پایتون

روی دستگاه محلی خود، دستور زیر را برای نصب وابستگی‌های پایتون اجرا کنید.

pip install inspect-ai inspect-swe google-genai

یک کپی از مخزن مهارت‌ها ایجاد کنید

یک کپی محلی از مخزن مهارت‌های Google Agent در پوشه‌ای به نام google-skills ایجاد کنید.

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

بررسی برنامه پایتون

ارزیابی که شما اجرا خواهید کرد به شرح زیر است:

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 به عنوان حل‌کننده
    • تضمین کیفیت گریدر مدل به عنوان امتیازدهنده
    • داکر به عنوان یک سندباکس
    • مدل Gemini Pro 3.1 است.

در مرحله بعد، از Inspect برای اجرای این ارزیابی استفاده خواهید کرد.

ارزیابی را اجرا کنید

برای اجرای ارزیابی، از دستور زیر استفاده کنید:

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

اولین باری که این ارزیابی اجرا می‌شود، کانتینرهای داکر را دانلود می‌کند، وابستگی‌های Node.JS و پایتون را نصب می‌کند که بسته به اتصال شبکه شما، تکمیل آن مدتی طول می‌کشد. اگر دوباره ارزیابی را اجرا کنید، این تنظیمات ذخیره خواهد شد.

پس از دانلود، Inspect ارزیابی را انجام می‌دهد. یک رابط تعاملی در ترمینال شما ظاهر می‌شود که به شما امکان می‌دهد با پیشرفت ارزیابی تعامل داشته باشید.

وظایف در حال اجرا

در حین ارزیابی، می‌توانید روی «نمونه‌های در حال اجرا» کلیک کنید تا پیشرفت فعلی را مشاهده کنید یا فرآیند را لغو کنید.

نمونه‌های در حال اجرا

در مرحله بعد، نتایج را بررسی خواهید کرد.

۵. نتایج را مشاهده و تفسیر کنید

پس از اتمام ارزیابی، می‌توانید نتایج ارزیابی را مشاهده کنید.

مشاهده نتایج

ارزیابی، یک فایل .eval را در پوشه logs/ نوشت. این یک فایل باینری است و مستقیماً قابل مشاهده نیست.

برای مشاهده نتایج ارزیابی، از Inspect Viewer استفاده کنید:

inspect view

این دستور یک وب سرور در آدرس http://127.0.0.1:7575 ایجاد می‌کند. برای مشاهده نتایج، این URL را باز کنید.

نمای بازرسی

نتایج را تفسیر کنید

این ارزیابی با استفاده از یک مدل درجه‌بندی انجام شد که در آن نمرات زیر داده می‌شود:

  • «ج»: کامل
    • جواب کاملا درست بود
  • "پ": جزئی
    • جواب اکثرا درست بود
  • «من»: ناقص
    • جواب درست نبود.

در این کدلب، یک پاسخ عمداً نادرست وجود دارد که به صورت «I» (ناقص) ظاهر می‌شود و دقت کلی را به ۰.۶۶۷ کاهش می‌دهد (دو از سه پاسخ صحیح).

شما می‌توانید با کلیک روی هر یک از تب‌ها، اطلاعات بیشتری در مورد روش انجام شده، توکن‌های استفاده شده و سایر اطلاعات مربوط به ارزیابی را مشاهده کنید.

۶. ارزیابی را گسترش دهید

برای گسترش دامنه، می‌توانید تعدادی تغییر در این ارزیابی ایجاد کنید.

سوالات بیشتری ارائه دهید

برای مخازنی با چندین مهارت، سعی کنید سوالات و پاسخ‌های بیشتری را بر اساس محتوای مخزن مهارت‌ها اضافه کنید. Inspect از استفاده از فایل‌ها به عنوان این مجموعه داده‌ها، از جمله خواننده‌های مجموعه داده‌های داخلی برای فرمت‌های CSV، JSON و JSON Line پشتیبانی می‌کند.

مهارت‌های عامل مورد آزمایش را به‌روزرسانی کنید

همزمان با به‌روزرسانی مخزن‌های مهارت‌های عامل، می‌توانید نسخه محلی کد خود را به‌روزرسانی کرده و ارزیابی را بر اساس اطلاعات جدید دوباره اجرا کنید. این می‌تواند به شما کمک کند تا نحوه عملکرد مهارت‌ها را در طول زمان پیگیری کنید. اگر یک مهارت عامل به‌روزرسانی شد، دستور 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 ظاهر می‌شود و به شما امکان می‌دهد آرگومان‌های استفاده شده برای اجرای ارزیابی را پیگیری کنید.

ارزیابی مهارت‌های مختلف

در این آزمایشگاه کد، ما از مخزن مهارت‌های عامل گوگل به عنوان مهارت‌های مورد ارزیابی استفاده کردیم.

شما می‌توانید مخازن مهارت‌های مختلف را ارزیابی کنید، اما سوالات و پاسخ‌ها نیز باید به‌روزرسانی شوند تا با هم مطابقت داشته باشند. برای مثال، مهارت‌های Flutter Agent به سوالات خاص Cloud Run پاسخ نمی‌دهد.

۷. تبریک

شما یاد گرفتید که چگونه با استفاده از چارچوب‌های متن‌باز، ارزیابی مهارت‌ها را انجام دهید، و چگونه سوالاتی بنویسید که به عنوان سوالات ارزیابی در آزمون‌های پرسش و پاسخ استفاده شوند.