1. บทนำ
ภาพรวม
ใน Codelab นี้ คุณจะได้เรียนรู้วิธีใช้เฟรมเวิร์กโอเพนซอร์ส Inspect เพื่อทำการประเมินชุดทักษะของ Agent โดยจะทำการประเมินนี้ในเครื่องของคุณเองโดยใช้คอนเทนเนอร์ Docker และจะใช้ Gemini CLI เป็น Agent วิศวกรรมซอฟต์แวร์เพื่อทำการประเมินผ่าน Inspect SWE
สิ่งที่คุณจะได้ทำ
ทำการประเมินชุดทักษะของ Agent โดยใช้การประเมินพรอมต์ที่กำหนดเอง
สิ่งที่คุณจะได้เรียนรู้
- วิธีทำการประเมินทักษะโดยใช้เฟรมเวิร์กโอเพนซอร์ส
- วิธีเขียนพรอมต์เพื่อใช้เป็นคำถามในการประเมินในเครื่องมือให้คะแนนคำถามและคำตอบ
2. ก่อนเริ่มต้น
ตั้งค่า Gemini API
หากต้องการใช้ Gemini API ให้ สร้างคีย์ API ใน Google AI Studio
ไม่บังคับ: ทดสอบคีย์
หากคุณมีสิทธิ์เข้าถึงบรรทัดคำสั่งด้วย curl ให้เพิ่มคีย์ในบรรทัดแรกของบล็อกต่อไปนี้ แล้วดำเนินการในเทอร์มินัลเพื่อทดสอบคีย์ API
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. ระบุทักษะที่จะประเมิน
ทักษะของ Agent เป็นวิธีที่ได้มาตรฐานในการมอบความสามารถและความเชี่ยวชาญใหม่ๆ ให้กับ Agent AI
Codelab นี้จะใช้ที่เก็บทักษะของ Google Agent (https://github.com/google/skills) เป็นตัวอย่าง แต่คุณสามารถเปลี่ยนเป็นที่เก็บ GitHub ใดก็ได้ที่มีทักษะของ Agent
เราจะใช้ชุดคำถามและคำตอบของพรอมต์ตามเนื้อหาของที่เก็บ ซึ่งเรารู้ว่าอยู่ในชุดทักษะ Agent วิศวกรรมซอฟต์แวร์จะใช้คำถามและคำตอบเหล่านี้เพื่อตรวจสอบว่าทักษะที่ให้มาสามารถตอบคำถามที่กำหนดได้หรือไม่
ที่เก็บทักษะของ Google Agent มีทักษะเฉพาะสำหรับ Cloud Run ดังนั้นเราจึงสามารถถามคำถามต่อไปนี้ได้
"คุณทำให้บริการใช้งานได้ใน Cloud Run อย่างไรเมื่อมีโค้ดอยู่ในเครื่องของฉัน"
คำตอบสำหรับคำถามนี้คือ "gcloud run deploy". เราจะให้คำถามและคำตอบนี้ รวมถึงที่เก็บทักษะ GitHub แก่ผู้ประเมิน ซึ่งจะยืนยันว่าทักษะของ Agent ที่ให้มาสามารถตอบคำถามได้หรือไม่
4. ทำการประเมิน
ในขั้นตอนนี้ คุณจะได้ทำการประเมินตัวอย่าง
ติดตั้งการอ้างอิงของ Python
เรียกใช้คำสั่งต่อไปนี้ในเครื่องเพื่อติดตั้งการอ้างอิงของ Python
pip install inspect-ai inspect-swe google-genai
สร้างสำเนาที่เก็บทักษะ
สร้างสำเนาที่เก็บทักษะของ Google Agent ในเครื่องลงในโฟลเดอร์ชื่อ 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 เป็นตัวแก้
- Model Grader QA เป็นผู้ให้คะแนน
- 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": ไม่สมบูรณ์
- คำตอบไม่ถูกต้อง
ใน Codelab นี้ มีคำตอบที่จงใจให้ผิด 1 ข้อ ซึ่งจะปรากฏเป็น "I" (ไม่สมบูรณ์) และทำให้ความแม่นยำโดยรวมลดลงเหลือ 0.667 (ถูกต้อง 2 ใน 3 ข้อ)
คุณดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการที่ใช้ โทเค็นที่ใช้ และข้อมูลอื่นๆ เกี่ยวกับการประเมินได้โดยคลิกแท็บใดก็ได้
6. ขยายการประเมิน
คุณสามารถทำการเปลี่ยนแปลงการประเมินนี้ได้หลายอย่างเพื่อขยายขอบเขต
ระบุคำถามเพิ่มเติม
สำหรับที่เก็บที่มีทักษะหลายอย่าง ให้ลองเพิ่มคำถามและคำตอบตามเนื้อหาของที่เก็บทักษะ Inspect รองรับการใช้ไฟล์เป็นชุดข้อมูลเหล่านี้ รวมถึง โปรแกรมอ่านชุดข้อมูลในตัว สำหรับรูปแบบ CSV, JSON และ JSON Line
อัปเดตทักษะของ Agent ที่กำลังทดสอบ
เมื่อมีการอัปเดตที่เก็บทักษะของ Agent คุณสามารถอัปเดตสำเนาโค้ดในเครื่องและทำการประเมินข้อมูลใหม่ได้อีกครั้ง ซึ่งจะช่วยให้คุณติดตามประสิทธิภาพของทักษะเมื่อเวลาผ่านไป หากมีการอัปเดตทักษะของ Agent ให้เรียกใช้ git pull ในสำเนาในเครื่องเพื่ออัปเดตโค้ด แล้วทำการประเมินอีกครั้งเพื่อดูการเปลี่ยนแปลง
ใช้ผู้ให้คะแนนคนอื่น
ใน Codelab นี้ เราใช้ผู้ให้คะแนน Model Graded Inspect มีผู้ให้คะแนนในตัวหลายราย และยังมีตัวเลือกในการสร้างผู้ให้คะแนนที่กำหนดเองด้วย
ใช้โมเดลตัวแก้แบบอื่น
ใน Codelab นี้ เราใช้ 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 ซึ่งช่วยให้คุณติดตามอาร์กิวเมนต์ที่ใช้ในการทำการประเมินได้
ประเมินทักษะต่างๆ
ใน Codelab นี้ เราใช้ที่เก็บทักษะของ Google Agent เป็นทักษะที่จะประเมิน
คุณสามารถประเมินที่เก็บทักษะต่างๆ ได้ แต่จะต้องอัปเดตคำถามและคำตอบให้ตรงกันด้วย เช่น ทักษะของ Flutter Agent จะไม่ให้คำตอบสำหรับคำถามเฉพาะของ Cloud Run
7. ขอแสดงความยินดี
คุณได้เรียนรู้วิธีทำการประเมินทักษะโดยใช้เฟรมเวิร์กโอเพนซอร์ส และวิธีเขียนพรอมต์เพื่อใช้เป็นคำถามในการประเมินในเครื่องมือให้คะแนนคำถามและคำตอบ