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 (https://github.com/google/skills) كمثال، ولكن يمكنك تغيير ذلك إلى أي مستودع GitHub يحتوي على مهارات الوكلاء.
استنادًا إلى محتويات المستودع، سنستخدم سلسلة من أسئلة الطلبات والإجابات التي نعلم أنّها مضمّنة في مجموعة المهارات. سيستخدم وكيل هندسة البرامج هذه الأسئلة والأجوبة للتحقّق مما إذا كانت المهارات المقدَّمة يمكنها الإجابة عن السؤال المحدّد.
يحتوي مستودع مهارات وكلاء Google على مهارة خاصة بـ Cloud Run، لذا يمكننا طرح السؤال التالي:
"كيف يمكنني نشر خدمة على Cloud Run باستخدام رمز على جهازي المحلي؟"
الإجابة عن هذا السؤال هي "gcloud run deploy". سنقدّم هذا السؤال والإجابة، بالإضافة إلى مستودع المهارات على GitHub، إلى أداة التقييم التي ستؤكّد بعد ذلك ما إذا كان بإمكان مهارات الوكلاء المقدَّمة الإجابة عن السؤال.
4. إجراء عملية التقييم
في هذه الخطوة، ستُجري عملية تقييم مثال.
تثبيت تبعيات Python
على جهازك المحلي، شغِّل الأمر التالي لتثبيت تبعيات Python.
pip install inspect-ai inspect-swe google-genai
إنشاء نسخة من مستودع المهارات
أنشِئ نسخة محلية من مستودع مهارات وكلاء Google في مجلد باسم 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 لإجراء عملية التقييم هذه.
إجراء عملية التقييم
لإجراء عملية التقييم، استخدِم الأمر التالي:
inspect eval skills-eval.py -T agent_skills_folder=google-skills
في المرة الأولى التي يتم فيها إجراء عملية التقييم هذه، سيتم تنزيل حاويات Docker وتثبيت تبعيات Node.JS وPython، وسيستغرق ذلك بعض الوقت، حسب اتصالك بالشبكة. إذا أجريت عملية التقييم مرة أخرى، سيتم تخزين عملية الإعداد هذه مؤقتًا.
بعد التنزيل، سيُجري Inspect عملية التقييم. ستظهر واجهة تفاعلية في المحطة الطرفية، ما يتيح لك التفاعل أثناء تقدّم عملية التقييم.

أثناء التقييم، يمكنك النقر على "Running Samples" (تشغيل النماذج) للاطّلاع على مستوى التقدّم الحالي أو لإلغاء العملية.

في الخطوة التالية، ستراجع النتائج.
5. عرض النتائج وتفسيرها
بعد اكتمال عملية التقييم، يمكنك عرض نتائجها.
عرض النتائج
كتبت عملية التقييم ملف .eval في مجلد logs/. هذا الملف ثنائي ولا يمكن عرضه مباشرةً.
لعرض نتائج عملية التقييم، استخدِم أداة Inspect Viewer:
inspect view
سيؤدي ذلك إلى إنشاء خادم ويب على http://127.0.0.1:7575. افتح عنوان URL هذا لعرض النتائج.

تفسير النتائج
استخدمت عملية التقييم هذه أداة Model Grader، حيث يتم منح الدرجات التالية:
- "C": كاملة
- كانت الإجابة صحيحة تمامًا
- "P": جزئية
- كانت الإجابة صحيحة في معظمها
- "I": غير مكتملة
- لم تكن الإجابة صحيحة.
في هذا الدرس التطبيقي حول الترميز، هناك إجابة واحدة خاطئة عن قصد، تظهر على أنّها "I" (غير مكتملة)، وتؤدي إلى خفض الدقة العامة إلى 0.667 (إجابتان صحيحتان من أصل ثلاث).
يمكنك عرض معلومات إضافية عن الطريقة المتّبعة والرموز المستخدَمة والمعلومات الأخرى عن عملية التقييم من خلال النقر على أي من علامات التبويب.
6. توسيع عملية التقييم
هناك عدد من التغييرات التي يمكنك إجراؤها على عملية التقييم هذه لتوسيع نطاقها.
تقديم المزيد من الأسئلة
بالنسبة إلى المستودعات التي تحتوي على مهارات متعددة، حاوِل إضافة المزيد من الأسئلة والأجوبة استنادًا إلى محتويات مستودع المهارات. يتيح Inspect استخدام الملفات كمجموعات البيانات هذه، بما في ذلك أدوات قراءة مجموعات البيانات المضمّنة لتنسيقات CSV وJSON وJSON Line.
تعديل مهارات الوكلاء التي يتم اختبارها
عند تعديل مستودعات مهارات الوكلاء، يمكنك تعديل نسختك المحلية من الرمز وإعادة إجراء عملية التقييم استنادًا إلى المعلومات الجديدة. يمكن أن يساعدك ذلك في تتبُّع أداء المهارات بمرور الوقت. إذا تم تعديل إحدى مهارات الوكلاء، شغِّل الأمر git pull في نسختك المحلية لتعديل الرمز، ثم أعِد إجراء عملية التقييم للاطّلاع على التغييرات.
استخدام أدوات تسجيل مختلفة
في هذا الدرس التطبيقي حول الترميز، استخدمنا أداة Model Graded لتسجيل النتائج. يوفّر 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
ستظهر "task arg" في أداة Inspect Viewer، ما يتيح لك تتبُّع الوسيطات المستخدَمة لإجراء عملية التقييم.
تقييم مهارات مختلفة
في هذا الدرس التطبيقي حول الترميز، استخدمنا مستودع مهارات وكلاء Google كمهارات يتم تقييمها.
يمكنك تقييم مستودعات مهارات مختلفة، ولكن يجب أيضًا تعديل الأسئلة والأجوبة لتتطابق معها. على سبيل المثال، لن تقدّم مهارات وكلاء Flutter الإجابات عن الأسئلة الخاصة بـ Cloud Run.
7. تهانينا
لقد تعلّمت كيفية إجراء عملية تقييم للمهارات باستخدام أُطر العمل مفتوحة المصدر، وكيفية كتابة الطلبات لاستخدامها كأسئلة تقييم في أدوات وضع الدرجات للأسئلة والأجوبة.