Cambia tema

Perché Prompt Cache non riduce i costi: diagnosticare gli agenti di coding con prompt-cache-skills

Easton editorial illustration: central cache vault with stacked prompt blocks, cold request entering the vault, warm request reusing the cached blocks, small timestamp block diverted away from the cache

"Il repository prompt-cache-skills organizza skill di correzione della cache per agent harness e richiede una verifica basata sui campi reali di utilizzo dopo il diff."

La fattura mensile di Claude Code o Cline potrebbe essere superiore del 30%–50% al necessario. Non perché l’utilizzo sia elevato, ma perché Prompt Cache non sta funzionando.

Molti Agent di coding con IA abilitano prompt caching per impostazione predefinita, ma una piccola modifica alla configurazione può invalidare l’intero prefisso memorizzato: un timestamp nel system prompt, una cache key calcolata male, l’opzione della cache disattivata o un TTL troppo breve. Non appare alcun errore e la fattura non lo segnala; continui soltanto a vedere costi API elevati ogni mese.

prompt-cache-skills è una raccolta di skill drop-in dedicata alla correzione di queste configurazioni che smettono di funzionare in silenzio. Nei casi adatti, il tasso di hit può passare da quasi zero all’80% o più. Di seguito vedremo il principio di fatturazione, le quattro cause principali, alcuni casi di correzione tipici e il metodo di verifica.

Come Prompt Cache riduce i costi

Il meccanismo di risparmio di Prompt Cache è semplice: un prefisso stabile può essere memorizzato e, quando viene riutilizzato, costa molto meno dei normali token di input.

I nomi dei campi di fatturazione cambiano tra le API, ma il principio rimane lo stesso:

Tipo di fatturazioneCaratteristicaCaso d’usoProvider rappresentativo
cache_creation_input_tokensPrima creazione della cache, in genere più costosa dei token normaliPrima richiesta con prefisso lungoAnthropic
cache_read_input_tokensCache hit, molto meno costoso dei token normali, circa il 10%Riutilizzo di un prefisso stabileAnthropic
Token di input normaliTariffa standardRichiesta breve o prefisso che cambia spessoTutti i provider
cached_tokens (OpenAI)Cache hit, costo ridotto di circa il 50%Riutilizzo di un prefisso stabileOpenAI
cached content (Gemini)Costo legato alla durata della cacheContesti lunghiGoogle Gemini

Prendiamo Anthropic come esempio. Se il system prompt contiene 2.000 token e viene riutilizzato 100 volte al giorno dallo stesso Agent, quando la cache viene colpita questi 2.000 token sono fatturati come cache_read, circa il 10% del costo di normali token di input. Solo questa voce può ridurre di circa il 90% il costo di input.

La condizione necessaria è che il prefisso sia stabile e venga riutilizzato più volte. Se il system prompt cambia a ogni richiesta, per esempio perché contiene timestamp o ID casuali, il prefisso deve essere ricalcolato ogni volta e cache_creation può persino costare più di una richiesta normale.

Perché la cache del tuo Agent continua a fallire

Questi problemi non generano errori. Vedi la cifra in fattura, ma non riesci a individuare lo spreco:

  1. I messaggi variabili rompono il prefisso. Timestamp, ID casuali o altri valori che cambiano a ogni richiesta sono inseriti all’inizio del system prompt e invalidano l’intero prefisso. È la causa più comune.

  2. La cache key è assente o errata. Alcuni strumenti Agent non impostano correttamente il marcatore della cache oppure calcolano male una cache key personalizzata. Il prefisso è stabile, ma l’API non lo riconosce come contenuto memorizzabile.

  3. La cache è disattivata per impostazione predefinita. Alcuni strumenti tengono prompt caching spento finché non lo abiliti manualmente nel file di configurazione. Pensi che l’Agent lo gestisca, ma continui a pagare la tariffa normale.

  4. Il TTL è troppo breve. La durata può essere soltanto un’ora, mentre l’intervallo reale tra le richieste è maggiore. Quando arriva la chiamata successiva, la cache è già scaduta.

I sintomi specifici variano da un Agent all’altro. Il README di prompt-cache-skills li descrive per strumento. Se sospetti una di queste cause, confronta prima il tuo caso con lo SKILL.md corrispondente.

Che cos’è prompt-cache-skills

prompt-cache-skills è un insieme di skill drop-in che qualsiasi Agent di coding con IA può leggere e applicare:

