SpecJudge: cómo elegir el modelo de IA con mejor relación calidad/precio para tu proyecto

Cuando terminas de definir un proyecto y llega el momento de implementarlo con IA, aparece una pregunta que cuesta dinero responder mal: ¿qué modelo elijo? Si tiro de uno muy potente para una tarea sencilla, estoy pagando por una capacidad que el proyecto no va a usar. Y si elijo uno demasiado justo para algo exigente, no consigo el resultado: pago igual y encima no me sirve.

He construido una herramienta para resolver exactamente esa decisión, y la he publicado como open source para que cualquiera pueda usarla y mejorarla. Se llama SpecJudge, y en este artículo te cuento qué hace, la idea que hay detrás y cómo usarla paso a paso.

El problema: elegir modelo a ciegas sale caro

En el desarrollo dirigido por especificaciones (Spec-Driven Development, o SDD), primero defines tu proyecto —su constitución, su especificación y sus tareas— y solo después empiezas a implementar. Ese momento, justo antes de escribir la primera línea con IA, es donde se cometen dos errores caros:

ErrorLo que te cuesta
Modelo demasiado potente para el trabajoPagas por potencia que el proyecto nunca aprovecha
Modelo demasiado limitado para el trabajoNo produce el resultado: pagas y no consigues nada

La gracia de SDD es que, cuando llegas a este punto, ya existe una descripción muy rica de lo que hay que hacer. SpecJudge aprovecha esa descripción para responder a la pregunta del modelo en el único momento en que es barato hacerlo: cuando los specs existen pero aún no has gastado ni un token implementando.

Qué es SpecJudge

SpecJudge es una herramienta de línea de comandos, local-first y open source (licencia MIT), que lee los artefactos de Spec-Driven Development de tu proyecto y te dice qué modelo de IA encaja mejor con el trabajo, con su valoración y su precio, para que veas de un vistazo cuál es la mejor opción calidad/precio.

Lo importante: el análisis se ejecuta en tu máquina. El «juez» que evalúa tu proyecto es un modelo local que corre a través de Ollama, así que tus specs —tu lógica de negocio, tus decisiones de diseño— no salen de tu ordenador, y decidir qué modelo contratar no te cuesta ni una llamada de API.

La idea clave: ni el más barato ni el más potente, el que «encaja»

Este es el matiz que más me importa de SpecJudge, y el que lo diferencia de «pregúntale a una tabla de benchmarks».

SpecJudge no te recomienda el modelo más barato. Tampoco el más potente. Te recomienda el que está bien dimensionado para tu proyecto: ni se queda corto, ni te sobra potencia por la que estarías pagando de más. A esto lo llamo right-sizing.

El podio (🥇🥈🥉) ordena los modelos por lo bien que encajan con la complejidad real de tu proyecto. El precio se muestra siempre, para cada modelo, pero solo desempata entre opciones que encajan igual de bien. Un modelo más barato nunca gana a uno que hace mejor el trabajo, porque recomendar algo que no da la talla es el error más caro de todos.

Cómo funciona por dentro

El flujo es sencillo y transparente:

  1. SpecJudge lee tu constitución, especificación y tareas.
  2. El juez local (tu modelo de Ollama) estima cómo de exigente es tu proyecto en varias dimensiones (razonamiento, tamaño, especialización…).
  3. Esa exigencia se cruza, mediante reglas declarativas, contra la capacidad declarada de cada modelo de un catálogo mantenido por la comunidad.
  4. Gana el que mejor encaja, y cada veredicto viene con una razón que puedes leer. Sin caja negra.

El catálogo de modelos, capacidades y precios vive en ficheros de datos legibles (YAML), separados del código a propósito. Eso es lo que permite mantenerlo al día sin tocar la lógica del programa —volveré sobre esto al hablar de cómo contribuir.

Instalación paso a paso

Requisitos previos:

  • Python 3.11 o superior
  • Ollama con, al menos, un modelo local descargado

Primero, descarga un modelo que hará de juez (si no tienes ya uno):

ollama pull llama3.1:8b

Después, instala SpecJudge. Como ya está publicado en PyPI, es tan simple como:

pip install specjudge

Si trabajas con uv o [pipx], también puedes usar uvx specjudge (sin instalar nada de forma permanente) o pipx install specjudge.

specjudge options

Cómo se usa

Con todo listo, lanzas SpecJudge apuntando a la carpeta de tu proyecto:

specjudge /ruta/a/tu/proyecto

O, si ya estás dentro de la carpeta del proyecto, simplemente:

specjudge .

En unos segundos tienes una tabla en la terminal con cada modelo, su valoración y su precio, y el podio con la recomendación.

Salida de SpecJudge en terminal con el podio de modelos de IA

La matriz visual en el navegador

Si quieres comparar con más detalle, añade la opción --open (o -o):

specjudge . --open

Se abre en tu navegador una matriz visual de todos los modelos, filtrable por familia (Claude, GPT, Qwen…) y por si son open source. Es un fichero HTML autocontenido que no carga nada de la red, coherente con la filosofía de privacidad de la herramienta.

