Valutare le competenze degli agenti utilizzando framework open source

1. Introduzione

Panoramica

In questo codelab imparerai a utilizzare il framework open source Inspect per eseguire valutazioni su un insieme di competenze dell'agente. Eseguirai questa valutazione sulla tua macchina utilizzando i container Docker. Gemini CLI verrà utilizzato come agente di ingegneria del software per eseguire la valutazione tramite Inspect SWE.

In questo lab proverai a:

Eseguire una valutazione su un insieme di competenze dell'agente utilizzando valutazioni di prompt personalizzate.

Cosa imparerai

  • Come eseguire una valutazione sulle competenze utilizzando framework open source.
  • Come scrivere prompt da utilizzare come domande di valutazione nei valutatori di domande e risposte.

2. Prima di iniziare

Configura l'API Gemini

Per utilizzare l'API Gemini, crea una chiave API in Google AI Studio.

(Facoltativo) Testa la chiave

Se hai accesso a una riga di comando con curl, aggiungi la chiave alla prima riga del blocco seguente ed eseguila nel terminale per testare la chiave API.

export GEMINI_API_KEY=Paste_your_API_key_here
curl "https://generativelanguage.googleapis.com/v1beta/models?key=${GEMINI_API_KEY}"

Dovresti visualizzare un elenco di modelli in formato JSON, ad esempio models/gemini-3.1-pro-preview. Ciò significa che ha funzionato.

Installa le dipendenze di sistema

Per completare questo tutorial, devi installare il seguente software sulla tua macchina:

  • Docker
    • Verrà utilizzato per eseguire la valutazione in un ambiente sandbox
  • Python
    • Questo è il linguaggio di programmazione in cui è scritto Inspect
  • Node.js e NPM
    • Questo è il linguaggio di programmazione in cui è scritto Gemini CLI.
  • git
    • Verrà utilizzato per ottenere una copia del repository delle competenze in fase di valutazione

3. Identifica le competenze da valutare

Le competenze dell'agente sono un modo standardizzato per fornire agli agenti AI nuove funzionalità e competenze.

Questo codelab utilizzerà come esempio il repository delle competenze dell'agente Google (https://github.com/google/skills), ma puoi modificarlo in qualsiasi repository GitHub che contenga competenze dell'agente.

In base ai contenuti del repository, utilizzeremo una serie di domande e risposte di prompt che sappiamo essere contenute nell'insieme di competenze. Queste domande e risposte verranno utilizzate dall'agente di ingegneria del software per verificare se le competenze fornite possono rispondere alla domanda.

Il repository delle competenze dell'agente Google contiene una competenza specifica per Cloud Run, quindi possiamo porre la seguente domanda:

"Come faccio a eseguire il deployment di un servizio in Cloud Run, dato il codice sulla mia macchina locale?"

La risposta a questa domanda è "gcloud run deploy". Forniremo questa domanda e risposta, nonché il repository GitHub delle competenze, al valutatore, che confermerà se la domanda può essere risolta dalle competenze dell'agente fornite.

4. Esegui la valutazione

In questo passaggio eseguirai una valutazione di esempio.

Installa le dipendenze Python

Sulla tua macchina locale, esegui il comando seguente per installare le dipendenze Python.

pip install inspect-ai inspect-swe google-genai

Crea una copia del repository delle competenze

Crea una copia locale del repository delle competenze dell'agente Google in una cartella denominata google-skills.

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

Esamina l'applicazione Python

La valutazione che eseguirai è la seguente:

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,
    )

Salva questo file come skills-eval.py.

Questo codice contiene una funzione decorata skills_eval, che utilizza la seguente logica:

  • Prendi la directory fornita e crea un elenco di tutti i file di competenze all'interno di quel repository.
  • Utilizza un insieme di domande e risposte statiche come set di dati
    • Nota: una delle domande contiene una risposta intenzionalmente errata.
  • Esegui la valutazione utilizzando:
    • Gemini CLI come risolutore
    • Model Grader QA come valutatore
    • Docker come sandbox
    • Gemini Pro 3.1 come modello.

Nel passaggio successivo, utilizzerai Inspect per eseguire questa valutazione.

Esegui la valutazione

