Evalúa las habilidades del agente con frameworks de código abierto

1. Introducción

Descripción general

En este codelab, aprenderás a usar el framework de código abierto Inspect para realizar evaluaciones en un conjunto de habilidades de agentes. Ejecutarás esta evaluación en tu propia máquina con contenedores de Docker. Se usará Gemini CLI como el agente de ingeniería de software para realizar la evaluación a través de Inspect SWE.

Actividades

Ejecuta una evaluación en un conjunto de habilidades de agentes con evaluaciones de instrucciones personalizadas.

Qué aprenderá

  • Cómo ejecutar una evaluación en habilidades con frameworks de código abierto
  • Cómo escribir instrucciones para usar como preguntas de evaluación en calificadores de preguntas y respuestas

2. Antes de comenzar

Configura la API de Gemini

Para usar la API de Gemini, crea una clave de API en Google AI Studio.

Opcional: Prueba tu clave

Si tienes acceso a una línea de comandos con curl, agrega tu clave a la primera línea del siguiente bloque y, luego, ejecútala en tu terminal para probar la clave de API.

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

Deberías ver una lista de modelos en formato JSON, como models/gemini-3.1-pro-preview. Esto significa que funcionó.

Instala las dependencias del sistema.

Deberás instalar el siguiente software en tu máquina para completar este instructivo:

  • Docker
    • Se usará para ejecutar la evaluación en un entorno de pruebas.
  • Python
    • Es el lenguaje de programación en el que se escribe Inspect.
  • Node.js y NPM
    • Es el lenguaje de programación en el que se escribe Gemini CLI.
  • git
    • Se usará para obtener una copia del repositorio de habilidades que se está evaluando.

3. Identifica las habilidades que se evaluarán

Las habilidades de agentes son una forma estandarizada de brindar a los agentes de IA nuevas capacidades y experiencia.