Salida de SpecJudge en el navegador con el podio de modelos de IA

Cómo leer las valoraciones

Cada modelo recibe una valoración en una escala fija:

ValoraciónQué significa
goodCapaz de sobra para el trabajo: el punto dulce
overkillCapaz, pero pagas por un margen de potencia que no vas a usar
fairSe queda algo corto
poorNo da la talla

El podio prioriza los good que mejor se ajustan, y usa el precio solo para desempatar.

Cuando no hay información suficiente

Una recomendación de gasto basada en datos pobres es peor que ninguna recomendación. Por eso SpecJudge es explícito sobre cuánto puedes fiarte de su respuesta, y distingue tres situaciones:

  • Suficiente — están la constitución, la especificación y las tareas: recomendación fiable.
  • Escasa — falta algún artefacto o hay poco detalle: te da la recomendación, pero con un aviso.
  • Insuficiente — no hay tareas que evaluar: no da recomendación en absoluto.

Además, si ningún modelo del catálogo es capaz suficiente para tu proyecto, SpecJudge te lo dice en lugar de recomendarte uno igualmente.

Salida de SpecJudge en terminal cuando no hay suficiente informacion

Opciones útiles

Para quien quiera exprimirla, estas son las opciones disponibles:

OpciónPara qué sirve
--open, -oAbre también la matriz visual en el navegador
--judge <modelo>Fuerza el modelo juez solo para esta ejecución
--set-judgeVuelve a elegir y guardar el modelo juez
--catalog <ruta>Usa un catálogo de modelos alternativo
--jsonDevuelve el resultado en JSON (ideal para automatizar)
--no-colorDesactiva el color y el resaltado

La opción --json, junto con los códigos de salida diferenciados, permite integrar SpecJudge en un pipeline de CI para, por ejemplo, avisar automáticamente si un proyecto no tiene specs suficientes.

Por qué es open source (y cómo contribuir)

Los modelos y sus precios cambian cada pocas semanas. Esa es, precisamente, la razón por la que este proyecto necesita comunidad: si mantenerlo al día exigiera tocar código, quedaría obsoleto en cuanto yo dejara de actualizarlo.

La contribución más valiosa no requiere saber Python. Añadir un modelo nuevo es un bloque de YAML en data/models.yaml:

- id: mi-nuevo-modelo
  name: Mi Nuevo Modelo
  family: MiFamilia
  open_source: false
  provider: AlgunaAI
  capabilities:
    reasoning: high      # low | medium | high | top
    size: high
    domain_specialization: medium
  price:
    input_per_million: 1.50
    output_per_million: 6.00
    currency: USD
    pricing_date: 2026-07-20   # obligatorio: hace verificable la vigencia

¿No estás de acuerdo con la valoración de un modelo? Eso es una contribución, no una queja: el catálogo es opinión hecha inspeccionable. Abre un pull request con tu razonamiento.

Tienes el proyecto completo aquí:

Si SpecJudge te ahorra pagar de más por un modelo, dale una ⭐ en GitHub: ayuda a que llegue a más gente.

Preguntas frecuentes

¿SpecJudge implementa el proyecto por mí?

No. SpecJudge recomienda el modelo que mejor encaja, pero no ejecuta la implementación ni llama a los modelos que evalúa. Su salida es un juicio informado para que tú elijas con fundamento.

¿Mis specs se envían a algún servidor?

No. El juez corre en tu máquina a través de Ollama y el informe del navegador es un HTML autocontenido. Tus especificaciones no tocan ningún servicio de terceros. Es el primer principio del proyecto, no un añadido opcional.

¿Necesito pagar algo para usarlo?

No. El núcleo de SpecJudge no requiere ninguna clave de API de pago ni suscripción. El único requisito de peso es tener Ollama con un modelo local. Una herramienta cuyo fin es ahorrarte dinero no debería obligarte a gastarlo para funcionar.

¿Vale para cualquier proyecto o solo para los que usan Spec-Driven Development?

SpecJudge está pensado para proyectos definidos con SDD, porque necesita constitución, especificación y tareas para juzgar la exigencia del trabajo. Si tu proyecto no tiene esos artefactos, la herramienta te avisará de que no hay información suficiente.

¿Por qué recomienda un modelo local barato en lugar del más potente del mercado?

Porque busca el mejor encaje, no la máxima potencia. Si tu proyecto no exige un modelo de gama alta, pagar por uno sería tirar dinero. Cuando el trabajo sí lo requiere, SpecJudge lo detecta y lo recomienda.

Conclusión

Elegir el modelo de IA adecuado no debería ser una corazonada. Con Spec-Driven Development ya tienes toda la información necesaria para decidir con criterio; SpecJudge solo la pone a trabajar para ti, de forma privada, transparente y sin coste, justo antes de empezar a implementar.

Pruébalo en tu próximo proyecto, y si le encuentras utilidad, súmate a mejorarlo: añade un modelo, corrige un precio o afina una valoración. Cuanta más gente lo cuide, mejor recomienda para todos.

¡Que la IA te acompañe! 🚀

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
0
Would love your thoughts, please comment.x
()
x