DimensioneDescrizione
PosizionamentoSkill drop-in con patch che un Agent di coding con IA può leggere e applicare
ObiettivoPortare un tasso di hit negativo o parziale all’80%–99% nei casi adatti
Agent supportatiClaude Code, Codex, Cline, Cursor, Devin, Gemini CLI, OpenCode, Aider, Continue, Roo Code e altri
Repositoryhttps://github.com/OnlyTerp/prompt-cache-skills
UtilizzoIndicare il repository → applicazione automatica dell’Agent → verifica; oppure patch manuale dalla directory skills/
Tempo risparmiatoEvita di studiare da zero i dettagli della cache di ogni API

Il progetto conta attualmente circa 99 stars. L’elenco e i nomi degli skill possono cambiare, quindi consulta il README del repository.

Rispetto a un’analisi manuale, questa raccolta evita di dover leggere la documentazione di prompt caching di ogni API, confrontare le configurazioni di Agent diversi e indovinare quale campo invalidi il prefisso. Ogni skill identifica già una causa specifica e fornisce il diff e il metodo di verifica.

Come correggere il tuo Agent con prompt-cache-skills

Puoi lasciare che l’Agent applichi automaticamente la correzione oppure modificare manualmente i file seguendo la directory skills/.

Metodo 1: lasciare che l’Agent corregga automaticamente (consigliato)

Per prima cosa, indica il repository. Invia questa istruzione al tuo Agent di coding con IA:

Leggi https://github.com/OnlyTerp/prompt-cache-skills e applica ogni skill in skills/ compatibile con l'harness che sto usando: conferma la destinazione → applica il diff → verifica secondo SKILL.md

In secondo luogo, l’Agent identifica lo strumento corrente, per esempio Cline, Continue o Aider, e presenta l’elenco degli skill corrispondenti. Vedrai la causa affrontata da ciascuno.

In terzo luogo, controlla il diff. Ogni directory contiene uno SKILL.md che descrive l’obiettivo e le modifiche. Leggilo con attenzione e verifica che siano sicure.

In quarto luogo, applica la modifica. Dopo il controllo, lascia che l’Agent applichi il diff ai file di configurazione locali o del progetto. Prima salva una copia della configurazione originale.

In quinto luogo, verifica l’hit. Usa tools/check_cache.py per confermare che la cache funzioni. Il procedimento è descritto nella sezione “Come verificare che la cache sia stata davvero colpita”.

Metodo 2: correzione manuale

Se non vuoi permettere modifiche automatiche, puoi applicarle manualmente.

Per prima cosa, apri il repository: https://github.com/OnlyTerp/prompt-cache-skills

In secondo luogo, esplora la directory skills/ e trova lo skill dello strumento utilizzato, per esempio cline-fix-volatile-msg o continue-enable-defaults.

In terzo luogo, leggi SKILL.md. Ogni directory descrive destinazione, sintomi, correzione e verifica.

In quarto luogo, modifica manualmente il file di configurazione secondo le istruzioni.

In quinto luogo, verifica il cache hit con tools/check_cache.py.

Avvertenza di sicurezza

Lasciare che l’Agent applichi un diff modifica direttamente la configurazione locale o del progetto. Leggi lo SKILL.md e comprendi ogni cambiamento prima di autorizzarlo. Salva una copia del file originale.

Dettagli della raccolta: casi tipici di correzione

Ogni skill del repository è una correzione completa, con Agent di destinazione, sintomo, diff e metodo di verifica. Questi sono alcuni casi tipici:

Nome dello skillAgent di destinazioneSintomoCorrezione
cline-fix-volatile-msgClineIl prefisso del system prompt contiene un timestamp e cambia a ogni richiestaRimuovere o fissare il messaggio variabile
cline-openai-cache-keyCline + OpenAICalcolo errato della cache key OpenAICorreggere la logica di generazione della cache key
cline-pin-timestampClineIl timestamp invalida la cacheFissare o rimuovere il timestamp
continue-fix-volatile-msgContinueIl system prompt contiene campi variabiliEliminare i messaggi variabili
continue-enable-defaultsContinuePrompt caching non è attivo per impostazione predefinitaAbilitare la configurazione della cache
continue-gemini-explicitContinue + GeminiConfigurazione della cache Gemini assenteImpostare esplicitamente i parametri della cache
aider-1h-ttlAiderTTL di una sola ora e scadenze frequentiEstendere il TTL o regolare la frequenza delle richieste
aider-cache-default-onAiderCache disattivata per impostazione predefinitaAbilitare l’opzione predefinita
opencode-detect-openai-compatOpenCodeCache non funzionante in modalità compatibile con OpenAIRilevare e gestire correttamente l’API compatibile
opencode-bedrock-doc-blocksOpenCode + BedrockProblema di cache con i blocchi documento BedrockCorreggere la strategia di cache dei blocchi

