Bumalik sa blog

AI para sa mga baguhanGabay

Reasoning effort at thinking token: bakit mas mahal ang pag-iisip

Ang thinking token ay sinisingil bilang output. Ano ang ibig sabihin ng mga effort level, ano ang ilalagay sa max_tokens para hindi maputol ang sagot, at paano tantiyahin ang bill.

Ni CheapTokens TeamNai-publish noong 8 min na pagbabasa

Chat card: bakit ang isang one-line na sagot ay nagkakahalaga nang ganoon? Dahil nag-isip muna ang modelo, at ang pag-iisip ay sinisingil bilang output
Sa pahinang ito
  1. Ano ang ginagawa ng modelo bago ito sumagot
  2. Effort: ang dial sa pag-iisip
  3. Ang bitag ng walang laman na sagot: ang pag-iisip ay binibilang sa max_tokens
  4. Ano ang ginagawa ng mahabang reasoning sa bill
  5. Aling effort para sa aling trabaho
  6. Paglipat ng lumang kahilingan: ang 400 error
  7. Mga agent at mahabang chat: pumili ng isang antas at panatilihin ito
  8. Subukan ito sa iyong sariling kahilingan

Ang iyong kahilingan ay isang factual na tanong. Ang sagot ay tatlong linya. Sinasabi ng output counter na libu-libong token. Hindi iyon bug: bago sumagot, maraming modelo ang nag-iisip sa isang nakatagong scratchpad, at ang mga thinking token na iyon ay sinisingil bilang output token. Ang setting na effort ang nagtatakda kung gaano karami sa pag-iisip na iyon ang mangyayari, at ang max_tokens ay dapat mag-iwan ng espasyo para dito, o makakakuha ka ng putol o walang laman na sagot.

Ano ang ginagawa ng modelo bago ito sumagot#

Isipin mo ang isang exam. Maaari mong isulat agad ang sagot, o punan muna ang isang pahina ng rough work. Ang rough work ay madalas na nagbibigay ng mas magandang resulta sa mahirap na problema, ngunit ang papel ay hindi libre. Ang reasoning ay ang rough work na iyon, at binibilang ito sa tokens tulad ng lahat ng iba pa.

Ang extended-thinking documentation ng Anthropic (sinuri noong 23 Oktubre 2026) ay nagsasabi na ang thinking token ay bahagi ng sinisingil na output token, at sinasabi ng tugon kung ilan: usage.output_tokens_details.thinking_tokens. Sabihin nating ang isang tugon ay bumalik na may ganitong usage block (halimbawang numero):

json
"usage": {
  "input_tokens": 480,
  "output_tokens": 2150,
  "output_tokens_details": { "thinking_tokens": 1900 }
}

Sinisingil ka para sa 2,150 output token. Ang pag-iisip ay kumain ng 1,900 sa mga ito, kaya ang tekstong aktwal mong binasa ay 2,150 − 1,900 = 250 token. Ganoon din kahit na ang thinking text ay hindi ibinalik sa iyo: binibilang pa rin ito. Kung gusto mong ipaliwanag muna ang pagkakaiba ng input at output, magsimula sa input vs output tokens.

Effort: ang dial sa pag-iisip#

Sa Claude's API ang dial ay output_config.effort. Ang effort page ng Anthropic (sinuri noong 23 Oktubre 2026) ay naglilista ng limang antas: low, medium, high, xhigh, max. Tatlong detalye ang mahalaga para sa isang baguhan:

  • Nakakaapekto ito sa bawat output token, hindi lamang sa pag-iisip: teksto, tool calls at pag-iisip nang magkasama.
  • Ito ay isang behavioural signal, hindi isang mahigpit na budget. Ang mas mababang effort ay nangangahulugan ng mas kaunting token sa kapalit ng ilang kakayahan; sa mababang effort, maaaring laktawan ng Claude ang pag-iisip nang buo sa isang simpleng problema.
  • Ang default ay medium sa Claude Opus 5.5 at Claude Haiku 5.5, at high sa karamihan ng iba pang modelo na sumusuporta sa parameter. Ang tahasang pagtatakda ng default ay katulad ng pag-iwan nito.

