🟡 🏥 U praksi Objavljeno: · 2 min čitanja ·

Anthropic: Messages API vraća usage.output_tokens_details.thinking_tokens — što znači za fakturiranje i streaming

Urednička ilustracija: Messages API vraća usage.output_tokens_details.thinking_tokens — što znači za fakturiranje i st

Anthropic Messages API sada uključuje polje output_tokens_details.thinking_tokens u usage objektu svake odgovora koji koristi Extended Thinking. Programeri koji mjere troškove inferencije moraju znati da se naplaćuju cjelokupni generirani thinking tokeni, a ne sažeti prikaz koji vide u odgovoru — razlika može biti 20× ili više.

🤖

Ovaj članak generiran je uz pomoć umjetne inteligencije na temelju primarnih izvora.

Anthropic Messages API sada eksplicitno izvještava o internim thinking tokenima kroz polje output_tokens_details.thinking_tokens unutar usage objekta. Ova promjena omogućuje programerima precizno praćenje troškova Extended Thinking poziva — ali s važnom napomenom koja može iznenaditi timove koji nisu pažljivo čitali dokumentaciju.

Što je usage.output_tokens_details.thinking_tokens i zašto je važno?

Polje se pojavljuje u svakom API odgovoru koji koristi Extended Thinking i ima sljedeću strukturu:

{
  "usage": {
    "input_tokens": 1024,
    "output_tokens": 512,
    "output_tokens_details": {
      "thinking_tokens": 10000
    }
  }
}

Ključna distinkcija: Anthropic naplaćuje sve generirane thinking tokene, ne sažeti prikaz koji se vraća korisniku. Ako je thinking_tokens: 10000 ali sažetak u thinking bloku sadrži svega 500 tokena, billing je za 10.000. Razlika između vidljivih i naplaćenih tokena može biti faktor 20 ili više, ovisno o kompleksnosti zadatka i modelu.

Kako funkcionira sažimanje thinking blokova (summarized thinking)?

Claude Sonnet 4.6, Opus 4.6 i noviji modeli koriste sažimanje (summarized thinking) kao zadani prikaz. Interno rezoniranje obrađuje poseban model koji komprimira zaključke u kraći oblik — taj sažetak se prikazuje u thinking polju bloka, dok se puni token count bilježi u thinking_tokens.

Sažimanje ne utječe na kvalitetu razmišljanja — Claude vidi cijeli interni proces; samo se izlazna reprezentacija reducira za korisnika. Signature polje u thinking bloku čuva kriptiranu verziju punog sadržaja za višeokretne (multi-turn) razgovore i mora se proslijediti neizmijenjena u nastavku sesije.

Streaming ponašanje i latencija

Programeri koji žele smanjiti latenciju do prvog tekstualnog tokena mogu koristiti display: "omitted" u streaming načinu rada:

  • Server ne emitira thinking_delta događaje
  • Preskače se streaming thinking sadržaja u cijelosti
  • Rezultat: brže vrijeme do prvog teksta (time-to-first-text-token)
  • Trošak ostaje nepromijenjen — thinking tokeni se i dalje naplaćuju

Claude Fable 5, Mythos 5 i Opus 4.8 koriste display: "omitted" kao zadanu postavku, dok Sonnet 4.6 i Opus 4.6 koriste display: "summarized".

Ograničenja budžeta i cache interakcija

Parametar budget_tokens postavlja gornji limit thinking tokena po zahtjevu i mora biti manji od max_tokens. Uz interleaved thinking, budžet se dijeli između svih thinking blokova u jednoj sesiji. Važno ograničenje: promjena thinking parametara (omogućavanje/onemogućavanje, promjena budžeta) poništava cache breakpointe poruka — sistemi koji agresivno koriste prompt caching moraju uzeti u obzir ovaj trošak.

Maksimalni output limiti modela: Opus 4.8, 4.7, 4.6 i Mythos Preview podržavaju do 128k izlaznih tokena; Sonnet 4.6 i Haiku 4.5 do 64k. Uz Batch API i output-300k-2026-03-24 beta flag, Opus modeli mogu generirati do 300k tokena.

Česta pitanja

Što je output_tokens_details.thinking_tokens u Anthropic API odgovoru?
To je polje unutar usage objekta koje pokazuje koliko thinking tokena je Claude stvarno generirao pri internom rezoniranju. Broj se može drastično razlikovati od broja tokena vidljivih u thinking bloku odgovora jer se thinking može sažimati.
Kako se naplaćuju thinking tokeni u Anthropic API-ju?
Naplaćuju se svi generirani thinking tokeni (prikazani u thinking_tokens polju), a ne sažeti tokeni koji se vraćaju korisniku. Ako je model generirao 10.000 thinking tokena ali sažetak sadrži samo 500, naplaćuje se 10.000.
Može li streaming s display: omitted smanjiti latenciju?
Da — streaming s display: omitted preskače emitiranje thinking_delta događaja pa se smanjuje latencija do prvog teksta. Trošak ostaje isti jer se i dalje naplaćuju svi thinking tokeni.

📬 AI vijesti u tvoj inbox

Dnevni digest po tvojoj mjeri — biraš teme, izvore i ritam. Odjava jednim klikom.