ब्लॉग पर वापस जाएं

शुरुआती लोगों के लिए AIगाइड

रीजनिंग effort और सोच टोकन: सोच अधिक खर्च क्यों करती है

सोच टोकन आउटपुट के रूप में बिल किए जाते हैं। effort स्तरों का क्या अर्थ है, max_tokens में क्या डालें ताकि उत्तर कट न जाए, और बिल का अनुमान कैसे लगाएं।

CheapTokens Team द्वाराप्रकाशित 12 मिनट का पाठ

चैट कार्ड: एक-पंक्ति के उत्तर की इतनी कीमत क्यों? क्योंकि मॉडल ने पहले सोचा, और सोच आउटपुट के रूप में बिल की जाती है
इस पृष्ठ पर
  1. उत्तर देने से पहले मॉडल क्या करता है
  2. Effort: सोच का डायल
  3. खाली-उत्तर का जाल: सोच max_tokens में गिनी जाती है
  4. लंबी रीजनिंग बिल पर क्या करती है
  5. किस काम के लिए कौन सा effort
  6. पुराने अनुरोध को स्थानांतरित करना: 400 त्रुटि
  7. एजेंट और लंबी चैट: एक स्तर चुनें और उसे बनाए रखें
  8. इसे अपने स्वयं के अनुरोध पर आजमाएं

आपका अनुरोध एक तथ्यात्मक प्रश्न था। उत्तर तीन पंक्तियों का था। आउटपुट काउंटर हजारों टोकन दिखाता है। यह कोई बग नहीं है: उत्तर देने से पहले, कई मॉडल एक छिपे हुए स्क्रैचपैड में सोचते हैं, और वे सोचने वाले टोकन आउटपुट टोकन के रूप में बिल किए जाते हैं। effort सेटिंग तय करती है कि उस सोच में से कितना होता है, और max_tokens को उसके लिए जगह छोड़नी होती है, वरना आपको कटा हुआ या खाली उत्तर मिलता है।

उत्तर देने से पहले मॉडल क्या करता है#

एक परीक्षा के बारे में सोचें। आप सीधे उत्तर लिख सकते हैं, या पहले एक पेज रफ वर्क भर सकते हैं। रफ वर्क अक्सर कठिन समस्या पर बेहतर परिणाम देता है, लेकिन कागज मुफ्त नहीं है। रीजनिंग वही रफ वर्क है, और इसे बाकी सब चीजों की तरह टोकन में गिना जाता है।

Anthropic के extended-thinking दस्तावेज़ (23 अक्टूबर 2026 को जांचा गया) कहते हैं कि सोचने वाले टोकन बिल किए गए आउटपुट टोकन का हिस्सा हैं, और प्रतिक्रिया आपको बताती है कि कितने: usage.output_tokens_details.thinking_tokens। मान लें कि एक प्रतिक्रिया इस उपयोग ब्लॉक के साथ आती है (उदाहरण संख्याएं):

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

आपसे 2,150 आउटपुट टोकन के लिए बिल लिया जाता है। सोच में उनमें से 1,900 लगे, इसलिए आप जो टेक्स्ट वास्तव में पढ़ते हैं वह 2,150 − 1,900 = 250 टोकन है। यही बात तब भी लागू होती है जब सोचने वाला टेक्स्ट आपको वापस नहीं दिया जाता: यह फिर भी गिना जाता है। यदि आप पहले इनपुट और आउटपुट के बीच का अंतर स्पष्ट रूप से देखना चाहते हैं, तो इनपुट बनाम आउटपुट टोकन से शुरू करें।

Effort: सोच का डायल#

Claude के API में डायल output_config.effort है। Anthropic का effort पेज (23 अक्टूबर 2026 को जांचा गया) पांच स्तर बताता है: low, medium, high, xhigh, max। शुरुआती के लिए तीन विवरण मायने रखते हैं:

  • यह हर आउटपुट टोकन को प्रभावित करता है, केवल सोच को नहीं: टेक्स्ट, टूल कॉल और सोच एक साथ।
  • यह एक व्यवहारिक संकेत है, सख्त बजट नहीं। कम effort का मतलब कुछ क्षमता की कीमत पर कम टोकन; कम effort पर Claude किसी सरल समस्या पर सोच पूरी तरह छोड़ सकता है।
  • Claude Opus 5.5 और Claude Haiku 5.5 पर डिफ़ॉल्ट medium है, और पैरामीटर का समर्थन करने वाले अधिकांश अन्य मॉडलों पर high। डिफ़ॉल्ट को स्पष्ट रूप से सेट करना उसे छोड़ने के समान है।