Ang mga antas ay muling kinakalibrate bawat modelo, kaya ang high sa isang modelo ay hindi kapareho ng dami ng pag-iisip ng high sa iba, at hindi lahat ng modelo ay tumatanggap ng bawat antas. Sa isang nai-publish na video, may nagpatakbo ng bawat effort level ng Claude Opus 5.5 sa parehong motion-graphics task at inihambing ang mga larawan. Magandang paraan ito upang makita kung ano ang naibibigay ng mas maraming pag-iisip. Hindi nito sasabihin sa iyo ang iyong bill, dahil ang iyong gawain ay hindi kanila.

Isang kahilingan para sa isang simpleng tanong, na may effort na ibinaba:

json
{
  "model": "claude-opus-5-5",
  "max_tokens": 4000,
  "output_config": { "effort": "low" },
  "messages": [
    { "role": "user", "content": "What is the capital of Australia?" }
  ]
}

Ang bitag ng walang laman na sagot: ang pag-iisip ay binibilang sa max_tokens#

Narito kung paano ito nagkakamali. Inaasahan mo ang isang sagot na dalawang pangungusap, kaya itinakda mo ang max_tokens sa 300. Nagsimulang mag-isip ang modelo, ginastos ang 300 sa scratchpad nito, naabot ang limit at tumigil. Makakakuha ka ng walang laman na tugon o isang pangungusap na nagtatapos sa gitna ng salita, at ang stop reason ay nagsasabing max_tokens.

Ang docs ay tahasan: ang max_tokens ay isang hard limit sa kabuuang output, pag-iisip kasama ang response text, at ang pag-iisip ay binibilang kahit na ang nilalaman nito ay hindi ibinalik. Sa high effort at pataas, sinasabi ng Anthropic na magtakda ng malaking halaga.

Sa pagsasagawa:

  1. Kunin ang haba ng sagot na gusto mo.
  2. Magdagdag ng sapat na espasyo para sa pag-iisip. Ang ilang libong token ay isang makatwirang simula para sa anumang higit sa low.
  3. Suriin ang stop reason pagkatapos ng mga unang run. Kung sinasabi pa rin nito ang max_tokens, taasan ang limit. Kung kumpleto ang sagot, maaari mong ibaba ito.

Ang cut-off mismo, kasama ang finish_reason at ang context window, ay sakop sa why an AI answer stops mid-sentence.

Ano ang ginagawa ng mahabang reasoning sa bill#

Sabihin nating nagpapatakbo ka ng support bot na may 2,000 ticket bawat araw. Ang bawat ticket ay humigit-kumulang 500 token in. Ang maikli at direktang sagot ay humigit-kumulang 400 token out. Ang parehong ticket na may mahabang nakatagong reasoning ay humigit-kumulang 4,000 token out. Ang mga iyon ay pagpapalagay para sa halimbawa; para sa iyong sariling mga numero tingnan ang how many tokens a request uses.

Bawat araw, iyon ay 2,000 × 500 = 1,000,000 input token, at alinman sa 2,000 × 400 = 800,000 output token o 2,000 × 4,000 = 8,000,000 output token. Ang mambabasa ng ticket ay nakakakita ng parehong dalawang linya sa alinmang paraan. Ang tanging bagay na gumalaw ay ang output volume, at ang output ang panig na pinapataas ng reasoning.

Araw-araw na gastos ng support bot, 1,000,000 token in, maikling sagot vs mahabang reasoning (live na presyo)
  • MiniMax-M2.7, mahabang reasoning (8,000,000 out)$1.25
  • DeepSeek-V4-Flash, mahabang reasoning (8,000,000 out)$0.815
  • MiniMax-M2.7, maikling sagot (800,000 out)$0.17
  • DeepSeek-V4-Flash, maikling sagot (800,000 out)$0.095

Ang aritmetika ay pareho sa anumang modelo na nagsisingil ng nakatagong reasoning: output token × ang output price. Para sa DeepSeek-V4-Flash ang presyo ay $0.10 bawat 1M output token, at ang output side nito ay mas mura kaysa sa reference price ng OpenRouter. Sumasagot din ito ng hanggang 32,768 token sa isang pagkakataon na may 380K context, kaya kasya ang malaking max_tokens. Ang mga presyo ay fixed bawat modelo, walang peak hours, at ang talahanayan sa itaas ay muling kinakalkula mula sa live na listahan ng presyo. Lahat ng presyo ay nasa pricing page; ang DeepSeek page ay may mga detalye ng modelo.

