Po zkrácení promptu kontrolujte úspory podle usage každé odpovědi a ceny celého úkolu. Krátká odpověď může být spojena se značnou spotřebou na uvažování a při pokračování konverzace se může znovu započítat historie. Pro kontrolu rozpočtu rozdělte objem tokenů, cenové kategorie a počet volání potřebných k dosažení výsledku.

Čtyři počítadla a jejich vnoření
V příkladu objektu usage OpenAI uvádí vstup, výstup a podrobné údaje k oběma počítadlům. Čtěte je takto:
input_tokens— celkový počet vstupních tokenů daného volání, včetně kontextu použitého k pokračování konverzace.input_tokens_details.cached_tokens— část vstupu obsloužená z cache. Je již zahrnuta vinput_tokens.output_tokens— celkový počet vygenerovaných tokenů včetně uvažování.output_tokens_details.reasoning_tokens— část výstupu využitá na uvažování.
Tokeny reasoning jsou již zahrnuté v output_tokens; k výstupu je nesmíte přičítat podruhé. OpenAI je účtuje podle sazby za výstupní tokeny. Podobně by přičtení cached_tokens ke vstupu znamenalo opětovné započítání stejné části požadavku. Pro celkový objem použijte total_tokens nebo součet input_tokens + output_tokens.
Cena: rozdělte vstup podle kategorií
Na aktuální stránce s cenami jsou samostatně uvedeny běžný vstup, vstup z cache, zápis do cache a výstup. Vyberte sazby pro skutečně používaný model, režim zpracování a odpovídající délku kontextu. Přesné hodnoty uchovávejte ve verzované konfiguraci výpočtu.
Důležitý detail aktuální dokumentace ke cachování: u modelů GPT-5.6 a novějších se započítává input_tokens_details.cache_write_tokens. Pokud vaše schéma účtuje zápis do cache zvlášť, odečtěte tuto kategorii od běžného vstupu a použijte pro ni příslušnou sazbu.
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
Ceny jsou zde uvedeny za milion tokenů; pro schéma bez samostatné kategorie zápisu použijte W = 0. Vzorec zahrnuje uvedené kategorie tokenů. Placené nástroje přidejte jako samostatné položky podle jejich cenových podmínek.
Ilustrační příklad: vstup — 4000, vstup z cache — 3000, zápis do cache — 500, výstup — 1000, z toho reasoning — 600. Výsledkem je 500 běžných vstupních tokenů a celkem 5000 tokenů. Výstup se účtuje v objemu 1000 tokenů; hodnotu 600 si ponechte pro diagnostiku.
Pokračování konverzace znovu spotřebovává vstup
Při ruční správě historie aplikace předává předchozí zprávy spolu s novým vstupem. Zprávy zahrnuté v dalším požadavku se znovu stávají vstupním kontextem. Měření pouze poslední uživatelské zprávy proto nezachytí spotřebu historie.
Při použití previous_response_id aplikace předá odkaz na předchozí odpověď a API propojí kontext. Podle pravidel účtování pokračování se předchozí vstupní tokeny v řetězci znovu účtují jako vstupní. Cache může změnit cenovou kategorii části tohoto vstupu; skutečný zásah cache zjistíte v cached_tokens každé odpovědi.
Jak ověřit výsledek optimalizace
- Uložte základní vzorek. Porovnávejte stejné úkoly, model, kritérium úspěšnosti a srovnatelnou délku konverzací.
- Zaznamenávejte každé volání. Ukládejte identifikátory odpovědi a úkolu, model, nastavení reasoning, stav, latenci a kompletní
usage. Uchovávejte verzi promptu a cenové konfigurace. - Sečtěte náklady úkolu. Zahrňte všechna jeho volání a odpovědi získané při opakovaných pokusech. Hlavní metrikou jsou náklady na úspěšně dokončený úkol.
- Rozlišujte příčiny změn. Sledujte běžný vstup, čtení a zápis do cache, výstup a podíl reasoning. Agregovaný podíl cache vypočtěte jako součet
Cdělený součtemI. - Kontrolujte kvalitu i konec rozdělení. Vedle průměrných nákladů porovnávejte p95, počet pokusů a procento úspěšných úkolů.
Parametr max_output_tokens omezuje generování včetně reasoning. Po vyčerpání limitu může odpověď získat stav incomplete, a to i bez viditelného textu, ale se spotřebou tokenů. Zohledněte tyto odpovědi při ověřování úspor: optimalizace splnila cíl, pokud se srovnatelné úkoly úspěšně dokončují s nižšími celkovými náklady.