Ir al contenido principal

Especificación de Tarjeta de Ejecución

Resumen Ejecutivo. La tarjeta de ejecución es la unidad atómica de evaluación comparativa — un documento JSON que registra la configuración completa, resultados por entrada y puntuaciones agregadas de una ejecución de evaluación. Esta página documenta el esquema, campos, mecanismo de huella digital y estructura de puntuaciones. Consulte la Especificación de Evaluación Comparativa para definiciones canónicas.

La tarjeta de ejecución es el registro completo de una única ejecución de evaluación. Contiene todo lo necesario para entender, reproducir y verificar el experimento: configuración, puntuaciones, resultados individuales, uso de tokens y metadatos del entorno.

Versión del esquema: 2.0

:::info Esquema Autorizado La Especificación de Evaluación Comparativa es la fuente única de verdad para el esquema de tarjeta de ejecución. Para definiciones de métricas, pesos compuestos y niveles de calidad, consulte la Especificación de Puntuación. Esta página documenta la implementación actual. :::


Campos de Nivel Superior

CampoTipoDescripción
run_idstringUUID v4 generado al inicio de la ejecución
harness_versionstringVersión semántica del arnés que produjo esta tarjeta (p. ej., 2.0)
model_slugstringSlug del modelo utilizado para la ejecución (p. ej., google/gemini-3.1-pro)
model_idstringIdentificador del modelo resuelto devuelto por la API (p. ej., gemini-3.1-pro-001)
conditionstringEtiqueta del experimento (p. ej., baseline, coached-v3, few-shot)
timestampstringMarca de tiempo ISO 8601 UTC cuando se inició la ejecución
elapsed_secondsnumberDuración de reloj de pared de toda la ejecución
{
"run_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"harness_version": "2.0",
"model_slug": "google/gemini-3.1-pro",
"model_id": "gemini-3.1-pro-001",
"condition": "baseline",
"timestamp": "2026-06-01T03:22:41Z",
"elapsed_seconds": 142.7
}

dataset

Identifica el conjunto de datos de evaluación y lo fija a una versión de contenido específica mediante SHA-256.

CampoTipoDescripción
idstringIdentificador del conjunto de datos (p. ej., edtekla-dev-v1)
versionstringCadena de versión del conjunto de datos
language_pairstringEtiqueta de visualización (p. ej., EN→CRK)
sha256stringHash SHA-256 del contenido del archivo del conjunto de datos. Garantiza los datos exactos utilizados
entry_countnumberNúmero de entradas en el conjunto de datos
// Example using master_corpus.json (62 gold + 342 textbook = 404)
{
"dataset": {
"id": "edtekla-dev-v1",
"version": "1.0",
"language_pair": "EN→CRK",
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"entry_count": 404
}
}

config

La configuración de API y procesamiento por lotes utilizada para esta ejecución.

CampoTipoDescripción
api_providerstringNombre del proveedor de API (p. ej., openrouter)
temperaturenumberTemperatura de muestreo
max_tokensnumberTokens máximos por finalización
batch_sizenumberEntradas por lote concurrente
concurrencynumberSolicitudes máximas de API en paralelo
coaching_filestringRuta al archivo de indicación de entrenamiento, si se utilizó
method_pathstringRuta al directorio del complemento de método, si se utilizó
fst_retriesnumberNúmero de intentos de reintento de FST
{
"config": {
"api_provider": "openrouter",
"temperature": 0.0,
"max_tokens": 32768,
"batch_size": 25,
"concurrency": 8
}
}

:::info Las Tarjetas de Ejecución Publicadas Incluyen method_config Cuando una tarjeta de ejecución se publica mediante mt-eval publish, publish.py inyecta un bloque method_config que contiene la MethodConfig canónica de 8 campos. Esto permite instalación sin fricción en el tablero de clasificación — cualquiera puede reproducir el método directamente desde la tarjeta publicada.

