Controleer na het inkorten van een prompt de besparing aan de hand van usage van elk antwoord en de kosten van de volledige taak. Een kort antwoord kan gepaard gaan met aanzienlijke redeneerkosten, terwijl bij het voortzetten van een gesprek de geschiedenis opnieuw kan worden meegeteld. Splits voor budgetbewaking het tokenvolume, de tariefcategorieën en het aantal aanroepen dat nodig was voor het resultaat uit.

Vier tellers en hun onderlinge verhouding
In het voorbeeld van het usage-object toont OpenAI de invoer, uitvoer en de uitsplitsing van beide tellers. Lees ze als volgt:
input_tokens— het totale aantal invoertokens van deze aanroep, inclusief context die wordt gebruikt om het gesprek voort te zetten.input_tokens_details.cached_tokens— het deel van de invoer dat uit de cache is geleverd. Dit is al inbegrepen ininput_tokens.output_tokens— het totale aantal gegenereerde tokens, inclusief tokens voor redeneren.output_tokens_details.reasoning_tokens— het deel van de uitvoer dat is besteed aan redeneren.
Reasoning-tokens zijn al inbegrepen in output_tokens; tel ze niet nogmaals bij de uitvoer op. OpenAI berekent ze tegen het tarief voor uitvoertokens. Evenzo leidt het optellen van cached_tokens bij de invoer tot het dubbel tellen van hetzelfde deel van het verzoek. Gebruik voor het totale volume total_tokens of de som van input_tokens + output_tokens.
Kosten: splits de invoer uit naar categorie
Op de actuele tarievenpagina worden gewone invoer, gecachete invoer, het schrijven naar de cache en uitvoer afzonderlijk vermeld. Kies de tarieven voor het daadwerkelijke model, de verwerkingsmodus en de toepasselijke contextlengte. Bewaar exacte waarden in een versiebeheerde berekeningsconfiguratie.
Een belangrijk detail in de actuele documentatie over caching: voor GPT-5.6 en nieuwere modellen wordt input_tokens_details.cache_write_tokens bijgehouden. Als jouw schema het schrijven naar de cache afzonderlijk in rekening brengt, trek deze categorie dan af van de gewone invoer en pas het bijbehorende tarief toe.
I = input_tokens
C = input_tokens_details.cached_tokens
W = input_tokens_details.cache_write_tokens
O = output_tokens
ordinary_input = I - C - W
cost = ((I - C - W) * P_input
+ C * P_cached
+ W * P_write
+ O * P_output) / 1_000_000
Hier zijn de prijzen per miljoen tokens; gebruik voor een schema zonder aparte categorie voor het schrijven naar de cache W = 0. De formule omvat de vermelde tokencategorieën. Voeg betaalde tools als afzonderlijke regels toe volgens hun tariefvoorwaarden.
Een fictief voorbeeld: invoer — 4000, gecachete invoer — 3000, cachegeschreven tokens — 500, uitvoer — 1000, waarvan 600 reasoning-tokens. Dat komt neer op 500 gewone invoertokens en in totaal 5000 tokens. De uitvoer wordt berekend voor 1000 tokens; de waarde 600 blijft bewaard voor diagnostiek.
Een gesprek voortzetten verbruikt opnieuw invoertokens
Wanneer de toepassing de geschiedenis handmatig beheert, stuurt ze eerdere berichten mee met de nieuwe invoer. Berichten die in het volgende verzoek zijn opgenomen, vormen opnieuw invoercontext. Wie alleen de laatste gebruikersinvoer meet, laat de kosten van de geschiedenis dus buiten beschouwing.
Met previous_response_id geeft de toepassing een verwijzing naar het vorige antwoord mee en koppelt de API de context. Volgens de regels voor het bijhouden van vervolgverzoeken worden eerdere invoertokens in de reeks opnieuw als invoer in rekening gebracht. De cache kan de tariefcategorie van een deel van die invoer veranderen; controleer voor elk antwoord in cached_tokens of de cache daadwerkelijk is gebruikt.
Zo controleer je het resultaat van optimalisatie
- Leg een nulmeting vast. Vergelijk dezelfde taken, hetzelfde model, hetzelfde succescriterium en gesprekken van vergelijkbare lengte.
- Log elke aanroep. Noteer de ID's van het antwoord en de taak, het model, de reasoning-instellingen, de status, de vertraging en de volledige
usage. Bewaar de promptversie en de tariefconfiguratie. - Tel de kosten per taak op. Neem alle aanroepen voor de taak mee, inclusief de antwoorden van nieuwe pogingen. De belangrijkste maatstaf is de kosten per succesvol afgeronde taak.
- Splits de oorzaken van veranderingen uit. Houd gewone invoer, cachelezingen en -schrijfbewerkingen, uitvoer en het aandeel reasoning bij. Deel voor het geaggregeerde cachepercentage de som van
Cdoor de som vanI. - Controleer de kwaliteit en de staart van de verdeling. Vergelijk naast de gemiddelde kosten ook p95, het aantal pogingen en het percentage geslaagde taken.
De parameter max_output_tokens begrenst de generatie, inclusief reasoning. Wanneer de limiet is bereikt, kan het antwoord de status incomplete krijgen, ook als er geen zichtbare tekst is maar wel tokens zijn verbruikt. Neem zulke antwoorden mee bij het controleren van de besparing: optimalisatie is geslaagd wanneer vergelijkbare taken succesvol worden afgerond tegen lagere totale kosten.