L’elenco continua a crescere e i nomi possono cambiare. Fai riferimento al README e alla directory skills/. Se il tuo Agent non è incluso, usa gli SKILL.md e i file patch esistenti come riferimento per diagnosticare manualmente problemi simili.

Come verificare che la cache sia stata davvero colpita

prompt-cache-skills include tools/check_cache.py, che confronta una richiesta cold e una warm e calcola il tasso di hit.

Procedura

Per prima cosa, scarica check_cache.py dal repository:
https://github.com/OnlyTerp/prompt-cache-skills/blob/main/tools/check_cache.py

In secondo luogo, configura la credenziale API nella variabile d’ambiente:

  • Anthropic: ANTHROPIC_API_KEY
  • OpenAI: OPENAI_API_KEY
  • Google Gemini: GOOGLE_API_KEY

In terzo luogo, esegui la richiesta cold, cioè la prima:

python check_cache.py --provider anthropic --prompt "il tuo system prompt" --message "il messaggio dell'utente"

Controlla il campo cache_creation_input_tokens:

  • Se ha un valore, la cache è stata creata
  • Registra il numero di input_tokens

In quarto luogo, attendi un secondo ed esegui la richiesta warm. Ripeti esattamente lo stesso comando con prompt e message identici.

Controlla questi campi:

  • cache_read_input_tokens: un valore maggiore di 0 indica un hit
  • cache_creation_input_tokens: dovrebbe essere 0 o assente
  • input_tokens: dovrebbe diminuire nettamente perché la parte memorizzata non viene fatturata come input normale

In quinto luogo, calcola il tasso di hit:

Tasso di hit = cache_read_input_tokens / (cache_read_input_tokens + input_tokens)

Esempio:

  • Prima richiesta: input_tokens=2000, cache_creation_input_tokens=1800
  • Seconda richiesta: cache_read_input_tokens=1800, input_tokens=200
  • Tasso di hit = 1800 / (1800 + 200) = 90%

In sesto luogo, interpreta il risultato:

  • Cache funzionante: cache_read_input_tokens > 0 nella richiesta warm
  • Cache non funzionante: cache_read_input_tokens = 0 o assente nella richiesta warm

Se cache_read_input_tokens è 0 nella richiesta warm, torna alle quattro cause principali e controlla messaggi variabili, cache key errata, impostazione disattivata o TTL troppo breve.

Significato delle metriche

  • cache_creation_input_tokens: campo Anthropic con il numero di token usati per la prima creazione della cache
  • cache_read_input_tokens: campo Anthropic con il numero di token letti durante un hit
  • cached_tokens: campo OpenAI con il numero di token trovati nella cache
  • input_tokens: token di input normali non memorizzati

cache_read_input_tokens = 0 nella richiesta warm significa che la cache non ha funzionato. Devi tornare alle quattro cause e controllare la configurazione.

Quando usare o non usare questa raccolta

La raccolta corregge problemi noti, ma non è adatta a ogni scenario:

ScenarioConsiglioMotivo
System prompt lungo + più richieste similiConsigliataIl prefisso stabile è riutilizzabile e genera un buon risparmio
Strumento Agent di coding, come Claude Code o ClineConsigliataIl progetto è progettato per questi strumenti
Fattura mensile superiore a 50 USDConsigliataIl risparmio potenziale giustifica il lavoro
Prompt caching già configurato, ma funzionamento incertoConsigliataLo strumento di verifica permette di confermarlo
Prompt breve + singola richiestaNon consigliataIl costo della cache può superare il beneficio
System prompt che cambia spesso, per esempio con dati in tempo realeNon consigliataIl prefisso è instabile e non può essere riutilizzato
Intervallo tra richieste superiore al TTL, per esempio poche chiamate al giornoDa valutareLa cache può scadere e offrire un beneficio limitato
Agent non presente nell’elenco supportatoDa valutareRichiede un adattamento manuale o un futuro skill della community

Se la fattura supera già 50 USD al mese e usi un Agent supportato, il ritorno può essere significativo. Se le richieste sono rare o il prefisso cambia spesso, valuta prima se la modifica conviene.

Rischi e precauzioni

