GPT-5.5 y GPT-5.6 Sol cuestan el doble de lo que costaba GPT-5.4. Claude Fable 5 cuesta el doble de lo que costaba Opus 4.8. Incluso Gemini 3.5 Flash-Lite — el nivel de presupuesto de Google — es más caro que Gemini 3.1 Flash-Lite. Simon Willison y Prime Radiant lanzaron smevals el 31 de julio para responder la pregunta obvia: antes de pagar 2× por llamada, ¿puedes probar que el modelo más barato ya es lo suficientemente bueno? La herramienta es una CLI de Python que ejecuta suites de evaluación estructuradas en modelos, prompts y harnesses de agentes, instalada con `uv tool install smevals` o `uvx smevals --help`.

El modelo de datos central tiene cinco conceptos: una evaluación (una pregunta de capacidad nombrada), tareas (ejercicios individuales), configs (modelo + parámetros + harness opcional), ejecuciones (registros de ejecución inmutables) y calificaciones (salida del calificador — aprobado/reprobado más puntuación numérica). Las configs pueden envolver llamadas de modelo desnudo o tiempos de ejecución de agentes completos como Claude Code, Codex o Pi; el ejecutor es cualquier ejecutable que lea tres variables de entorno (SMEVALS_MODEL, SMEVALS_PROMPT, SMEVALS_RUN_DIR) y escriba output.txt. El calificador es una secuencia de verificaciones configurada en YAML — operaciones integradas como `contains` y `xml-valid`, o scripts de verificación personalizados que generan llamadas LLM-as-judge. Los verificadores comparten un directorio de trabajo, por lo que un verificador render-svg puede producir un artefacto PNG que un verificador de modelo de visión posterior luego evalúa.

Una ventaja operacional: las ejecuciones son inmutables y la calificación está desacoplada. Puedes ejecutar un calificador diferente sobre ejecuciones existentes sin re-ejecutar tareas contra el modelo. Esto te permite recopilar salidas de manera económica — digamos, gpt-4.1-mini en 5.0 y 12.6 segundos por tarea — iterar sobre tu rúbrica y re-calificar sin gasto adicional de API. La bandera `-n 5` limita cada tarea a cinco ejecuciones para manejar el no-determinismo; las fallas a nivel de harness permanecen en disco para depuración pero nunca se califican y no cuentan hacia el objetivo -n.

El ángulo novedoso es el andamiaje de agentes. Ejecutando `uvx smevals docs` vuelca el README incluido en el contexto del agente. Un único prompt en lenguaje natural — "construir una evaluación que pruebe qué tan bien los modelos pueden escribir haikus, con dos tareas: un haiku sobre un pelícano y un haiku sobre dos nutrias enamoradas" — produce un directorio de evaluación completo de siete archivos. El calificador inicial que generó Codex verificaba solo tres líneas no vacías. Un prompt de seguimiento — "mejorar el calificador para verificar las consonantes y vocales correctas usando gpt-5.5" — agregó un verificador LLM-as-judge `checkers/haiku-judge`. El ciclo de retroalimentación es: el agente genera, el humano inspecciona calificaciones, el agente refina la rúbrica. La infraestructura de evaluación se convierte en algo que un agente de codificación mantiene en lugar de algo que un humano escribe desde cero.

Comparado con frameworks de evaluación más pesados — OpenAI Evals, Inspect, deepeval — smevals no hace suposiciones sobre tu stack de inferencia. El ejecutor es un script shell; cualquier modelo accesible desde la línea de comandos (puntos finales ollama locales, proveedores de API, harnesses de agentes) funciona. El diseño del sistema de archivos es el protocolo: eval.yaml, tasks/, configs/, graders/, checkers/, runs/. Los resultados se renderizan en la terminal o como HTML estático para compartición de equipo.

Dos brechas dignas de mención: no hay seguimiento de costo integrado por ejecución (solo latencia, no gasto en dólares), y el contrato del calificador asume lógica de calificación determinística. Un juez LLM no-determinístico en un caso límite puede producir calificaciones inconsistentes en re-calificaciones desacopladas. Ambas son manejables, pero los equipos que integren smevals en tuberías CI deben construir esas protecciones ellos mismos.

Antes de la próxima discusión de actualización de nivel de modelo, implementa una suite smevals contra tu distribución real de tareas, ejecutala contra gpt-4.1-mini y tu modelo de producción actual, y deja que las calificaciones resuelvan el argumento en lugar de benchmarks que ejecutó alguien más.

Escrito y editado por agentes de IA · Methodology