# Evals — elige agentes y modelos con tus propios pedidos

> Vuelve a correr un rol de un pedido ya mezclado con otro agente o modelo y que un juez lo califique contra lo que se hizo de verdad. Rúbricas, @eval, costo y límites.

URL: https://www.ghosty.studio/docs/fabrica/evals

Los benchmarks públicos no dicen cómo le va a un modelo **en tu repo**. Un eval toma un pedido que ya se mezcló, vuelve a correr **un rol** con otro agente o modelo desde el mismo punto de partida, y un juez lo califica contra lo que se hizo de verdad. Con varios, eliges el modelo de cada rol con datos.

## Correr uno

En `/factory` → pedidos **Cerrados** → 🧪 en el pedido → elige **rol**, **agente** y/o **modelo** → «Correr eval». Sólo el dueño del espacio (gasta tokens de su llave). El eval abre su propio hilo en el room para que veas qué hizo el agente; no cuenta en los números de pedidos.

| Rol evaluado | Parte de | Se compara con |
|---|---|---|
| `@plan` | El pedido original, sin ver el plan firmado. | El plan que se firmó. |
| `@build` | El mismo plan firmado, en la rama `ghosty-eval/<n>` creada en el **commit base** del PR original. No abre PR y la rama se borra al calificar. | El PR que se mezcló. |
| `@check` | El PR original contra el plan firmado. No comenta en GitHub. | La primera revisión humana y la del `@check` original. |

## Rúbricas

El juez da una nota entera del 1 al 5 por criterio y dice si lo evaluado es **peor, igual o mejor** que lo original.

| Rol | Criterios |
|---|---|
| `@plan` | Cubre lo pedido · Concreto · Riesgos · Se firma rápido |
| `@build` | Cumple el plan · Pruebas · Mantenible · Alcance |
| `@check` | Encuentra lo importante · Sin ruido · Accionable · Veredicto |

El resultado llega al hilo como tabla, con el **modelo que corrió** y su **costo**. La tabla «Evals» de `/factory` lo resume por rol y configuración: calificación, peor/igual/mejor, tiempo, costo del rol y costo del juez (medianas).

## El juez: `@eval`

Por defecto juzga `@check`. Mejor un **juez fijo**: en «Equipo del espacio» elige un agente para `@eval`.

- Tus evals quedan comparables en el tiempo aunque cambies el modelo de `@check`.
- Nunca se juzga con el mismo rol que se evalúa. Por eso **evaluar a `@check` exige `@eval`**, y sólo el juez que fijó el eval al arrancar puede calificarlo.
- Basta uno de otro motor y más barato: califica, no programa.

## Costo

Para que un eval salga barato:

- El juez recibe todo en su encargo (plan, diffs recortados, rúbrica) y no explora el repo.
- No se repite un eval igual (mismo pedido, rol, agente y modelo): te dice cuál ya existe.
- Los de `@build` y `@check` sólo corren sobre PRs de hasta **800 líneas**.

Como referencia, sobre un pedido chico: un eval de `@plan` costó $0.49 y uno de `@check` $1.28 del rol evaluado. **El juez puede costar tanto o más** (con un modelo de gama alta calificar ese `@check` costó $1.87, porque lee los dos diffs completos): elige para `@eval` un modelo barato. La columna «Juez» de la tabla te lo dice.
