Claude की adaptive thinking बनाम extended thinking: क्या बदला
Claude के सोचने के तरीक़े में पीढ़ीगत बदलाव आ चुका है। पुरानी extended thinking में हर request पर token बजट आपको ख़ुद बताना पड़ता था — thinking: {"type": "enabled", "budget_tokens": N} — लेकिन सही बजट हर टास्क के लिए अलग होता है, पहले से भाँपा नहीं जा सकता, और उसे बदलने से prompt cache invalidate हो जाता है। मौजूदा adaptive thinking बस एक लाइन है, type: "adaptive": सोचना है या नहीं और कितनी गहराई से, यह मॉडल का अपना फ़ैसला है — इस आधार पर कि request कितनी मुश्किल दिखती है। माइग्रेशन चरणों में हुआ: budget_tokens को Opus 4.6 / Sonnet 4.6 पर deprecated किया गया और Opus 4.7 से आगे 400 error के साथ ठुकराया जाता है। यह लेख हर मॉडल के नियम एक टेबल में समेटता है — Fable 5 हमेशा सोचता है (बंद नहीं हो सकता), Opus 5 और Sonnet 5 पर thinking डिफ़ॉल्ट रूप से चालू है (Opus 5 पर बंद करना सिर्फ़ effort high या उससे नीचे पर संभव), Opus 4.8 / 4.7 पर explicit adaptive सेट करना पड़ता है, और Sonnet 4.5 / Haiku 4.5 जैसे legacy मॉडल आज भी budget_tokens को ही एकमात्र mode के रूप में इस्तेमाल करते हैं। गहराई का नियंत्रण अब output_config: {"effort": ...} के पाँच स्तरों (डिफ़ॉल्ट high) में है, और effort बदलने से cache वैसे ही टूटता है जैसे पहले बजट बदलने से टूटता था। दिखना display से तय होता है: नई पीढ़ी का डिफ़ॉल्ट "omitted" है (ख़ाली thinking blocks), और बिल दोनों सूरतों में पूरे thinking tokens का लगता है — मापिए usage.output_tokens_details.thinking_tokens से; कच्ची chain of thought कोई setting नहीं लौटाती। Opus 5 पर thinking बंद करने के दर्ज side effects हैं (tool calls सादे text में, आंतरिक tags का leak), इसलिए लागत घटाने का सुरक्षित रास्ता effort घटाना है। tool calls के बीच reasoning — interleaved thinking — adaptive में अपने आप होती है, पुराना beta header अब नहीं चाहिए। और रफ़्तार चाहिए तो fast mode वही Opus क़रीब 2.5x तेज़ चलाता है, दोगुनी क़ीमत पर (सिर्फ़ Opus 5/4.8, Claude Code में /fast से toggle)। हर बात Anthropic के आधिकारिक Thinking, Extended thinking और Fast mode documentation पर आधारित है।