स्तर प्रति मॉडल पुनः कैलिब्रेट किए जाते हैं, इसलिए एक मॉडल पर high दूसरे पर high के समान मात्रा में सोच नहीं है, और हर मॉडल हर स्तर को स्वीकार नहीं करता। एक प्रकाशित वीडियो में किसी ने Claude Opus 5.5 के हर effort स्तर को एक ही मोशन-ग्राफिक्स कार्य पर चलाया और तस्वीरों की तुलना की। अधिक सोच क्या देती है, यह देखने का यह अच्छा तरीका है। यह आपका बिल नहीं बताएगा, क्योंकि आपका कार्य उनका नहीं है।

एक सरल प्रश्न के लिए अनुरोध, effort नीचे किया गया:

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

खाली-उत्तर का जाल: सोच max_tokens में गिनी जाती है#

यह गलत कैसे होता है। आप दो वाक्यों का उत्तर चाहते हैं, इसलिए आप max_tokens को 300 पर सेट करते हैं। मॉडल सोचना शुरू करता है, अपने स्क्रैचपैड पर 300 खर्च करता है, सीमा तक पहुंचता है और रुक जाता है। आपको खाली उत्तर या बीच शब्द में समाप्त होने वाला वाक्य मिलता है, और स्टॉप कारण max_tokens कहता है।

दस्तावेज़ स्पष्ट हैं: max_tokens कुल आउटपुट पर एक कठोर सीमा है, सोच प्लस प्रतिक्रिया टेक्स्ट, और सोच तब भी गिनी जाती है जब उसकी सामग्री वापस नहीं दी जाती। high effort और उससे ऊपर, Anthropic कहता है कि एक बड़ा मान सेट करें।

व्यवहार में:

  1. आप जो उत्तर चाहते हैं उसकी लंबाई लें।
  2. सोच के लिए उदार जगह जोड़ें। low से ऊपर किसी भी चीज के लिए कुछ हजार टोकन एक समझदार शुरुआत है।
  3. पहले रन के बाद स्टॉप कारण जांचें। यदि यह अभी भी max_tokens कहता है, तो सीमा बढ़ाएं। यदि उत्तर पूरा है, तो आप इसे कम कर सकते हैं।

कट-ऑफ स्वयं, finish_reason और कॉन्टेक्स्ट विंडो के साथ, AI उत्तर बीच वाक्य में क्यों रुकता है में शामिल है।

लंबी रीजनिंग बिल पर क्या करती है#

मान लें कि आप प्रति दिन 2,000 टिकट वाला सपोर्ट बॉट चलाते हैं। प्रत्येक टिकट लगभग 500 टोकन इन है। एक छोटा, सीधा उत्तर लगभग 400 टोकन आउट है। लंबी छिपी रीजनिंग वाला वही टिकट लगभग 4,000 टोकन आउट है। ये उदाहरण के लिए अनुमान हैं; अपने स्वयं के आंकड़ों के लिए एक अनुरोध कितने टोकन उपयोग करता है देखें।

प्रति दिन यह 2,000 × 500 = 1,000,000 इनपुट टोकन है, और या तो 2,000 × 400 = 800,000 आउटपुट टोकन या 2,000 × 4,000 = 8,000,000 आउटपुट टोकन। टिकट पढ़ने वाला किसी भी तरह वही दो पंक्तियां देखता है। केवल आउटपुट वॉल्यूम बदला है, और आउटपुट वह पक्ष है जिसे रीजनिंग बढ़ाती है।

सपोर्ट बॉट की दैनिक लागत, 1,000,000 टोकन इन, छोटे उत्तर बनाम लंबी रीजनिंग (लाइव कीमतें)
  • MiniMax-M2.7, लंबी रीजनिंग (8,000,000 आउट)$1.25
  • DeepSeek-V4-Flash, लंबी रीजनिंग (8,000,000 आउट)$0.815
  • MiniMax-M2.7, छोटे उत्तर (800,000 आउट)$0.17
  • DeepSeek-V4-Flash, छोटे उत्तर (800,000 आउट)$0.095

अंकगणित किसी भी मॉडल पर समान है जो छिपी रीजनिंग का बिल करता है: आउटपुट टोकन × आउटपुट मूल्य। DeepSeek-V4-Flash के लिए वह मूल्य $0.10 प्रति 1M आउटपुट टोकन है, और इसका आउटपुट पक्ष OpenRouter के संदर्भ मूल्य से सस्ता है। यह 380K कॉन्टेक्स्ट के साथ एक बार में 32,768 टोकन तक उत्तर देता है, इसलिए एक बड़ा max_tokens फिट बैठता है। कीमतें प्रति मॉडल निश्चित हैं, कोई पीक आवर्स नहीं, और ऊपर की तालिका लाइव मूल्य सूची से पुनर्गणना करती है। सभी कीमतें मूल्य निर्धारण पृष्ठ पर हैं; DeepSeek पृष्ठ में मॉडल विवरण हैं।

