# Evaluating a model for code: fixtures, gates and cost per successful task

A coding model is chosen with your own fixture, a gate that passes or fails and the cost per successful task. Public benchmarks are not enough.

> Page: https://ui.eneawork.it/blog/valutare-un-modello-per-codice
> Markdown: https://ui.eneawork.it/blog/valutare-un-modello-per-codice.md

*2026-11-01*

Un modello per il codice si valuta con una fixture presa dal tuo repository, un gate che passa o fallisce e il costo per attività riuscita. Un punteggio medio su un benchmark pubblico risponde a un'altra domanda.

Il client EneUI contiene 60 file TypeScript e TSX per 13.924 righe, contati ricorsivamente in client/src il 1 novembre 2026, escludendo node_modules e dist. Il catalogo dietro conta 111.985 componenti, 1.556 blocchi e 12.808 icone da 1.472 librerie, letti da /api/stats lo stesso giorno. I prezzi vengono dai listini ufficiali, letti il 1 novembre 2026: gpt-5.3-codex a 1,75 $ di input e 14 $ di output per milione di token in modalità standard, 3,50 $ e 28 $ in modalità fast, da platform.openai.com/docs/pricing; deepseek-flash a 0,15 $ di input senza cache e 0,60 $ di output fuori orario di punta, con contesto da 1M token, da api-docs.deepseek.com/quick_start/pricing. Nessun punteggio di benchmark è citato: non ne abbiamo misurato uno.

## La metrica che sopravvive al cambio di modello

La metrica utile è una frazione con due numeri veri: costo totale diviso attività riuscite. Il costo totale si legge dalla risposta dell'API, campo usage; le attività riuscite le decide il tuo gate, non il modello che dice di aver finito. Se cambi fornitore, la frazione resta confrontabile anche quando i token per attività cambiano.

## Costruire la fixture in un pomeriggio

## Il gate eseguibile

npm run build && npx tsc --noEmit -p client/tsconfig.json

Nel repository EneUI npm run build esegue la build del client, il controllo di sintassi e la minificazione CSS. Un gate così non chiede al modello di autovalutarsi: o il processo esce con 0, o l'attività è fallita. Il comando va lanciato su una copia pulita, perché una build che trova artefatti vecchi può passare per motivi sbagliati.

## Le tre colonne del foglio di calcolo

## Prezzo e token: due numeri separati

Un modello economico per token può costare più caro per attività se scrive tre volte tanto o se sbaglia al primo colpo. Un modello caro può convenire quando chiude al primo tentativo su un repository grande. La differenza tra i due listini letti il 1 novembre 2026 è di due ordini di grandezza sull'input, quindi il tasso di successo deve essere misurato, non stimato.

## La limitazione

La nostra fixture misura 60 file e 13.924 righe: è un progetto piccolo, e un modello che eccelle qui può perdersi in un monorepo da 400 pacchetti. I benchmark pubblici hanno il problema opposto, perché i loro task sono spesso già visti in addestramento. Nessuno dei due numeri predice il tuo caso: la fixture va rifatta quando il repository cambia forma.

## Dove continuare

Il costo dei token in un contesto lungo è in contesto lungo: costi reali, e l'ordine dei passi in orchestrare agenti multi-step. Per i rischi di un agente che scrive sul disco leggi sicurezza di un agente di coding, e per la scelta tra interfacce già pronte la rassegna generatori di UI con AI. La fixture può partire dal catalogo: 111.985 componenti, 1.556 blocchi e un record con licenza MIT dichiarata come agent dock di dqnamo.

## FAQ

### Quante attività servono per una fixture credibile?

Venti bastano per vedere differenze grandi, cioè un modello che chiude al primo colpo e uno che non chiude. Con meno di dieci il rumore copre il segnale, con più di cinquanta il costo di preparazione supera il beneficio.

### Posso usare un benchmark pubblico come primo filtro?

Sì, per escludere i modelli che non sanno scrivere codice. Non serve a scegliere tra i primi cinque, perché i task pubblici sono noti e il formato del prompt è diverso dal tuo. La fixture decide, il benchmark orienta.

### Come conto i token senza dipendere dal fornitore?

Leggi il campo usage di ogni risposta e sommalo: è l'unico numero che paghi davvero. La stima a quattro caratteri per token serve al massimo per un preventivo, non per un confronto.

### Il tasso al primo tentativo vale più del costo?

Dipende dal tempo umano. Un retry automatico costa token, un retry che rileggi tu costa anche attenzione. Se il tuo collo di bottiglia è la revisione, misura le revisioni per attività e non i token.

### Che cosa rende una fixture inutile?

Un gate che il modello può modificare. Se l'agente può cambiare il test o il tsconfig, il risultato è una dichiarazione, non una misura. Il gate deve stare fuori dalla cartella su cui l'agente scrive.
