अगर आपने budget_tokens सेट करके Claude की विस्तारित सोच का उपयोग करना सीखा है, तो मेरे पास एक खबर है जो आपको या तो परेशान करेगी या राहत देगी। Opus 4.7, 4.8, और Fable 5 पर वह पैरामीटर हटा दिया गया है। उनमें से किसी को भी thinking: {type: "enabled", budget_tokens: 8000} भेजें और आपको 400 मिलेगा। "मॉडल को एक निश्चित token भत्ता देकर सोचने दें" का पूरा मॉडल दो नए नियंत्रणों से बदल दिया गया है जो बेहतर काम करते हैं और पहली बार में लोगों को भ्रमित करते हैं। आइए मैं आपको बताता हूँ कि वास्तव में क्या बदला है और नए सिस्टम को कैसे चलाएं।
पुराना मॉडल और उसके खत्म होने की वजह
budget_tokens के साथ विस्तारित सोच एक कठोर सीमा थी: आप कहते थे "N token तक सोचो," और मॉडल उत्तर देने से पहले एक स्क्रैचपैड में N token तक तर्क करता था। यह काम करता था, लेकिन अजीब था। आपको हर कार्य के लिए बजट का अनुमान लगाना पड़ता था, और मॉडल खुद यह तय नहीं कर सकता था कि एक आसान सवाल को लगभग कोई सोच की जरूरत नहीं है जबकि एक कठिन को बहुत ज्यादा। आप मॉडल का काम कर रहे थे।
अनुकूली सोच: मॉडल तय करता है कितना सोचना है
इसका विकल्प है thinking: {type: "adaptive"}। अनुकूली सोच चालू होने पर, मॉडल प्रति-अनुरोध तय करता है कि कितना सोचना है और कब — जिसमें tool calls के बीच स्वचालित रूप से सोच को अंतर्निहित करना भी शामिल है, कोई beta header की जरूरत नहीं। कोई बजट ट्यून करने की जरूरत नहीं। एक आसान लुकअप को त्वरित उत्तर मिलता है; एक बहु-चरणीय तर्क समस्या को गहरी सोच मिलती है। मॉडल खुद को कैलिब्रेट करता है।
एक बात जो हर किसी को उलझन में डालती है: Opus 4.7 और 4.8 पर, अनुकूली सोच डिफ़ॉल्ट रूप से बंद है। अगर आप बस thinking फ़ील्ड छोड़ देते हैं, तो मॉडल बिना सोचे चलता है। आपको इसे चालू करने के लिए स्पष्ट रूप से thinking: {type: "adaptive"} सेट करना होगा। (Fable 5 अपवाद है — वहाँ सोच हमेशा चालू रहती है, और एक स्पष्ट disabled वास्तव में 400 देता है।)
Effort: कुल मिलाकर कितनी मेहनत करनी है
दूसरा नियंत्रण effort है, और यह सोच से एक अलग आयाम है। यह शीर्ष स्तर पर नहीं, output_config के अंदर रहता है:
output_config: {effort: "high"}
स्तर हैं low, medium, high, xhigh, और max। डिफ़ॉल्ट high है। Effort सोचने की गहराई और समग्र token खर्च दोनों को एक साथ नियंत्रित करता है — कम effort का मतलब है कम और अधिक समेकित tool calls, कम प्रस्तावना, संक्षिप्त पुष्टि। अधिक का मतलब है अधिक अन्वेषण, अधिक सत्यापन, अधिक संपूर्णता।
इनके साथ काम करने से व्यावहारिक सिफारिशें:
xhighकोडिंग और agentic काम के लिए सबसे अच्छा है — यह वास्तव में Claude Code में डिफ़ॉल्ट है।highकिसी भी बुद्धिमत्ता-संवेदनशील काम के लिए न्यूनतम है।mediumऔरlowनियमित या विलंब-संवेदनशील काम, subagents, सरल वर्गीकरण के लिए।maxजब सटीकता लागत से अधिक मायने रखती है और आप सीमा के लिए भुगतान करने को तैयार हों।
यहाँ एक प्रतिसहज खोज है: Opus 4.8 पर, reflexively effort को xhigh तक न बढ़ाएं। बुद्धिमत्ता की सीमा पूर्व मॉडलों से अधिक है, इसलिए high अक्सर पर्याप्त होता है, और agentic काम पर, पहले से अधिक effort कुल लागत को कम कर सकता है क्योंकि मॉडल बेहतर योजना बनाता है और कम मोड़ लेता है। संबंध एकतरफा नहीं है। अपने evals पर medium, high, और xhigh को sweep करें और मापें। मैंने medium को उन कार्यों पर xhigh से मेल खाते देखा है जहाँ अतिरिक्त विचार-विमर्श शुद्ध बर्बादी थी।
सोच के आउटपुट के बारे में एक सूक्ष्मता जो आपकी पूरी दोपहर बर्बाद करेगी
मॉडल जो सोचता है और आप जो सोच देखते हैं वे अलग हैं। Opus 4.7, 4.8, और Fable 5 पर, thinking blocks अभी भी response stream में दिखते हैं, लेकिन उनका text डिफ़ॉल्ट रूप से खाली है — display डिफ़ॉल्ट रूप से "omitted" है। तर्क होता है और उसी तरह बिल किया जाता है; आपको बस text वापस नहीं मिलता।
तो अगर आप अपने उपयोगकर्ताओं को reasoning stream करते हैं और 4.6 से माइग्रेट हुए हैं, तो आपका "thinking" UI अचानक कुछ भी रेंडर नहीं करता और आउटपुट से पहले एक लंबे जमे हुए रुकावट की तरह दिखता है। Fix एक पैरामीटर है:
thinking: {type: "adaptive", display: "summarized"}
यह आपको तर्क का एक पठनीय सारांश देता है। ध्यान दें कि block पर field का नाम अभी भी thinking है — अपना response handler rename मत करें, data बस तब तक खाली है जब तक आप opt in नहीं करते। और इन मॉडलों पर raw chain of thought किसी भी स्थिति में वापस नहीं आती; summarized जितना आप पा सकते हैं उतना है।
Task budgets: एक पूरे loop को cap करने का नया तरीका
agentic loops के लिए एक और lever है, beta में: task_budget। यह पुराने budget_tokens का पुनर्जन्म नहीं है — यह अलग है। एक task budget मॉडल को बताता है कि उसके पास पूरे agentic loop (सोच plus tool calls plus output) के लिए कितने token हैं, और मॉडल एक चलती गिनती देखता है और खुद को gracefully खत्म करने के लिए pace करता है बजाय अचानक कट जाने के:
output_config: {effort: "high", task_budget: {type: "tokens", total: 64000}}
इसके लिए beta header task-budgets-2026-03-13 की जरूरत है, न्यूनतम 20,000 token है, और आपको stream करना चाहिए क्योंकि बड़े max_tokens से अन्यथा timeout का जोखिम होगा। मुख्य अंतर: max_tokens एक कठोर, लागू, प्रति-response सीमा है जिसके बारे में मॉडल नहीं जानता। task_budget एक सॉफ्ट, संचयी, पूरे-loop सुझाव है जिसे मॉडल जानता है और इसके खिलाफ योजना बनाता है। task_budget का उपयोग मॉडल को स्व-संयमित करने के लिए करें; max_tokens को कठोर backstop के रूप में उपयोग करें।
मैं अब वास्तव में ये कैसे सेट करता हूँ
एक chat या classification endpoint के लिए: जहाँ supported हो वहाँ adaptive off या thinking: {type: "disabled"}, effort: "low", छोटा max_tokens। सस्ता और तेज़।
एक coding agent के लिए: thinking: {type: "adaptive"}, effort: "xhigh", उदार streaming max_tokens, और अगर यह एक लंबा autonomous loop है तो task_budget।
एक one-shot कठिन reasoning task के लिए जहाँ मुझे सही होने की परवाह है: adaptive on, effort: "high" और max test करें, display: "summarized" ताकि मैं audit कर सकूँ कि यह वहाँ कैसे पहुँचा।
वह mental model जो इन सभी को स्पष्ट करता है: अनुकूली सोच है कब और कितना तर्क करना है, effort है कुल मिलाकर कितनी मेहनत करनी है, task budget है पूरे काम पर कितना खर्च करना है। तीन knobs, तीन सवाल। token allowances का अनुमान लगाना बंद करें और मॉडल को वह करने दें जिसमें वह अब अच्छा है — खुद तय करना।