{
"method_config": {
"model": "gemini-pro",
"temperature": 0.0,
"batchSize": 25,
"register": "Formal Plains Cree. Use SRO orthography.",
"coachingFile": "prompts/crk-coaching-v8.txt",
"coachingPrompt": null,
"promptContext": "champollion",
"qualityTier": "verified"
}
}

Todos los campos utilizan camelCase y siguen el esquema MethodConfig canónico (consulte Construcción de un Método). :::


system_prompt_sha256 / system_prompt_used

CampoTipoDescripción
system_prompt_sha256stringHash SHA-256 de la indicación del sistema. Incluido en la huella digital
system_prompt_usedstringEl texto completo de la indicación del sistema enviado al modelo

El hash de la indicación es parte de la huella digital — dos ejecuciones con indicaciones diferentes tendrán huellas digitales diferentes incluso si todos los demás parámetros coinciden.


fingerprint

Un identificador de reproducibilidad. Dos ejecuciones con huellas digitales idénticas utilizaron la misma configuración experimental.

CampoTipoDescripción
hashstringHash SHA-256 de los componentes ordenados
componentsobjectLos valores de entrada que fueron procesados

Componentes de Huella Digital

ComponenteDescripción
dataset_sha256Hash del archivo del conjunto de datos
model_slugModelo utilizado
conditionEtiqueta de condición del experimento
system_prompt_sha256Hash de la indicación del sistema
temperatureTemperatura de muestreo
harness_versionVersión del arnés
{
"fingerprint": {
"hash": "7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069",
"components": {
"dataset_sha256": "e3b0c44298fc1c14...",
"model_slug": "google/gemini-3.1-pro",
"condition": "baseline",
"system_prompt_sha256": "abc123...",
"temperature": 0.0,
"harness_version": "2.0"
}
}
}

:::info Huella Digital ≠ Hash de Tarjeta de Ejecución La huella digital identifica la configuración del experimento. El run_card_hash verifica la integridad del archivo de resultados. Consulte Huella Digital vs Hash de Tarjeta de Ejecución para más detalles. :::


scores

Métricas agregadas para toda la ejecución.

Puntuaciones de Nivel Superior

CampoTipoDescripción
totalnumberTotal de entradas evaluadas
exact_matchesnumberEntradas donde la salida coincidió exactamente con el estándar de oro
exact_match_ratenumberexact_matches / total (0.0–1.0)
fst_acceptednumberEntradas donde el analizador FST aceptó la salida
fst_acceptance_ratenumberfst_accepted / total (0.0–1.0). null si no se utilizó analizador FST
chrf_plus_plusnumberPuntuación chrF++ a nivel de corpus (0–100)
errorsnumberEntradas que fallaron (error de API, tiempo de espera agotado, etc.)
avg_latency_secondsnumberTiempo de respuesta promedio en todas las entradas
median_latency_secondsnumberTiempo de respuesta mediano
p95_latency_secondsnumberTiempo de respuesta del percentil 95

by_difficulty

Puntuaciones desglosadas por nivel de dificultad. Cada clave (entero 1–5) contiene los mismos campos de métricas que las puntuaciones de nivel superior.

{
"by_difficulty": {
"1": {
"total": 20,
"exact_matches": 8,
"exact_match_rate": 0.40,
"chrf_plus_plus": 68.2,
"fst_accepted": 18,
"fst_acceptance_rate": 0.90
},
"2": { ... },
"3": { ... },
"4": { ... },
"5": { ... }
}
}

by_provenance

Puntuaciones desglosadas por procedencia de entrada. Cada clave (p. ej., gold_standard, textbook) contiene los mismos campos de métricas.

{
"by_provenance": {
"gold_standard": {
"total": 80,
"exact_matches": 10,
"exact_match_rate": 0.125,
"chrf_plus_plus": 44.8
},
"textbook": { ... }
}
}

totals

Seguimiento de uso de tokens y costos para toda la ejecución.

