1. Wprowadzenie
Przegląd
W tym ćwiczeniu w Codelabs dowiesz się, jak za pomocą platformy open source Inspect przeprowadzać oceny na podstawie zestawu umiejętności agenta. Przeprowadzisz tę ocenę na własnym komputerze za pomocą kontenerów Dockera. Do przeprowadzenia oceny użyjemy interfejsu wiersza poleceń Gemini jako agenta inżynierii oprogramowania za pomocą Inspect SWE.
Jakie zadania wykonasz
Przeprowadź ocenę na podstawie zestawu umiejętności agenta za pomocą niestandardowych ocen promptów.
Czego się nauczysz
- Jak przeprowadzić ocenę umiejętności za pomocą platform open source.
- Jak pisać prompty, które będą używane jako pytania w ocenach odpowiedzi.
2. Zanim zaczniesz
Konfigurowanie interfejsu Gemini API
Aby korzystać z interfejsu Gemini API, utwórz klucz API w Google AI Studio.
Opcjonalnie: przetestuj klucz
Jeśli masz dostęp do wiersza poleceń z curl, dodaj klucz do pierwszego wiersza tego bloku, a następnie uruchom go w terminalu, aby przetestować klucz API.
export GEMINI_API_KEY=Paste_your_API_key_here
curl "https://generativelanguage.googleapis.com/v1beta/models?key=${GEMINI_API_KEY}"
Powinna się wyświetlić lista modeli w formacie JSON, np. models/gemini-3.1-pro-preview. Oznacza to, że wszystko działa.
Instalowanie zależności systemowych
Aby ukończyć ten samouczek, musisz zainstalować na komputerze te programy:
- Docker
- Będzie używany do przeprowadzania oceny w środowisku piaskownicy.
- Python
- To język programowania, w którym napisano Inspect.
- Node.js i NPM
- To język programowania, w którym napisano interfejs wiersza poleceń Gemini.
- git
- Będzie używany do pobierania kopii ocenianego repozytorium umiejętności.
3. Określanie umiejętności do oceny
Umiejętności agenta to standardowy sposób na dodawanie nowych możliwości i wiedzy specjalistycznej do agentów AI.
W tym ćwiczeniu w Codelabs jako przykładu użyjemy repozytorium umiejętności agenta Google (https://github.com/google/skills), ale możesz je zmienić na dowolne repozytorium GitHub zawierające umiejętności agenta.
Na podstawie zawartości repozytorium użyjemy serii pytań i odpowiedzi, które znajdują się w zestawie umiejętności. Te pytania i odpowiedzi będą używane przez agenta inżynierii oprogramowania do sprawdzania, czy podane umiejętności mogą odpowiedzieć na zadane pytanie.
Repozytorium umiejętności agenta Google zawiera umiejętność dotyczącą Cloud Run, więc możemy zadać to pytanie:
„Jak wdrożyć usługę w Cloud Run, mając kod na komputerze lokalnym?”
Odpowiedź na to pytanie to „gcloud run deploy”. Przekażemy to pytanie i odpowiedź, a także repozytorium umiejętności na GitHubie, osobie oceniającej, która potwierdzi, czy agent może odpowiedzieć na to pytanie.
4. Przeprowadź ocenę
W tym kroku przeprowadzisz przykładową ocenę.
Instalowanie zależności Pythona
Aby zainstalować zależności Pythona, uruchom na komputerze lokalnym to polecenie.
pip install inspect-ai inspect-swe google-genai
Utwórz kopię repozytorium umiejętności
Utwórz lokalną kopię repozytorium umiejętności agenta Google w folderze o nazwie google-skills.
git clone https://github.com/google/skills.git --depth 1 google-skills
Sprawdź aplikację Pythona
Przeprowadzisz tę ocenę:
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,
)
Zapisz ten plik jako skills-eval.py.
Ten kod zawiera udekorowaną funkcję skills_eval, która korzysta z tej logiki:
- Pobierz podany katalog i utwórz listę wszystkich plików umiejętności w tym repozytorium.
- Użyj zestawu statycznych pytań i odpowiedzi jako zbioru danych.
- Uwaga: jedno z pytań zawiera celowo błędną odpowiedź.
- Uruchom ocenę za pomocą:
- interfejsu wiersza poleceń Gemini jako narzędzia do rozwiązywania problemów,
- Model Grader QA jako narzędzia do oceniania,
- Dockera jako piaskownicy,
- modelu Gemini Pro 3.1.
W następnym kroku użyjesz Inspect, aby przeprowadzić tę ocenę.
Przeprowadź ocenę
Aby przeprowadzić ocenę, użyj tego polecenia:
inspect eval skills-eval.py -T agent_skills_folder=google-skills
Przy pierwszym uruchomieniu tej oceny zostaną pobrane kontenery Dockera oraz zainstalowane zależności Node.JS i Pythona. W zależności od połączenia sieciowego może to potrwać. Jeśli ponownie uruchomisz ocenę, ta konfiguracja zostanie zapisana w pamięci podręcznej.
Po pobraniu Inspect przeprowadzi ocenę. W terminalu pojawi się interaktywny interfejs, który umożliwi Ci interakcję w trakcie oceny.