Per eseguire la valutazione, utilizza il comando seguente:

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

La prima volta che viene eseguita questa valutazione, verranno scaricati i container Docker e installate le dipendenze Node.js e Python, il che richiederà un po' di tempo, a seconda della connessione di rete. Se esegui di nuovo la valutazione, questa configurazione verrà memorizzata nella cache.

Dopo il download, Inspect eseguirà la valutazione. Nel terminale verrà visualizzata un'interfaccia interattiva che ti consentirà di interagire durante l'avanzamento della valutazione.

Attività in corso

Durante la valutazione, puoi fare clic su "Running Samples" (Esecuzione di esempi) per visualizzare l'avanzamento corrente o per annullare la procedura.

Esempi di corsa

Nel passaggio successivo, esaminerai i risultati.

5. Visualizza e interpreta i risultati

Al termine della valutazione, puoi visualizzare i risultati.

Visualizza risultati

La valutazione ha scritto un file .eval nella cartella logs/. Si tratta di un file binario, non visualizzabile direttamente.

Per visualizzare i risultati della valutazione, utilizza Inspect Viewer:

inspect view

Verrà creato un server web all'indirizzo http://127.0.0.1:7575. Apri questo URL per visualizzare i risultati.

Visualizzazione Ispeziona

Interpretazione dei risultati

Questa valutazione ha utilizzato un valutatore di modelli, in cui vengono assegnati i seguenti voti:

  • "C": Complete
    • La risposta era completamente corretta
  • "P": Partial
    • La risposta era per lo più corretta
  • "I": Incomplete
    • La risposta non era corretta.

In questo codelab, c'è una risposta intenzionalmente errata, che viene visualizzata come "I" (Incomplete) e riduce l'accuratezza generale a 0,667 (due risposte corrette su tre).

Puoi visualizzare ulteriori informazioni sul metodo adottato, sui token utilizzati e su altre informazioni sulla valutazione facendo clic su una delle schede.

6. Estendi la valutazione

Puoi apportare una serie di modifiche a questa valutazione per espandere l'ambito.

Fornisci altre domande

Per i repository con più competenze, prova ad aggiungere altre domande e risposte in base ai contenuti del repository delle competenze. Inspect supporta l'utilizzo di file come questi set di dati, inclusi i lettori di set di dati integrati per i formati CSV, JSON e JSON Line.

Aggiorna le competenze dell'agente in fase di test

Man mano che i repository delle competenze dell'agente vengono aggiornati, puoi aggiornare la copia locale del codice ed eseguire di nuovo la valutazione in base alle nuove informazioni. In questo modo puoi monitorare il rendimento delle competenze nel tempo. Se una competenza dell'agente viene aggiornata, esegui git pull nella copia locale per aggiornare il codice, quindi esegui di nuovo la valutazione per visualizzare le modifiche.

Utilizza valutatori diversi

In questo codelab abbiamo utilizzato il valutatore di modelli. Inspect offre più valutatori integrati e anche la possibilità di creare un valutatore personalizzato.

Utilizza modelli di risoluzione diversi

In questo codelab abbiamo utilizzato Gemini 3.1 Pro come modello di risoluzione. Puoi modificarlo fornendo il nome del modello come parametro della riga di comando, senza dover modificare il codice. Puoi eseguire di nuovo la valutazione con un modello Gemini diverso utilizzando il seguente comando:

inspect eval skills-eval -T agent_skills_folder=google-skills \
  -T model=google/gemini-3.1-flash-live-preview

Questo "argomento dell'attività" verrà visualizzato in Inspect Viewer, consentendoti di tenere traccia degli argomenti utilizzati per eseguire la valutazione.

Valuta competenze diverse

In questo codelab abbiamo utilizzato il repository delle competenze dell'agente Google come competenze in fase di valutazione.

Puoi valutare repository di competenze diversi, ma anche le domande e le risposte dovranno essere aggiornate di conseguenza. Ad esempio, le competenze dell'agente Flutter non forniranno le risposte a domande specifiche di Cloud Run.

7. Complimenti

Hai imparato a eseguire una valutazione sulle competenze utilizzando framework open source e a scrivere prompt da utilizzare come domande di valutazione nei valutatori di domande e risposte.