Narito ang isang kahilingan na maaari mong ipadala. Ito ay isang plain summary task, kaya hindi mo kailangan ng mahabang reasoning, at ang limit ay nag-iiwan ng maraming espasyo:

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-ai/DeepSeek-V4-Flash-0731",
    "max_tokens": 2000,
    "messages": [
      {"role": "user", "content": "Summarize in one sentence: A token is a small piece of text that a model reads and writes, and APIs bill by the token."}
    ]
  }'

Sa tugon, ang usage.completion_tokens ay ang binabayaran mo sa output side, at ang finish_reason ay dapat na stop. Kung sinasabi nito ang length, pinutol ng limit ang sagot. Pagkuha ng key at ang unang call: docs.

Aling effort para sa aling trabaho#

  • Isang fact, isang one-line summary, isang label. Pinakamababang effort. Ito ang kaso mula sa simula ng artikulo: hindi mo kailangan ang rough work.
  • Araw-araw na pagsusulat, isang maikling paliwanag, isang simpleng edit. Ang default para sa modelo. Baguhin ito pagkatapos mong makita kung magkano ang mga sagot.
  • Isang tricky bug, isang multi-step plan, isang math problem. high o mas mataas, at isang malaking max_tokens. Dito ang dagdag na pag-iisip ang punto.

Kapag hindi sigurado, patakbuhin ang parehong prompt sa dalawang antas, ihambing ang mga sagot, at ihambing ang output_tokens. Kung ang mas murang sagot ay kasing ganda, mayroon ka nang antas.

Paglipat ng lumang kahilingan: ang 400 error#

Kinokontrol ng mas lumang code ang pag-iisip gamit ang token budget. Sa Claude 4.7 at mas bagong mga modelo (Opus 5.5, Sonnet 5.5, Haiku 5.5, Fable 5.1) ang form na iyon ay tinatanggihan ng 400 error. Lumipat ka sa adaptive thinking at itakda ang lalim gamit ang effort:

json
// before: returns 400 on newer models
"thinking": { "type": "enabled", "budget_tokens": 8000 }

// after
"thinking": { "type": "adaptive" },
"output_config": { "effort": "medium" }
Old thinking budget sa kaliwa, adaptive thinking na may effort sa kanan
Ang parehong kahilingan bago at pagkatapos ng paglipat, ayon sa docs ng Anthropic, sinuri noong 23 Oktubre 2026

Isa pang bitag: sa Opus 5.5 ang adaptive thinking ay laging naka-on, at ang thinking: { "type": "disabled" } ay nagbabalik ng 400 sa bawat effort level. Pinapayagan ng Haiku 5.5 na i-disable ang pag-iisip sa high effort o mas mababa. Kung gusto mo ng mas kaunting pag-iisip sa Opus 5.5, ibaba ang effort sa halip na i-off ito.

Mga agent at mahabang chat: pumili ng isang antas at panatilihin ito#

Kung ang iyong prompt ay naka-cache, ang pagbabago ng top-level effort sa pagitan ng mga kahilingan ay nagpapawalang-bisa sa cache breakpoints para sa pag-uusap na iyon. Para sa isang agent loop o mahabang chat, pumili ng isang antas nang maaga. Ang ilang modelo ay nag-aalok ng per-message effort sa beta na nagpapanatili ng cache, na sulit tingnan kapag naitatag na ang mga pangunahing kaalaman. Ang mahabang chat ay may pangalawang cost driver, na sakop sa why a long chat costs more.

Subukan ito sa iyong sariling kahilingan#

  1. Ipadala ang iyong tunay na prompt nang isang beses at basahin ang usage: ilang output token, at ilan sa mga ito ang pag-iisip.
  2. Ibaba ang effort ng isang hakbang at ipadala muli. Ihambing ang mga sagot at ang mga bilang.
  3. Itakda ang max_tokens sa sagot na gusto mo kasama ang espasyo para sa pag-iisip, at suriin ang stop reason.

Pagkatapos, ilagay ang iyong sariling token counts sa live na talahanayan ng presyo sa pricing page at mayroon ka nang buwanang estimate.