使用開放原始碼架構評估代理程式技能

1. 簡介

總覽

在本程式碼研究室中,您將瞭解如何使用 Inspect 開放原始碼架構,針對一組 Agent Skills 執行評估。您將使用 Docker 容器在本機執行這項評估。Gemini CLI 將做為軟體工程代理程式,透過「檢查 SWE」執行評估。

學習內容

使用自訂提示詞評估,針對一組代理程式技能執行評估。

課程內容

  • 如何使用開放原始碼架構,對 Skills 執行評估。
  • 如何撰寫提示,在問答評分工具中做為評估問題。

2. 事前準備

設定 Gemini API

如要使用 Gemini API,請在 Google AI Studio 建立 API 金鑰

選用:測試金鑰

如果您可以存取指令列,請在下列程式碼區塊的第一行加入金鑰,然後在終端機中運作執行,測試 API 金鑰。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. 找出要評估的技能

代理程式技能是標準化方式,可賦予 AI 代理程式新功能和專業知識。

本程式碼研究室會以 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 存放區的本機副本建立到名為 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 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 Line 格式的內建資料集讀取器

更新測試的服務專員技能

隨著 Agent Skills 存放區更新,您可以更新程式碼的本機副本,並根據新資訊重新執行評估。這有助於追蹤技能的長期成效。如果代理程式技能更新,請在本機副本中執行 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

這個「工作引數」會顯示在檢查檢視器中,方便您追蹤用於執行評估的引數。

評估不同技能

在本程式碼研究室中,我們使用 Google Agent Skills 存放區做為評估的技能。

您可以評估不同的技能存放區,但問題和答案也必須更新,才能相符。舉例來說,Flutter 代理程式技能不會提供 Cloud Run 特定問題的答案。

7. 恭喜

您已瞭解如何使用開放原始碼架構,對技能執行評估,以及如何編寫提示,做為問答評分工具中的評估問題。