Tutti gli altri strumenti rispondono dopo. StarkEno risponde prima, e poi mette la propria risposta a confronto con l'esecuzione vera.
pip install starkeno
Python 3.11+ · MIT · nessun account
Un simulatore che nasconde il proprio errore non vale niente. Questi sono i due confronti fra il preventivo e l'esecuzione vera, per intero, in token:
typical9,15 e 3,1 non sono lo stesso numero.
Lo scarto non è una costante moltiplicativa: la correzione non sarà un coefficiente da applicare, e il lavoro davanti è capire da cosa dipende. Due punti bastano a escludere l'ipotesi comoda, non a disegnare una curva. Le due misure differiscono in harness, forma, lunghezza e ritentativi tutti insieme, quindi non isolano niente.
La causa della direzione, però, si conosce, ed è strutturale invece che aritmetica. Il simulatore conta il contesto riletto solo sui ritentativi, come si comporterebbe una singola chiamata a un modello. Un agente vero non ha memoria fra un turno e l'altro: rispedisce tutto il contesto accumulato a ogni turno. Nella misura 2 quella rilettura è il 97% della spesa, e su una settimana di lavoro normale è il 60%.
Un errore casuale è un vicolo cieco. Uno strutturale è un coefficiente. È per questo che il numero sbagliato sta in prima pagina invece che in fondo a un backlog, ed è la ragione per cui servono altre misure, fatte da qualcuno che non sia l'autore. Bastano otto numeri: nessun database, nessun transcript. Come mandarne una →
Niente plugin, niente hook, nessun server, nessuna rete, nessun account. Il Blueprint d'esempio viaggia dentro il pacchetto, quindi questi comandi funzionano appena installato.
pip install starkeno
python -m starkeno preflight esempio --output esempio.json
python -m starkeno preflight draft --input esempio.json --format yaml --output bozza.yaml
python -m starkeno preflight analyze --input bozza.yaml --confirmed --samples 50 \
--format html --output report.html
È qui che si distingue da una stima qualunque.
optimistic, typical, prudent,
maximum: su un lavoro non deterministico un numero solo sarebbe una
finzione, e quattro ti dicono anche quanto è largo il ventaglio.
Ogni analisi porta il proprio grado di fiducia scritto sopra, invece di lasciartelo dedurre.
declared l'hai detto tu, default l'ha messo lui,
inferred l'ha dedotto. Una stima di provenienza ignota non è
verificabile.
«prezzi mancanti nel caso peggiore per…», invece di metterci zero: il denaro assente è assente, mai zero.
La metà finita e installabile: un hook di fine turno rilegge i transcript che il tuo agente già scrive e ricostruisce quanto costa il tuo modo di lavorare, scomposto per progetto, modello, sessione, skill e server MCP. Claude Code e Codex nello stesso conto.
| Colonna | Perché è lì |
|---|---|
| Costo di lavoro | l'unica parte che è davvero il lavoro |
| Costo di caricamento | il prezzo di preparare il lavoro |
| Costo di rilettura | ripagato a ogni turno, per lo stesso materiale |
| Esiti ignoti | quanta parte del quadro è congettura |
| Righe non classificabili | quanto diffidare del resto |
Le ultime due righe sono quelle che gli altri strumenti non ti mostrano.
Se ti serve solo il consuntivo, ci sono buoni strumenti già pronti
Ad esempio ccusage, che legge gli stessi file JSONL e gira con npx.
StarkEno esiste per la metà che nessun altro tenta: dire il costo
prima, e poi metterlo a confronto con quello vero.
Nessuna chiamata di rete, nessun account, nessuna telemetria. Il conto è un file HTML
sul tuo disco e il database è SQLite locale. Gli hook escono 0 qualunque
cosa accada: se StarkEno si rompe, il tuo lavoro no. Ed è anche il motivo per cui
esiste starkeno doctor, perché uno StarkEno muto è identico a uno che
funziona.
Anche questa pagina. Nessun font esterno, nessuna libreria da CDN, nessun analytics, nessun cookie: le uniche richieste che fa sono le immagini, ospitate su GitHub. Un cancello nel workflow di pubblicazione fa fallire il deploy se questa pagina prova a contattare qualcun altro.