Podczas oceny możesz kliknąć „Running Samples” (Uruchamianie próbek), aby zobaczyć bieżący postęp lub anulować proces.

W następnym kroku sprawdzisz wyniki.
5. Wyświetlanie i interpretowanie wyników
Po zakończeniu oceny możesz wyświetlić jej wyniki.
Pokaż wyniki
Ocena zapisała plik .eval w folderze logs/. Jest to plik binarny, którego nie można bezpośrednio wyświetlić.
Aby wyświetlić wyniki oceny, użyj Inspect Viewer:
inspect view
Spowoduje to utworzenie serwera WWW pod adresem http://127.0.0.1:7575. Otwórz ten adres URL, aby wyświetlić wyniki.

Interpretowanie wyników
Ta ocena korzystała z Model Grader, w którym przyznawane są te oceny:
- „C”: Complete (Całkowicie)
- Odpowiedź była całkowicie prawidłowa.
- „P”: Partial (Częściowo)
- Odpowiedź była w większości prawidłowa.
- „I”: Incomplete (Niepełna)
- Odpowiedź była nieprawidłowa.
W tym ćwiczeniu w Codelabs jest jedna celowo nieprawidłowa odpowiedź, która jest oznaczona jako „I” (Niepełna) i obniża ogólną dokładność do 0,667 (2 z 3 prawidłowych odpowiedzi).
Aby wyświetlić dodatkowe informacje o zastosowanej metodzie, użytych tokenach i inne informacje o ocenie, kliknij dowolną z kart.
6. Rozszerzanie oceny
Możesz wprowadzić kilka zmian w tej ocenie, aby rozszerzyć jej zakres.
Podaj więcej pytań
W przypadku repozytoriów z wieloma umiejętnościami spróbuj dodać więcej pytań i odpowiedzi na podstawie zawartości repozytorium umiejętności. Inspect obsługuje używanie plików jako tych zbiorów danych, w tym wbudowanych czytników zbiorów danych w formatach CSV, JSON i JSON Line.
Aktualizowanie testowanych umiejętności agenta
W miarę aktualizowania repozytoriów umiejętności agenta możesz aktualizować lokalną kopię kodu i ponownie przeprowadzać ocenę na podstawie nowych informacji. Pomoże Ci to śledzić skuteczność umiejętności na przestrzeni czasu. Jeśli umiejętność agenta zostanie zaktualizowana, uruchom git pull w lokalnej kopii, aby zaktualizować kod, a następnie ponownie przeprowadź ocenę, aby zobaczyć zmiany.
Użyj innych narzędzi do oceniania
W tym ćwiczeniu w Codelabs użyliśmy narzędzia do oceniania Model Graded. Inspect oferuje kilka wbudowanych narzędzi do oceniania, a także możliwość utworzenia własnego narzędzia niestandardowego.
Użyj innych modeli narzędzia do rozwiązywania problemów
W tym ćwiczeniu w Codelabs użyliśmy Gemini 3.1 Pro jako modelu narzędzia do rozwiązywania problemów. Możesz to zmienić, podając nazwę modelu jako parametr wiersza poleceń, bez konieczności zmiany kodu. Możesz ponownie przeprowadzić ocenę za pomocą innego modelu Gemini, używając tego polecenia:
inspect eval skills-eval -T agent_skills_folder=google-skills \
-T model=google/gemini-3.1-flash-live-preview
Ten „argument zadania” pojawi się w Inspect Viewer, co pozwoli Ci śledzić argumenty użyte do przeprowadzenia oceny.
Ocena różnych umiejętności
W tym ćwiczeniu w Codelabs użyliśmy repozytorium umiejętności agenta Google jako ocenianych umiejętności.
Możesz oceniać różne repozytoria umiejętności, ale pytania i odpowiedzi też trzeba będzie zaktualizować. Na przykład umiejętności agenta Flutter nie będą zawierać odpowiedzi na pytania dotyczące Cloud Run.
7. Gratulacje
Dowiedziałeś się, jak przeprowadzić ocenę umiejętności za pomocą platform open source oraz jak pisać prompty, które będą używane jako pytania w ocenach odpowiedzi.