यहां एक अनुरोध है जिसे आप स्वयं भेज सकते हैं। यह एक सादा सारांश कार्य है, इसलिए आपको लंबी रीजनिंग की आवश्यकता नहीं है, और सीमा बहुत जगह छोड़ती है:

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."}
    ]
  }'

उत्तर में, usage.completion_tokens वह है जिसके लिए आप आउटपुट पक्ष पर भुगतान करते हैं, और finish_reason को stop होना चाहिए। यदि यह length कहता है, तो सीमा ने उत्तर काट दिया। कुंजी और पहली कॉल प्राप्त करना: दस्तावेज़।

किस काम के लिए कौन सा effort#

  • एक तथ्य, एक-पंक्ति सारांश, एक लेबल। सबसे कम effort। यह लेख की शुरुआत का मामला है: आपको रफ वर्क की आवश्यकता नहीं है।
  • रोजमर्रा की लेखन, एक छोटी व्याख्या, एक सरल संपादन। मॉडल के लिए डिफ़ॉल्ट। इसे तभी बदलें जब आप देख लें कि उत्तरों की लागत क्या है।
  • एक मुश्किल बग, एक बहु-चरणीय योजना, एक गणित समस्या। high या उससे ऊपर, और एक बड़ा max_tokens। यहां अतिरिक्त सोच ही मुद्दा है।

संदेह होने पर, एक ही प्रॉम्प्ट को दो स्तरों पर चलाएं, उत्तरों की तुलना करें, और output_tokens की तुलना करें। यदि सस्ता उत्तर उतना ही अच्छा है, तो आपका स्तर मिल गया।

पुराने अनुरोध को स्थानांतरित करना: 400 त्रुटि#

पुराने कोड ने सोच को टोकन बजट से नियंत्रित किया। Claude 4.7 और बाद के मॉडलों (Opus 5.5, Sonnet 5.5, Haiku 5.5, Fable 5.1) पर वह रूप 400 त्रुटि के साथ अस्वीकार कर दिया जाता है। आप अनुकूली सोच पर स्विच करते हैं और effort से गहराई सेट करते हैं:

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

// after
"thinking": { "type": "adaptive" },
"output_config": { "effort": "medium" }
बाईं ओर पुराना सोच बजट, दाईं ओर effort के साथ अनुकूली सोच
Anthropic के दस्तावेज़ों के अनुसार, 23 अक्टूबर 2026 को जांचा गया, स्थानांतरण से पहले और बाद में वही अनुरोध

एक और जाल: Opus 5.5 पर अनुकूली सोच हमेशा चालू रहती है, और thinking: { "type": "disabled" } हर effort स्तर पर 400 लौटाता है। Haiku 5.5 high effort या उससे नीचे सोच को अक्षम करने की अनुमति देता है। यदि आप Opus 5.5 पर कम सोच चाहते हैं, तो इसे बंद करने के बजाय effort कम करें।

एजेंट और लंबी चैट: एक स्तर चुनें और उसे बनाए रखें#

यदि आपका प्रॉम्प्ट कैश्ड है, तो अनुरोधों के बीच शीर्ष-स्तरीय effort बदलने से उस बातचीत के लिए कैश ब्रेकपॉइंट अमान्य हो जाते हैं। एजेंट लूप या लंबी चैट के लिए, शुरू में एक स्तर चुनें। कुछ मॉडल बीटा में प्रति-संदेश effort प्रदान करते हैं जो कैश रखता है, जो बुनियादी बातें हो जाने के बाद देखने लायक है। लंबी चैट में एक दूसरा लागत चालक है, जिसे लंबी चैट अधिक क्यों खर्च करती है में शामिल किया गया है।

इसे अपने स्वयं के अनुरोध पर आजमाएं#

  1. अपना वास्तविक प्रॉम्प्ट एक बार भेजें और usage पढ़ें: कितने आउटपुट टोकन, और उनमें से कितने सोच हैं।
  2. effort एक कदम कम करें और इसे फिर से भेजें। उत्तरों और गणनाओं की तुलना करें।
  3. max_tokens को आप जो उत्तर चाहते हैं उसके साथ-साथ सोच के लिए जगह पर सेट करें, और स्टॉप कारण जांचें।

फिर अपने स्वयं के टोकन गणनाओं को मूल्य निर्धारण पृष्ठ पर लाइव मूल्य तालिका में डालें और आपके पास मासिक अनुमान होगा।