Errori di Cache del Prompt Possono Costare alla Tua Organizzazione Quasi 6x di Più ad Ogni Turno AI
Quanto costa alle organizzazioni che costruiscono harness, gestiscono piattaforme AI interne o distribuiscono prodotti AI, misurato sui modelli di 4 labs e tarato sul traffico live, con la soluzione e come continuare a monitorarlo.
Developed by Robert E. Beckner III (Merlin) | rbeckner.com
Anni fa ho iniziato a chiedermi perché l’AI non sembrava mai conoscere bene data e ora. Chiedere a una conversazione che giorno fosse poteva richiedere secondi, e mi aspettavo una risposta istantanea. Il computer che esegue la conversazione sa che ora è.
Da allora ho capito parte della ragione. Una persona può tornare a una conversazione il giorno successivo, e qualsiasi ora la conversazione è stata data all’inizio è diventata obsoleta. Qualcosa deve fornirla di nuovo. Un harness, il programma intorno a un modello che mette insieme ogni richiesta e esegue il ciclo, può fare ciò scrivendo l’ora corrente nelle istruzioni del modello prima di ogni richiesta. L’agent runner che usiamo in produzione ha fatto esattamente quello.
So di cache del prompt da molto tempo. I provider memorizzano l’inizio di una richiesta e la fatturano a una frazione del prezzo quando la successiva richiesta inizia allo stesso modo. Non conoscevo bene la sua meccanica per vedere cosa fa una linea come l’ora su di essa. Abbiamo scoperto la risposta nei nostri costi di produzione, e ho diretto una serie di esperimenti per misurarla correttamente, su un modello attuale di ciascuno dei 4 labs e contro le cifre pubbliche di OpenRouter per ciò che tutti gli altri pagano.
La risposta è costosa. Su GPT-6 Luna, l’ora scritta nel posto sbagliato ha fatto costare a ogni turno di una conversazione 5.7× quello che doveva, e nulla ha sollevato un errore. Attraverso le organizzazioni di traffico inviano questi modelli, l'input è 96–99% dei token e 66–87% dei dollari effettivamente pagati, quindi la cache decide la maggior parte della fattura. Per un'organizzazione che costruisce il proprio harness, esegue una piattaforma AI interna o spedisce prodotti AI, un errore come questo moltiplica il costo di ogni turno, silenziosamente, per tutto il tempo in cui funziona.
Ogni numero per turno qui è stato misurato il 23 settembre 2026, attraverso OpenRouter. I numeri di mercato sono di OpenRouter, letti lo stesso giorno.
Una cache di prompt memorizza l'inizio di una richiesta e la fattura a un decimo#
Ogni chiamata a un modello invia di nuovo l'intera conversazione: le definizioni degli strumenti, il prompt di sistema (le istruzioni permanenti che scrive il harness), ogni turno precedente e il nuovo messaggio.
I provider mantengono l'inizio elaborato delle richieste recenti. Quando la prossima richiesta inizia con lo stesso testo, il provider legge quel prefisso memorizzato invece di elaborarlo di nuovo. Su GPT-6 Luna, OpenRouter fatturava una lettura a 0.10× il prezzo di input indicato e la prima scrittura a 1.25×. Un prompt che viene riscritto ad ogni turno costa quindi più di un prompt senza alcuna cache.
Solo l'inizio di una richiesta può essere riutilizzato. Una modifica in qualsiasi punto annulla tutto ciò che segue:
Diagram source
graph LR
A[Definizioni degli strumenti] --> B[Prompt di sistema]
B --> C[Turni precedenti]
C --> D[Nuovo messaggio utente]
B -. a changed line here voids B, C and D .-> D
Qualsiasi cosa che un harness scrive vicino all'inizio e cambia ad ogni turno mette a rischio l'intera conversazione dietro di essa. L'ora corrente è l'esempio più semplice.
L’abbiamo trovato nella nostra stessa fattura, nascosto dal nostro registro dei costi#
La scoperta è iniziata in un agente che eseguiamo in produzione. Il suo registro dei costi aveva valutato ogni chiamata al prezzo di listino e non mostrava alcuna cache. Ho sollevato l’allarme e ho iniziato a valutare un passaggio a un modello diverso.
L’agente con cui stavo lavorando ha scoperto per primo che il registro stesso era sbagliato. Su 33 chiamate ha stimato $0.064; il provider aveva fatturato $0.023, 2.7× meno. Valutare ogni chiamata dal conteggio dei token aveva cancellato ogni sconto che il provider applicava. Leggere il costo riportato dal provider invece mostrava la cache funzionante all’interno di ogni turno e fallita all’inizio di ogni nuovo turno.
La sua prima spiegazione era una chiave di sessione mancante che avrebbe mantenuto le richieste sullo stesso server. La sua stessa indagine lo ha confutato: prompt identici già letti dalla cache tra i turni su GPT-6 Luna, e l’aggiunta di una chiave di sessione, una chiave di cache o un marcatore di cache esplicito non ha cambiato nulla. La causa era nel prompt di sistema stesso. Circa 95% del percorso in, il runner scriveva due linee che cambiavano ad ogni turno: una directory di lavoro per turno e un orologio al minuto. Ogni prima chiamata di un turno scriveva di nuovo l’intero prompt a 1.25×.
Spostare entrambe le linee alla fine del messaggio dell’utente l’ha risolto in produzione. I turni 2 e 3 ora si aprono a 0.47–0.51× invece di 1.25×. Il resto è un blocco di contesto per turno che il runner ancora invia nel messaggio dell’utente.
Dove va il tempo decide se il prompt venga letto o riscritto#
La mia ipotesi, prima che tutto questo fosse misurato, era che un controllo deterministico potesse fornire il tempo solo quando era scaduto, come un messaggio separato, e lasciare il resto del prompt in cache. Si mantiene, con una condizione, e quella condizione è la regola su cui si basa il resto dell’articolo.
Per testarlo direttamente, abbiamo costruito un sondaggio che esegue la stessa conversazione con l’orologio in posizioni diverse, separando 65 secondi in modo che il minuto cambi tra ogni coppia. GPT-6 Luna, un prompt di sistema a 8.5K token, 3 replica:
Dove va l’orologio
Aperture di turno
Leggi dalla cache
Riscritto
Prezzo vs input elencato
Nessun orologio (controllo)
12
12
0
0.10×
Fine del prompt di sistema
12
0
12
1.25×
Un secondo messaggio di sistema
12
0
12
1.25×
Inizio del messaggio utente
12
12
0
0.10×
Fine del messaggio utente
12
12
0
0.10×
Il suo messaggio, ogni turno
12
12
0
0.11×
Il suo messaggio, solo quando obsoleto
12
12
0
0.10×
Il mio messaggio separato ha mantenuto la cache in entrambe le forme, ogni turno e solo quando obsoleto. La condizione è dove il messaggio si trova. Dopo le istruzioni stabili, il provider legge tutto prima di esso. Come secondo messaggio di sistema si trova tra le istruzioni, e GPT-6 Luna ha riscritto l'intero prompt su 12 di 12 turni.
La regola che segue è breve. Qualsiasi cosa che cambia tra i turni va dopo tutto ciò che non cambia.
Un orologio non costa nulla finché il suo testo non cambia#
La cache confronta il testo, quindi un orologio è innocuo finché il suo testo rimane lo stesso. Nello stesso sondaggio con rotazioni di 4 secondi di distanza, un orologio minuto nel prompt di sistema leggeva dalla cache ogni volta. Con rotazioni di 65 secondi di distanza, forzava una riscrittura completa ad ogni turno.
La risoluzione stabilisce con quale frequenza ciò accade. Un orologio ora e una linea di data nel prompt di sistema leggono dalla cache su tutti gli aperture di turno di 12 delle esecuzioni di 65 secondi, perché nessuno è scaduto. Si rompono anche, una volta all'ora e una volta al giorno. Un orologio minuto si rompe ad ogni turno che inizia in un minuto successivo a quello precedente.
Anche la cache stessa scade. In esecuzioni singole temporizzate, GPT-6 Luna leggeva ancora il suo prefisso memorizzato dopo 30 minuti di inattività e scriveva di nuovo l'intero prompt a 1.25× dopo 60. DeepSeek V4.1 Flash leggeva dopo 10 minuti e mancava dopo 60. Claude Opus 5.5 aveva già mancato dopo 10, poiché la cache predefinita di Anthropic dura 5 minuti e la sua cache di 1 ore costa 2× da scrivere. La persona che torna a una conversazione il giorno successivo, il caso con cui questo articolo è iniziato, trova sia un tempo scaduto sia una cache fredda su tutti e tre. Quel primo turno di ritorno copre l'intero prompt qualunque cosa faccia il supporto. Il posizionamento decide se anche le mosse successive lo fanno.
4 i modelli dei laboratori hanno dato 4 risposte diverse#
GPT-6 Luna è la risposta di un fornitore. Per vedere quanto la lezione sia generale, abbiamo eseguito le stesse posizioni su un modello attuale di ciascun laboratorio 4, con un prompt identico di 2.5K token, ciascuno fissato a un singolo fornitore:
Price of each turn's first call, by where the clock is written (median, multiple of the listed input price)Chart data
multiple of listed input price
GPT-6 Luna (OpenAI)
Claude Opus 5.5 (Anthropic)
DeepSeek V4.1 Flash (DeepInfra)
No clock
0.11
0.07
0.03
System prompt
1.25
1.24
0.13
Second system
1.25
0.08
0.04
User message
0.12
0.08
0.04
Reference line, listed input price: 1
GPT-6 Luna memorizza i messaggi interi. Una riga modificata annulla il messaggio che la contiene e tutto ciò che segue.
Claude Opus 5.5 memorizza dove il chiamante lo indica. I modelli di Anthropic memorizzano solo fino a un marcatori cache_control che il sistema posiziona. Senza marcatori, lo stesso prompt è stato fatturato al prezzo pieno in ogni chiamata. Con il marcatori nel prompt di sistema, un orologio all'interno di quel blocco costa 1.24×, mentre un orologio in un secondo messaggio di sistema dopo di esso legge a 0.08×. La posizione che GPT-6 Luna punisce è sicura su Opus. Ai prezzi di Opus la differenza per apertura di turno era $0.0214 contro $0.0023. Opus contava anche lo stesso prompt come 4,056 token dove GPT-6 Luna contava 2,395, quindi lo stesso testo costa 1.69× più token prima che si applichi qualsiasi prezzo.
DeepSeek V4.1 Flash memorizza in blocchi di 256 token e non addebita nulla in più per la scrittura. Le letture tornavano in multipli esatti di 256: 2.560 token per il prompt invariato, 2.304 con l'orologio alla fine del prompt di sistema. Una riga modificata costa solo il blocco che la contiene. Le prime chiamate sono state fatturate al prezzo di input semplice, e le letture a 0.03–0.04×. In 8 esecuzioni per posizione, 2 chiamate singole hanno mancato la cache in un turno che la stessa esecuzione poi ha letto, il che si legge come la richiesta che atterra su un server diverso anziché come un effetto della posizione. L'endpoint proprio di DeepSeek è l'unico OpenRouter marcato come memorizzazione automatica, e l'impostazione di privacy del mio account lo esclude perché quell'endpoint si addestra su traffico a pagamento. Le esecuzioni sono passate attraverso DeepInfra, che ha memorizzato, così come Fireworks e Morph in un controllo a 2 chiamate.
Muse Spark 1.3 legge la sua cache all'interno di un ciclo di strumenti e manca all'inizio di ogni nuovo turno. Le nostre prime prove, che pongono una nuova domanda contro lo stesso prompt di sistema, hanno servito al massimo 113 token dalla cache in 10 chiamate, a 2.9K, 8.9K e 19.4K token. Quando una chiamata di follow-up ha esteso la richiesta precedente, come fa un ciclo di strumenti di un agente, Muse ha letto 2,801 di 2,966 token e ha fatturato 0.17×. Il turno successivo dell'utente, con tutta la cronologia davanti a sé, non ha letto nulla. OpenRouter riporta un tasso di hit della cache 86.1% per Muse sul traffico live, che si adatta a un carico di lavoro dominato da cicli di strumenti. All'inizio di un turno l'orologio non fa differenza su Muse, poiché quella chiamata manca comunque.
La stessa decisione del sistema costa un importo diverso su ogni modello. Sapere quale meccanismo usa il tuo fornitore viene prima di regolare qualsiasi cosa.
Un hit di cache ha guadagnato denaro, non velocità#
Ci aspettavamo che i turni memorizzati rispondessero più rapidamente. Su 10 coppie sequenziali di chiamate GPT-6 Luna a 8.5K token, la prima chiamata mediana richiese 437 ms dalla cache e 490 ms senza di essa. Tale divario si inserisce all'interno della dispersione dei campioni. A questa dimensione, la memorizzazione cambia il costo di un turno e lascia che la durata rimanga più o meno la stessa.
Quindi la pausa che ricordo quando chiedo l'ora ha una causa diversa. Il costo di un orologio in posizione sbagliata è denaro.
Un orologio nel prompt di sistema si trova davanti all’intera conversazione, quindi ogni riscrittura copre la storia in crescita dietro di essa così come le istruzioni. Ecco il costo misurato di una conversazione GPT-6 Luna a 12 turni, con la fattura completa riportata dal provider, inclusi output e le chiamate all’interno di ogni turno:
Cumulative cost of one 12-turn conversation on GPT-6 Luna (US cents)Chart data
US cents, cumulative
turn
Clock at the end of the system prompt
Clock at the end of the user message
1
0.119
0.119
2
0.237
0.14
3
0.357
0.161
4
0.477
0.182
5
0.599
0.203
6
0.722
0.225
7
0.846
0.247
8
0.971
0.269
9
1.097
0.291
10
1.224
0.313
11
1.352
0.335
12
1.482
0.358
Le due righe condividono il loro primo turno, quando entrambi scrivono la cache. Da quel momento in poi, ogni turno con l’orologio nel prompt di sistema costa 5.7× quello dello stesso turno con l’orologio alla fine del messaggio utente. Al turno 12 la conversazione aveva costato 4.1× tanto, e il divario si allarga con ogni turno.
Frattioni di centesimo diventano una voce di dettaglio a scala. Questa proiezione valuta la prima chiamata di ogni turno per un prodotto che serve 10,000 conversazioni al giorno, ognuna con un prompt di sistema di 8.5K token, 20 turni, e storia che cresce di 1,500 token per turno. Ogni modello utilizza il suo prezzo indicato e il comportamento della cache mostrato sopra:
Modello
Comportamento della cache
Per conversazione, orologio nel prompt di sistema
Per conversazione, orologio alla fine
Per anno, differenza
GPT-6 Luna
messaggio completo
$0.057
$0.0057
$187K
Claude Opus 5.5
marker del chiamante
$2.28
$0.14
$7.8M
DeepSeek V4.1 Flash
blocchi token 256
$0.042
$0.0032
$141K
Muse Spark 1.3
mancato all’apertura dei turni
$0.57
$0.57
$0
i blocchi di DeepSeek mantengono il prompt di sistema quando l’orologio cambia, e il modello risulta ancora 13× più costoso, perché la cronologia dietro l’orologio supera le istruzioni in pochi turni. Muse Spark mostra l’altra faccia: è mancato all’inizio di ogni turno nelle nostre esecuzioni, quindi la posizione non ha salvato nulla lì e ogni apertura di turno ha pagato il prezzo pieno, $2.1M all’anno per lo stesso traffico.
Sul traffico live, il tasso di hit della cache è la maggior parte della fattura#
Le nostre misurazioni usano un prompt controllato. OpenRouter pubblica quanto costano gli stessi modelli sul traffico di tutti, e lo stesso meccanismo appare lì su larga scala. Quasi tutto ciò che viene inviato a questi modelli è input: 96,3% dei token di GPT-6 Luna il suo primo giorno, 98,5% di Claude Opus 5.5 e DeepSeek V4.1 Flash, e 98,9% di Muse Spark 1.3. L’input è dove si applica la cache, quindi il tasso di hit stabilisce la maggior parte di ciò che un business paga.
I clienti hanno pagato $0.87 per milione di token di input per Claude Opus 5.5 contro un listato $4.00, $0.30 contro $1.25 per Muse Spark 1.3, e $0.036 contro $0.10 per GPT-6 Luna. Attraverso gli endpoint che servono lo stesso modello lo stesso giorno, il prezzo pagato segue il tasso di hit:
Claude Opus 5.5 on OpenRouter, input price actually paid by each endpoint's cache hit rate (USD per 1M tokens)Chart data
USD per 1M input tokens
92.2% hit
0.557
89.9% hit
0.658
88.7% hit
0.727
81.6% hit
0.974
77.4% hit
1.123
0% hit
4.399
Reference line, listed input price: 4
Prezziando ogni miss come una scrittura di cache e ogni hit come una lettura predicono i prezzi pubblicati di ciascuno dei 5 principali endpoint entro 2–13%. Il solo tasso di hit spiega la dispersione. Su GPT-6 Luna lo stesso schema va da $0.025 a un tasso di hit di 88.1% a $0.075 a 49.4%, un fattore di 3.
Quanto costa a un'organizzazione un errore di caching su scala#
La stessa decisione di posizionamento si presenta diversamente su ogni tipo di organizzazione che costruisce su queste API.
Gli sviluppatori di harness impostano il tasso di hit per ogni utente contemporaneamente. Le 5 app che hanno inviato Claude Opus 5.5 il più traffico il suo primo giorno erano tutti agenti, tra 2.9B e 16.3B token ciascuno. Per un harness a 10B input token al giorno su quel modello, ogni punto di tasso di hit del cache vale $175K all'anno. Il divario tra gli endpoint 92.2% e 77.4% sopra arriva a $2.07M all'anno a quel volume. Un clock nel prompt di sistema che riscrive ogni turno di apertura costa tra $1.75M e $8.76M all'anno, a seconda se le aperture di turno siano 1 chiamata in 10 o 1 in 2. La decisione viaggia anche: ogni prodotto costruito su un harness eredita il suo posizionamento. Mentre scriviamo questo abbiamo trovato lo stesso clock del prompt di sistema in un secondo harness nostro, che esegue una build più vecchia dello stesso runner.
Le aziende che eseguono una piattaforma AI interna lo impostano per ogni team dietro di loro. Un gateway che timbra il prompt di sistema di ogni richiesta con un timestamp o un ID di richiesta per l'auditing trasforma ogni apertura di turno di ogni applicazione in scritture, qualunque cosa i team costruiscano sopra. La contabilità è la seconda esposizione. Addebitato al prezzo di list, i costi di input sembrano 2.8× più grandi della fattura su GPT-6 Luna, 4.1× su Muse Spark 1.3 e 4.6× su Claude Opus 5.5. Il nostro libro contabile ha sovrastimato le chiamate 33 di 2.7×, e sono venuto vicino a cambiare modello sulla base di questo.
Le aziende che spedono prodotti AI lo pagano in ogni conversazione. All'interno di una conversazione, il clock sbagliato costò 5.7× per turno. In un mercato, le scommesse sono più grandi. Il 21 settembre, Muse Spark 1.3 ha preso 88,5B token di input attraverso OpenRouter. Al prezzo di list questo è $110.6K; i clienti hanno pagato $26.9K, e ogni punto di hit rate su quel traffico vale $355K all'anno. DeepSeek V4.1 Flash ha preso 2,68T token di input lo stesso giorno, e ai prezzi di DeepInfra ogni punto vale $1,33M all'anno. Quei numeri coprono un router. Il traffico inviato direttamente ai provider non appare in essi.
La correzione: mantieni l’inizio di ogni richiesta congelato e aggiungi ciò che cambia alla fine#
Ogni costo di questi risale allo stesso meccanismo, e così è la correzione. Le convenzioni di harness ben costruiti si leggono come le sue conseguenze:
Stabile prima, cambiamento ultimo. Le definizioni degli strumenti e il prompt di sistema rimangono congelati per tutta la conversazione. Il tempo, la directory di lavoro, un ID di richiesta e qualsiasi altra cosa che varia vanno alla fine del messaggio più recente.
Aggiungi, non modificare. Le turn precedenti vengono inviate esattamente come erano. Modificare, riordinare o tagliare li annulla tutto ciò che segue la modifica.
Usa la leva che il tuo provider ha. Su GPT-6 Luna, le chiavi di sessione e i marcatori di cache non facevano nulla perché i prompt identici già colpivano. Su Claude Opus 5.5 il marcatore è l’intero meccanismo. Su DeepSeek V4.1 Flash, la scelta del provider decide se esiste una cache.
Raffina ciò che deve rimanere in anticipo. Una linea di data nel prompt di sistema si rompe una volta al giorno, e un orologio minuto si rompe ogni volta che una turn inizia in un nuovo minuto.
O lascia fuori l’orologio. Un harness può dare al modello uno strumento che restituisce il tempo, così il prompt non cambia e il modello chiede quando deve sapere. Ciò costa un round trip, al momento in cui la domanda è posta.
Regola dal conto. Chiamate di prezzo dal costo riportato del provider. Un libro contabile costruito da conteggi di token al prezzo di listino ha nascosto tutto questo da noi.
Tieni d’occhio il tasso di successo, perché ciò che lo rompe continua a cambiare#
La soluzione sopra è un singolo edit. Le condizioni intorno a essa continuano a muoversi. Un harness guadagna un nuovo hook, un gateway inizia a timbrare le richieste con un ID, un team passa a un modello con un meccanismo di cache diverso, un provider cambia quanto tempo un prefisso inattivo rimane caldo. I quattro modelli qui memorizzano in quattro modi diversi, e Claude Opus 5.5 lascia una cache raffreddarsi entro 10 minuti di inattività. Il secondo harness dove abbiamo trovato lo stesso orologio era semplicemente rimasto su una build più vecchia. Nessuna di queste cose genera un errore.
Ogni chiamata restituisce già ciò che serve per vederla: token del prompt, token memorizzati, token di scrittura nella cache e il costo fatturato. Registrato per chiamata, insieme a se la chiamata ha aperto un turno o ne ha continuato uno, quei campi danno tre numeri da monitorare per ogni percorso e modello:
Il tasso di lettura di apertura del turno. La quota di aperture di turno che leggono il prefisso memorizzato. Un orologio nel posto sbagliato lo ha portato da 12 di 12 a 0 di 12 nelle nostre esecuzioni.
La quota di scrittura. Token di scrittura nella cache come quota di tutto l’input. Un percorso che scrive ad ogni turno paga 1.25× e non raccoglie mai lo sconto.
Il prezzo effettivo dell’input rispetto alla lista. Il proprio verdetto della fattura, stabilito dal costo riportato dal provider anziché dai conteggi dei token.
Una soglia su quegli numeri cattura un improvviso calo. Nominate la causa attraverso settimane di dati è un problema di classificazione, e una nuova classe di modello la soddisfa. Jev, da TypeSafe, è ciò che il suo creatore chiama un modello System One. Non genera testo. Prende uno stato e domande tipizzate e restituisce risposte tipizzate con una distribuzione di probabilità e una fiducia: una scelta tra opzioni, una probabilità di sì, o una posizione su una scala ordinata. Dato il profilo di cache giornaliero di un percorso, può nominare il modello che il giorno corrisponde (sano, aperture di turni riscritti, cache che scade tra i turni, traffico che raggiunge un endpoint che non mette in cache) e dire quanto è sicuro, così un cambiamento di categoria diventa l'allerta. Lo usiamo in produzione per classificare documenti e, nell'osservazione, per valutare episodi di agenti finiti. OpenRouter lo elenca a $0.042 per milione di token di input senza addebito per l'output. A quel prezzo, classificare un profilo giornaliero di 2K token per ciascuno dei 1,000 percorsi costa circa $31 all'anno, contro $175K all'anno per un singolo punto di tasso di successo alla scala di harness sopra.
Un sistema che continua a riscrivere la sua cache paga il premio ad ogni turno di ogni conversazione, per tutto il tempo che funziona, e la bolletta raramente spiega perché. La correzione può essere così piccola quanto dove è scritto il tempo. Mantenere la correzione richiede un numero che qualcuno osserva.
Ciò che abbiamo misurato, e ciò che rimane da misurare#
Ogni cifra misurata sopra proviene dai propri campi per chiamata di OpenRouter (token memorizzati nella cache, token scritti nella cache e costo fatturato) del 23 settembre 2026. Le cifre di mercato provengono dalle pagine pubbliche del modello di OpenRouter lette quel giorno: il prezzo di input ponderato effettivamente pagato, il prezzo effettivo di ogni endpoint e il tasso di successo della cache, e un giorno di attività di token per modello. Claude Opus 5.5 e GPT-6 Luna sono stati lanciati il 22 settembre, quindi le loro cifre di attività coprono un primo giorno parziale, e l’articolo le utilizza solo come quote. Gli esperimenti hanno costato $0.63 in totale, e il probe si è rifiutato di avviarsi una volta che l’uso dell’account si avvicinava a un limite $1 cap. I prezzi sono i prezzi elencati di OpenRouter letti lo stesso giorno. La guida di caching di OpenRouter elenca OpenAI letture di cache a 0.25–0.50×; GPT-6 Luna fatturava le sue letture a 0.10×, e questo articolo riporta ciò che è stato fatturato.
Ancora aperto: il punto esatto in cui la cache inattiva di ciascun modello scade, che singoli run temporizzati delimitano solo; quanto spesso un orologio orario o di data si rompe su effettive lacune di conversazione; perché Muse Spark è mancato all’inizio di ogni turno quando la sua cronologia non era cambiata; e il comportamento di DeepSeek sul suo stesso endpoint. La correzione per turno è attiva nel nostro agente di produzione, e lo stesso risultato è stato in coda per un secondo harness che esegue una versione più vecchia dello stesso runner.
Da me. La domanda dietro l’articolo: perché l’IA non sembrava mai conoscere bene data e ora, e impiegava secondi per dirla quando dovrebbe essere istantanea. L’idea che il tempo diventi obsoleto durante una sessione e debba essere fornito di nuovo, la mia ipotesi che un messaggio deterministico, solo-when-stale, lascerebbe il prompt in cache, e la chiamata per testarlo con esperimento. Il framing dei costi: quantificato per le aziende che costruiscono su questi modelli, dagli harness builder alle aziende che gestiscono le proprie piattaforme AI interne, così com’è oggi e così si compone. La chiusura sull’osservazione continua, con un modello System One come Jev che classifica il profilo cache nel tempo, perché la correzione vale solo finché qualcuno continua a guardare.
Da Claude Opus 5.5. Ha scoperto che il nostro ledger dei costi nascondeva la cache, 2.7× su chiamate 33, e ha tracciato la causa a linee 2 nel prompt di sistema che cambiavano ad ogni turno. Ha costruito la correzione runner che ora è in produzione, la sonda, l’analisi e il modello di costo dietro ogni numero qui, e ha confrontato il meccanismo con le cifre di mercato pubbliche di OpenRouter. Attraverso i modelli 4 ha identificato 3 diversi comportamenti di cache, incluso il comportamento di intero messaggio di GPT-6 Luna, e un quarto modello senza cache utilizzabile.
Critiche che sono rimaste.
Da Claude Opus 5.5, della sua prima spiegazione: una chiave di sessione mancante. La sua sonda lo ha confutato; prompt identici già letti dalla cache tra i turni.
Dalle misurazioni di Claude Opus 5.5, della mia ipotesi: il messaggio di tempo separato funziona solo quando viene dopo le istruzioni stabili. L’articolo porta la mia idea con quella condizione allegata.
Arrivato insieme. Il risultato che un orologio non costa nulla finché il suo testo non cambia, e poi costa l’intero prompt. E la regola che l’articolo attiva: tutto ciò che cambia tra i turni va dopo tutto ciò che non cambia.