Prima di usare questa raccolta, considera i seguenti rischi:

  1. Il progetto è relativamente nuovo. Attualmente conta circa 99 stars e l’elenco e i nomi degli skill possono cambiare. Controlla il README più recente.

  2. Le modifiche automatiche richiedono cautela. Un diff applicato dall’Agent modifica file di configurazione locali o del progetto. Leggi lo SKILL.md e comprendi ogni punto prima di autorizzarlo.

  3. I campi di fatturazione variano. Anthropic usa cache_creation/cache_read, OpenAI usa cached_tokens e Gemini usa cached content. Consulta la documentazione attuale.

  4. La cache non risolve tutto. Chiamate brevi e singole o prefissi variabili offrono poco beneficio e possono costare di più. Non forzarla in ogni scenario.

  5. Lo strumento di verifica ha dei limiti. check_cache.py è progettato principalmente per l’API Anthropic. Consulta anche la documentazione di OpenAI e Gemini.

  6. Il tasso non è garantito. L’80%–99% è l’obiettivo dichiarato dal progetto. Il risultato dipende da prefisso, frequenza, TTL e altri fattori.

Passi successivi e altre letture

Per ridurre ulteriormente i costi del coding con IA:

  • Centralizzare monitoraggio, cache e failover con un AI Gateway — gestisci più provider e riduci i costi evitabili

  • Tecniche di Prompt Engineering per migliorare le risposte — migliora i prompt ed evita token inutili

  • Computer-Use Agent: lasciare che l’IA controlli il computer — comprendi questi Agent e migliora il flusso di lavoro

Risorse ufficiali:

Diagnosticare e verificare Prompt Cache con prompt-cache-skills

Identifica l'agent harness, controlla la correzione e confronta richieste cold e warm per confermare l'uso reale della cache.

  1. 1

    Step 1: Verificare che il carico sia adatto alla cache

    Controlla che le richieste contengano un prefisso lungo, stabile e riutilizzato. Prompt brevi, richieste una tantum e system prompt che cambiano spesso non sono buoni candidati.
  2. 2

    Step 2: Trovare lo skill corretto

    Nella directory skills di prompt-cache-skills, scegli lo skill compatibile con il tuo agent harness e il provider del modello.
  3. 3

    Step 3: Controllare destinazione e diff

    Leggi lo SKILL.md, conferma file di destinazione, ambito, rischi e verifica, quindi salva una copia della configurazione originale prima di applicare modifiche.
  4. 4

    Step 4: Applicare la correzione minima

    Segui lo skill per correggere messaggi variabili, cache key, opzione della cache o TTL senza cambiare configurazioni estranee.
  5. 5

    Step 5: Eseguire la richiesta cold

    Usa check_cache.py o i campi di utilizzo del provider per eseguire la prima richiesta e registrare i token di input normali e quelli di creazione della cache.
  6. 6

    Step 6: Eseguire e confrontare la richiesta warm

    Invia di nuovo esattamente lo stesso prompt e lo stesso message, verifica che i token letti dalla cache siano maggiori di zero e calcola il tasso di hit reale.

FAQ

Quali strumenti di coding con IA supporta prompt-cache-skills?
Il repository è rivolto ad Agent come Claude Code, Codex, Cline, Cursor, Devin, Gemini CLI, OpenCode, Aider, Continue e Roo Code. La correzione disponibile dipende dalla directory skills corrente e dal tuo harness; consulta il README più recente.
Dopo la correzione il tasso di hit supera sicuramente l'80%?
No. L'80%–99% è l'intervallo obiettivo descritto dal progetto nei casi adatti. Il risultato reale dipende da lunghezza e stabilità del prefisso, frequenza delle richieste, provider e TTL e deve essere verificato tramite i campi di utilizzo.
Quanto si può risparmiare con un cache hit?
Il risparmio dipende da provider, modello, costi di creazione o archiviazione della cache e numero di riutilizzi. Un prefisso lungo e stabile riutilizzato molte volte offre in genere un vantaggio maggiore; richieste brevi o rare possono non convenire.
È sicuro lasciare che un Agent modifichi automaticamente la configurazione?
L'applicazione automatica di un diff modifica la configurazione locale o del progetto. Leggi lo SKILL.md, conferma file e ambito, salva l'originale, quindi applica e verifica; ripristina la configurazione se la verifica fallisce.
Cosa fare se non esiste uno skill per il mio Agent?
Puoi usare sintomi, diff e metodi di verifica degli skill esistenti come riferimento per controllare manualmente prefisso stabile, cache key, opzione predefinita e TTL, ma non applicare una patch non compatibile.

10 min di lettura · Pubblicato il: 29 lug 2026 · Aggiornato il: 30 lug 2026

Percorso di lettura della serieParte 1 di 1

Guida Prompt Engineering

Stai leggendo il primo articolo di questa serie. Continua con il successivo o apri l’hub della serie.

Vedi hub della serie

Precedente

Sei all’inizio di questa serie.

Successivo

Questo è l’articolo più recente della serie per ora.

Articoli correlati

Commenti

Accedi con GitHub per lasciare un commento

Easton BlogEaston Blog