CampoTipoDescripción
prompt_tokensnumberTotal de tokens de entrada en todas las llamadas de API
completion_tokensnumberTotal de tokens de salida
reasoning_tokensnumberTokens utilizados para razonamiento de cadena de pensamiento (dependiente del modelo, 0 para la mayoría de modelos)
cached_tokensnumberTokens servidos desde la caché de indicación del proveedor
total_cost_usdnumberCosto total en USD (según lo informado por la API)
cost_per_entry_usdnumbertotal_cost_usd / entry_count
reasoning_rationumberreasoning_tokens / completion_tokens (0.0–1.0)
{
"totals": {
"prompt_tokens": 48200,
"completion_tokens": 3100,
"reasoning_tokens": 0,
"cached_tokens": 12000,
"total_cost_usd": 0.42,
"cost_per_entry_usd": 0.0034,
"reasoning_ratio": 0.0
}
}

environment

Metadatos del entorno de ejecución para reproducibilidad.

CampoTipoDescripción
harness_versionstringVersión del arnés (refleja el harness_version de nivel superior)
harness_git_commitstringSHA de confirmación de Git del arnés en tiempo de ejecución
python_versionstringVersión del intérprete de Python
sacrebleu_versionstringVersión de la biblioteca sacrebleu (utilizada para puntuación chrF++)
osstringIdentificador del sistema operativo
{
"environment": {
"harness_version": "2.0",
"harness_git_commit": "a1b2c3d",
"python_version": "3.11.9",
"sacrebleu_version": "2.4.0",
"os": "macOS-14.5-arm64"
}
}

results[]

La matriz de resultados por entrada. Un objeto por entrada del conjunto de datos, en orden de índice.

CampoTipoDescripción
entry_idintegerID de esta entrada en el corpus (coincide con entries[].id)
sourcestringEl texto de origen que fue traducido
referencestringLa referencia estándar de oro del corpus
predictedstringLa salida real del método
exact_matchbooleanSi predicted coincide exactamente con reference después de la normalización
entry_chrfnumberPuntuación chrF++ a nivel de oración para esta entrada (0–100)
fst_acceptedboolean | nullSi el analizador FST aceptó la salida. null si no se configuró analizador
fst_analysisstring[]Cadenas de análisis FST para la salida (matriz vacía si no se analizó o fue rechazada)
difficultyintegerNivel de dificultad del corpus (1–5)
provenancestringEtiqueta de procedencia del corpus
latency_secondsnumberTiempo de respuesta para esta entrada individual
usageobjectUso de tokens por entrada: { prompt_tokens, completion_tokens, reasoning_tokens }
errorstring | nullMensaje de error si esta entrada falló. null en caso de éxito
{
"results": [
{
"entry_id": 1,
"source": "Hello",
"reference": "tânisi",
"predicted": "tânisi",
"exact_match": true,
"entry_chrf": 100.0,
"fst_accepted": true,
"fst_analysis": ["tânisi+V+AI+Ind+2Sg"],
"difficulty": 1,
"provenance": "gold_standard",
"latency_seconds": 0.82,
"usage": {
"prompt_tokens": 385,
"completion_tokens": 12,
"reasoning_tokens": 0
},
"error": null
}
]
}

run_card_hash

CampoTipoDescripción
run_card_hashstringHash SHA-256 de toda la tarjeta de ejecución JSON, con el campo run_card_hash establecido en "" durante el procesamiento

Este es el sello de detección de manipulación. El tablero de clasificación recalcula este hash en la presentación y rechaza las tarjetas donde no coincide.

Cálculo del hash:

  1. Serialice la tarjeta de ejecución a JSON con run_card_hash establecido en ""
  2. Calcule SHA-256 de la cadena serializada
  3. Establezca run_card_hash en el resumen hexadecimal resultante
import hashlib, json

card["run_card_hash"] = ""
card_json = json.dumps(card, sort_keys=True, ensure_ascii=False)
card["run_card_hash"] = hashlib.sha256(card_json.encode()).hexdigest()

:::info Análisis Detallado por Entrada Las tarjetas de ejecución publicadas también rellenan la tabla run_card_entries de Supabase, que almacena resultados por entrada para análisis detallado en el tablero de clasificación. Esta tabla se rellena automáticamente durante mt-eval publish. :::


Véase También