Bouw je een chatbot of agent op de Claude-API, dan stuur je bij elke vraag vaak hetzelfde mee: een lang systeemprompt, een handleiding, een set voorbeelden. Claude leest die context telkens opnieuw in — en je betaalt er telkens opnieuw voor. Prompt caching lost dat op: je bewaart de vaste stukken en leest ze uit cache tegen een fractie van de prijs. Hieronder zie je wat het is, wat het kost en hoe je het aanzet.
Waarvoor is dit bedoeld?
Prompt caching is nuttig zodra je bij meerdere aanvragen dezelfde grote, ongewijzigde context meestuurt. Een klantenservicebot met een uitgebreid bedrijfsdraaiboek, een agent met veel tool-definities, of een assistent die steeds hetzelfde document raadpleegt. De variabele kant — de eigenlijke vraag van de gebruiker — blijft normaal geprijsd. Het is dus geen trucje voor losse, unieke vragen, maar voor herhaling.
💡 Beginner-tip: Dit werkt op API-niveau, niet in de gewone Claude-chatvenster. Praat je met Claude via code, via de API of via een automatiseringstool, dan is dit voor jou. Gebruik je alleen de website, dan hoef je hier niets in te stellen.
Wat het kost
De rekensom is eenvoudig. Een cache-lees kost ongeveer 10% van de normale input-prijs — een korting van zo’n 90% op dat deel. Het wegschrijven naar de cache kost eenmalig ongeveer 1,25x de input-prijs bij de standaardcache van vijf minuten. Je betaalt dus iets extra om iets te bewaren, en verdient dat terug zodra je het een paar keer hergebruikt. Bij een druk gesprek is dat na twee of drie beurten al het geval.
Zo zet je het aan
-
Kies wat vast is. Bepaal welk deel van je aanvraag bij elke call identiek blijft: het systeemprompt, een lange handleiding, je tool-definities. Dat is je cache-materiaal.
-
Zet de vaste inhoud vooraan. De cache werkt van het begin van je aanvraag tot aan het breekpunt. Plaats daarom alle statische context bovenaan en de wisselende gebruikersvraag onderaan. Staat de vaste inhoud verspreid, dan mist de cache doel.
-
Plaats het breekpunt. Voeg aan het laatste vaste content-blok een markering
cache_controltoe mettype: ephemeral. Alles ervóór wordt gecached. Je mag tot vier van die breekpunten zetten, bijvoorbeeld één na je tool-definities en één na een groot document. -
Controleer de cache-tokens in de respons. Claude geeft in het antwoord terug hoeveel tokens werden weggeschreven en hoeveel uit cache gelezen. Zie je bij de tweede call cache-lezingen verschijnen, dan werkt het. Blijft het bij schrijven, dan zit er iets tussen je vaste inhoud en het breekpunt dat per call verandert.
⚡ Gevorderden: Er geldt een minimum aantal tokens voordat een blok cachebaar is, en de standaardcache van vijf minuten verlengt zichzelf bij elk gebruik. Voor context die je met langere pauzes herhaalt kun je de cache van één uur kiezen, maar reken eerst na of het hogere schrijftarief opweegt tegen je gebruikspatroon.
De veelgemaakte fout
De cache mist doel zodra er iets wisselends vóór je breekpunt staat — een tijdstempel, een sessie-ID, de naam van de gebruiker. Één veranderend teken bovenin je vaste blok en Claude behandelt het als nieuwe inhoud, schrijft opnieuw naar cache en je bespaart niets. Houd alles boven het breekpunt letterlijk identiek tussen calls, en verplaats al het variabele naar onderen.
Waarom dit soort kostenoptimalisatie er nu toe doet, met AI-rekeningen die bij bedrijven snel oplopen, lees je in de duiding op hetlaatsteainieuws.nl.
Checklist: benut je de cache?
- Je stuurt bij meerdere calls dezelfde grote context mee
- Alle vaste inhoud staat bovenaan, de variabele vraag onderaan
-
cache_controlmettype: ephemeralstaat op het laatste vaste blok - Niets wisselends (tijd, ID, naam) staat vóór het breekpunt
- De respons toont cache-lezingen bij de tweede call
- Je hebt bewust gekozen tussen de cache van vijf minuten en die van één uur
Bronnen
- Claude Platform Docs — Pricing — officiële tarieven voor cache-schrijven en -lezen
- Anthropic — Prompt caching (API-documentatie) — cache_control, breekpunten en TTL-opties
- The Practical Developer — Deep Dive into Prompt Caching for Claude — het artikel dat dit onderwerp aandroeg