En este codelab, se usará el repositorio de habilidades de agentes de Google (https://github.com/google/skills) como ejemplo, pero puedes cambiarlo por cualquier repositorio de GitHub que contenga habilidades de agentes.

Según el contenido del repositorio, usaremos una serie de preguntas y respuestas de instrucciones que sabemos que están incluidas en el conjunto de habilidades. El agente de ingeniería de software usará estas preguntas y respuestas para verificar si las habilidades proporcionadas pueden responder la pregunta dada.

El repositorio de habilidades de agentes de Google contiene una habilidad específica para Cloud Run, por lo que podemos hacer la siguiente pregunta:

"¿Cómo implementas un servicio en Cloud Run con el código en mi máquina local?"

La respuesta a esta pregunta es "gcloud run deploy". Proporcionaremos esta pregunta y respuesta, así como el repositorio de GitHub de habilidades, al evaluador, que luego confirmará si las habilidades de agentes proporcionadas pueden responder la pregunta.

4. Ejecutar la evaluación

En este paso, ejecutarás una evaluación de ejemplo.

Instala las dependencias de Python

En la máquina local, ejecuta el siguiente comando para instalar las dependencias de Python.

pip install inspect-ai inspect-swe google-genai

Crea una copia del repositorio de habilidades

Crea una copia local del repositorio de habilidades de agentes de Google en una carpeta llamada google-skills.

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

Revisa la aplicación de Python

La evaluación que ejecutarás es la siguiente:

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

Guarda este archivo como skills-eval.py.

Este código contiene una función decorada skills_eval, que usa la siguiente lógica:

  • Toma el directorio proporcionado y crea una lista de todos los archivos de habilidades dentro de ese repositorio.
  • Usa un conjunto de preguntas y respuestas estáticas como el conjunto de datos.
    • Nota: Una de las preguntas contiene una respuesta incorrecta intencionalmente.
  • Ejecuta la evaluación con lo siguiente:
    • Gemini CLI como el solucionador
    • QA de calificador de modelos como el calificador
    • Docker como el entorno de pruebas
    • Gemini Pro 3.1 como el modelo

En el siguiente paso, usarás Inspect para ejecutar esta evaluación.

Ejecutar la evaluación

Para ejecutar la evaluación, usa el siguiente comando:

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

La primera vez que se ejecute esta evaluación, se descargarán los contenedores de Docker y se instalarán las dependencias de Node.JS y Python, lo que tardará un tiempo en completarse, según tu conexión de red. Si vuelves a ejecutar la evaluación, esta configuración se almacenará en caché.

Después de la descarga, Inspect realizará la evaluación. Aparecerá una interfaz interactiva en tu terminal, que te permitirá interactuar a medida que avanza la evaluación.

Tareas en ejecución

Durante la evaluación, puedes hacer clic en "Running Samples" para ver el progreso actual o cancelar el proceso.

Ejecuta muestras

En el siguiente paso, revisarás los resultados.

5. Visualiza e interpreta los resultados

Una vez que se complete la evaluación, podrás ver los resultados.

Ver resultados

La evaluación escribió un archivo .eval en la carpeta logs/. Este es un archivo binario y no se puede ver directamente.

Para ver los resultados de la evaluación, usa el visor de Inspect:

inspect view

Se creará un servidor web en http://127.0.0.1:7575. Abre esta URL para ver los resultados.

Vista de inspección

Interpretar los resultados

Esta evaluación usó un calificador de modelos, en el que se otorgan las siguientes calificaciones:

  • "C": Completo
    • La respuesta fue completamente correcta.
  • "P": Parcial
    • La respuesta fue mayormente correcta.
  • "I": Incompleto
    • La respuesta no fue correcta.

En este codelab, hay una respuesta incorrecta intencionalmente, que aparece como "I" (Incompleto) y reduce la precisión general a 0.667 (dos de tres correctas).

Para ver información adicional sobre el método utilizado, los tokens usados y otra información sobre la evaluación, haz clic en cualquiera de las pestañas.

6. Extiende la evaluación

Puedes realizar varios cambios en esta evaluación para ampliar el alcance.

Proporciona más preguntas

Para los repositorios con varias habilidades, intenta agregar más preguntas y respuestas según el contenido del repositorio de habilidades. Inspect admite el uso de archivos como estos conjuntos de datos, incluidos lectores de conjuntos de datos integrados para formatos CSV, JSON y JSON Line.

Actualiza las habilidades de agentes que se están probando

A medida que se actualizan los repositorios de habilidades de agentes, puedes actualizar tu copia local del código y volver a ejecutar la evaluación con la información nueva. Esto puede ayudarte a hacer un seguimiento del rendimiento de las habilidades a lo largo del tiempo. Si se actualiza una habilidad de agente, ejecuta git pull en tu copia local para actualizar el código y, luego, vuelve a ejecutar la evaluación para ver los cambios.

Usa diferentes calificadores

En este codelab, usamos el calificador de Modelos. Inspect ofrece varios calificadores integrados y también la opción de crear tu propio calificador personalizado.

Usa diferentes modelos de solucionador

En este codelab, usamos Gemini 3.1 Pro como el modelo de solucionador. Puedes cambiarlo si proporcionas el nombre del modelo como un parámetro de línea de comandos, sin tener que cambiar el código. Puedes volver a ejecutar la evaluación con un modelo de Gemini diferente con el siguiente comando:

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

Este "argumento de tarea" aparecerá en el visor de Inspect, lo que te permitirá hacer un seguimiento de los argumentos usados para ejecutar la evaluación.

Evalúa diferentes habilidades

En este codelab, usamos el repositorio de habilidades de agentes de Google como las habilidades que se están evaluando.

Puedes evaluar diferentes repositorios de habilidades, pero las preguntas y respuestas también deberán actualizarse para que coincidan. Por ejemplo, las habilidades de agentes de Flutter no darán las respuestas a preguntas específicas de Cloud Run.

7. Felicitaciones

Aprendiste a ejecutar una evaluación en habilidades con frameworks de código abierto y a escribir instrucciones para usar como preguntas de evaluación en calificadores de preguntas y respuestas.