Claude Code का “Extended Thinking” आउटपुट टेक्स्ट असली reasoning नहीं है
(patrickmccanna.net)- Claude Code सेशन को डिस्क पर रिकॉर्ड करता है, लेकिन लोकल लॉग के thinking block में असली reasoning टेक्स्ट की जगह सिर्फ 600 कैरेक्टर लंबा
signatureबचा था - Claude की reasoning signature से एन्क्रिप्ट की जाती है, और उसकी key Anthropic के पास रहती है; यह यूज़र डिवाइस तक नहीं भेजी जाती
- API जो वैल्यू लौटाती है, वह असली reasoning मूल-पाठ नहीं बल्कि reasoning summary है, और पूरा thinking output पाने के लिए enterprise agreement चाहिए
ctrl+oसे दिखने वाला extended-thinking आउटपुट भी Fable/Opus की सोच-प्रक्रिया का सिर्फ सारांश है, वह वास्तविक reasoning नहीं है जिसने सेशन में मॉडल के व्यवहार को सीधे संचालित किया- अगर Claude Code सेशन को audit trail की तरह इस्तेमाल करना है, तो यह मानकर चलना होगा कि सिर्फ लोकल फ़ाइल, इनपुट·आउटपुट और action लॉग से एजेंट की वास्तविक तर्क-प्रक्रिया को दोबारा निर्मित नहीं किया जा सकता
लोकल लॉग में जो बचता है, वह reasoning का मूल-पाठ नहीं है
- Claude Code हर सेशन को डिस्क पर रिकॉर्ड करता है, और उस लॉग में मॉडल के काम करते समय के thinking blocks शामिल होते हैं
- जब लोकल में उस reasoning को देखने की कोशिश की गई, तो असली टेक्स्ट नहीं मिला और सिर्फ 600 कैरेक्टर लंबा
signatureमिला - Anthropic के extended thinking दस्तावेज़ में इस संरचना को इस तरह समझाया गया है
- Claude अपनी reasoning को उस signature के अंदर एन्क्रिप्ट करता है
- key Anthropic के पास रहती है
- यूज़र डिवाइस को key नहीं मिलती
- API reasoning खुद नहीं बल्कि reasoning summary लौटाती है
- पूरा thinking output पाने के लिए enterprise agreement चाहिए
- Matt Green की पोस्ट में signature block पर और विस्तार से टिप्पणियाँ की गई हैं
Extended Thinking आउटपुट की सीमाएँ
- Claude Code के
ctrl+oमें दिखने वाला extended-thinking आउटपुट Fable/Opus thinking का सारांश है - यह आउटपुट वह reasoning नहीं है जिसने सेशन में मॉडल के व्यवहार को वास्तव में संचालित किया, बल्कि thinking logic का संक्षिप्त रूप है
- सारांश में बदलने की प्रक्रिया में डेटा लॉस होता है, और मूल लेख इसे फ़ाइल फ़ॉर्मैट बदलने पर जानकारी खोने जैसी स्थिति से तुलना करता है
- Claude Code सेशन में एजेंट द्वारा इस्तेमाल की गई तर्क-प्रक्रिया का रिकॉर्ड चाहिए हो, तो इन बातों पर ध्यान देना होगा
- सिर्फ लोकल फ़ाइलों से उस logic को उत्पन्न नहीं किया जा सकता
- सिस्टम में बचा reasoning लॉग यूज़र के लिए सुलभ रूप में उपलब्ध नहीं है
- इनपुट, आउटपुट और चल रहे Claude Code के व्यवहार को अलग से कैप्चर करके रिकॉर्ड किया जा सकता है
- ऐसे लॉग भी वह reasoning नहीं हैं जिसने एजेंट के व्यवहार को वास्तव में संचालित किया
- दस्तावेज़ में दिया गया वाक्य “extended thinking returns a summary of Claude’s full thinking process” परोक्ष है, इसलिए इसे असली full thinking मिलने की तरह गलत समझा जा सकता है
1 टिप्पणियां
Hacker News की राय
यह सिर्फ Anthropic की समस्या नहीं है; OpenAI और Google सहित लगभग सभी बड़ी AI कंपनियाँ मॉडल की वास्तविक reasoning process को छिपाती हैं
ऐसा इसलिए है क्योंकि अगर raw reasoning सार्वजनिक कर दिया जाए, तो AI जानकारी को कैसे प्रोसेस करता है यह सीधा सामने आ जाएगा, और ये कंपनियाँ प्रतिस्पर्धियों से बेहतर thinking process बनाने पर भारी R&D खर्च करती हैं
उस thinking mechanism को प्रतिस्पर्धियों को दिखाना उनके खर्च के उद्देश्य को ही नष्ट कर देगा, इसलिए वे ऐसा कभी नहीं करेंगी; यह कुछ वैसा है जैसे जो आपका पीछा कर रहा हो उसे अपनी सटीक लोकेशन बता देना
उसे सारांश जैसी किसी post-processing से गुज़ार दिया जाए, तो वह प्रतिस्पर्धियों के लिए कम उपयोगी रह जाता है
इसलिए यह और भी खराब है
“यह असली सोच नहीं, बल्कि सोच के तर्क का सारांश है। यह ऐसा है जैसे jpeg को .bmp में सेव किया जाए, फिर .bmp को एडिट करके फिर से .jpeg की तरह पेश किया जाए। इस रूपांतरण में data loss होता है” — यह तुलना उलटी है
.bmp lossless format है, और .jpeg lossy format है
मैं hidden reasoning वाले models का न उपयोग करूँगा, न सिफारिश करूँगा, और अमेरिकी मॉडल सभी इसी श्रेणी में आते हैं
जोखिम बहुत बड़ा है और prompt optimization भी अधिक कठिन हो जाती है
हमलावर prompt injection के ज़रिए chain of thought में गुप्त लक्ष्य डाल सकता है, और सारांश व output में उसे छिपा भी सकता है, इसलिए यह खतरनाक है
जब reasoning और function calling मिल जाते हैं, तो जोखिम और बढ़ जाता है; मॉडल hidden reasoning चरण में functions call कर सकता है
तब हमलावर data exfiltrate कर दे, तब भी reasoning summary उसे user से छिपा सकती है
इसके अलावा यह भी पता नहीं चलता कि मॉडल reasoning के दौरान infinite loop में फँसकर tokens बर्बाद कर रहा है या नहीं; Gemini में ऐसी प्रवृत्ति है और hidden reasoning leak होने पर यह देखा भी गया है
मॉडल AGI बन जाए और prompt injection से सुरक्षित हो जाए, तब शायद मुझे फर्क न पड़े, लेकिन उससे पहले मैं यह जानना चाहता हूँ कि मॉडल prompt पर ठीक किस तरह प्रतिक्रिया देता है, और agent मेरी ओर से ठीक-ठीक क्या कर रहा है
आगे पढ़ें: Fooling around with encrypted reasoning blobs
https://blog.cryptographyengineering.com/2026/05/29/fooling-...
अगर function calling को client side पर evaluate करना है, तो किसी बिंदु पर client को उस thought stream को decrypt करना पड़ेगा, और तब उसे इस तरह obfuscate करने का उद्देश्य ही खत्म हो जाएगा
अगर आपका मतलब है कि function calling server side पर हो सकती है, तो reasoning API का उपयोग करते समय server ऐसा करे और उसे छिपा ले, इसे रोकने का कोई तरीका नहीं है
अभी यह सिर्फ Rust में काम करता है: https://github.com/Kapperchino/agent-joe
नहीं तो client उन्हें execute कैसे करेगा
यह बात बहुत पहले से पता थी, और कंपनियाँ भी इसे खास तौर पर छिपाने की कोशिश नहीं कर रही हैं
वे बस यह रोकना चाहती हैं कि प्रतिस्पर्धी chain of thought (CoT) से मॉडल को ट्रेन न कर लें
मुझे लगता है यह Opus 4.6 के समय से ही था
मुझे साफ याद है कि जनवरी या फरवरी के आसपास यह बदलाव आया था, और वजह के रूप में distillation prevention स्पष्ट रूप से दी गई थी
Sonnet पर यह सीमा नहीं है
दिलचस्प बात यह है कि अगर आप 2 साल पुराने तरीके पर लौटकर explicit CoT prompt डालें, तो पूरा thought prompt फिर से दिखने लगता है
इसलिए thinking feature को पूरी तरह बंद करके, उसकी जगह सामान्य prompt में इस तरह सोच शामिल की जा सकती है
“जवाब देने से पहले step by step सोचो। उदाहरण के लिए:
user मुझसे … माँग रहा है
मुझे blah blah के बारे में सोचना है। पहले foo the bar करना है, फिर blah blah करना है
जवाब: ”
तब tada.wav, GPT-3 के दौर की तरह CoT फिर काम करने लगता है
मेरे विचार में chain-of-thought reasoning block का मनुष्य के अर्थ वाले reasoning से बहुत अधिक सीधा संबंध नहीं है
इसके लिए Fable/Mythos system card की धारा 6.2.2 “readability-challenged reasoning” और Apple के paper “The illusion of thinking” द्वारा उठाए गए सवाल देखे जा सकते हैं
मुझे लगता था reasoning block इसलिए छिपाए जाते हैं क्योंकि अगर users देखें कि अंदर क्या हो रहा है, तो वे चौंक जाएँगे
अपने सहकर्मियों के दिमाग में वास्तव में क्या चल रहा है, यह देख लूँ, तो शायद मैं भी चौंक जाऊँ
उल्टा, कभी-कभी ऐसी उपयोगी ideas भी होती थीं जो अंतिम जवाब में शामिल ही नहीं होती थीं
पहले मैंने एक छोटा-सा नोट छोड़ा था कि DeepSeek R1 इस तरह के reasoning trace बनाता है
“(Dimethyl(oxo)-lambda6-sulfa雰囲idine)methane donate a CH2rola group occurs in reaction, Practisingproduct transition vs adds this.to productmodule. Indeed"come tally said Frederick would have 10 +1 =11 carbons. So answer q Edina is11.”
और फिर रसायन विज्ञान के सवाल पर ‘सही’ उत्तर निष्कर्ष के रूप में देता है
अगर ऐसा है, तो reasoning trace पाठक को काफ़ी हद तक निरर्थक स्ट्रिंग जैसा लग सकता है, लेकिन यह मॉडल की विशेषता है या सामान्य रूप से LLMs की प्रकृति, यह अभी स्पष्ट नहीं है
मैंने पहले लेखक से इस बारे में बात की थी, लेकिन क्योंकि पेपर NIPS जैसी किसी जगह आने वाला था, मैं बाद में पुष्टि करना भूल गया; अगर कोई इसे ढूँढ ले तो साझा करे तो अच्छा होगा
0: https://wiki.roshangeorge.dev/w/Blog/2025-10-12/Word_Magic#I...?
1: शायद इसका मतलब true belief के अर्थ में है
सही, कई मॉडल अजीब technical jargon जैसी शैली में सोचते हैं
Mythos जब solitaire खेलता है, उसके reasoning का उदाहरण यहाँ है: https://www.lesswrong.com/posts/wCSEpT3dTGz4N86Wi/even-illeg...
“7♣-removal-IS-the-prerequisite-for-10♠/9♥!!)-⟹-OVERLAP-(ii)+(iv):-{6♠ J♦ 9♥ 2♣}-=-FOUR--—-UNLESS-7♣'s-seat-8♥-...-and-2♣-drains-only-at-crack-:-⟹-2♣-celled-+-9♥-celled-simultaneously-UNAVOIDABLE-in-t8-dig--—-BREAK:-9♥”
यह वह चरण है जहाँ मॉडल अंग्रेज़ी में सोचना बंद कर देता है और आंतरिक vector space में सोचने वाली neuralese के थोड़ा और क़रीब पहुँच जाता है
टेक्स्ट में serialize होने की वजह से यह असली neuralese नहीं है, लेकिन उस दिशा में जा रहा है
कोड लिखते समय मेरी अपनी अंदरूनी सोच में भी कई ऐसे मध्यवर्ती चरण होते हैं जिन्हें अंग्रेज़ी में लिख पाना मुश्किल है, इसलिए इस मामले में मैं मॉडलों से कुछ हद तक सहानुभूति रखता हूँ
मुझे लगता है वह बस टूटी हुई implementation या model quantization से निकला token noise है
मॉडल ने ऐसी बकवास पहले भी उगली थी, और हर बार वजह llama.cpp का bug या टूटा हुआ .gguf निकला
HN पर anthropomorphism वर्जित है, लेकिन यह बात ज़िक्र करने लायक है कि कुछ लोग मानते हैं कि इंसान भी post-hoc rationalization करते हैं
https://www.patheos.com/blogs/tippling/2013/11/14/post-hoc-r...
https://www.researchgate.net/publication/316045349_Post_Hoc_...
यानी पहले non-verbal तरीके से सोचना, फिर बाद में उसके लिए कोई plausible कारण भाषा में गढ़ लेना
यह discursive writing पर भी लागू होता है या नहीं, इस पर मुझे यक़ीन नहीं
लिखते समय हम मूल रूप से logic के नियमों का इस्तेमाल करके narrative की दिशा तय करते हैं, इसलिए non-verbal heuristics अब भी काम कर सकते हैं, लेकिन वे सीमित रहते हैं; इसीलिए यह पूरी तरह post-hoc नहीं लगता
यह कड़वा लगता है कि Anthropic अपना डेटा तो इस तरह छिपाता है, जबकि आपका सारा डेटा सोख लेता है और बहुत से लोग उसे ख़ुशी-ख़ुशी दे भी देते हैं
फिर उसी के आधार पर आपका उत्पाद बनाकर बाज़ार पर क़ब्ज़ा करता है और आपसे प्रतिस्पर्धा करता है
Anthropic अपने reasoning tokens को moat मानता है और सोचता है कि वे दूसरी labs को बढ़त दे देंगे, इसलिए उन्हें छिपाता है
अगर उन्हें सच में लगता है कि यही उनकी बढ़त है, तो उन्हें काफ़ी आश्चर्य होने वाला है
मैं जानना चाहूँगा कि आप ठीक किस उत्पाद को “सोख लिया” हुआ बता रहे हैं
क्या सच में आपका मतलब है कि
reasoning_summaryकी सामग्री सचमुच summary हैवैसे, OpenAI भी बिल्कुल यही करता है, इसलिए यह कोई चौंकाने वाली या ख़ास तौर पर दुष्ट बात नहीं है
सोच को छिपाने के लिए इतनी मेहनत की जा रही है, लेकिन Opus 4.8 में 100k~200k tokens के बाद वह अपनी सोच लीक करना शुरू कर देता है
सच में हास्यास्पद है
ख़ासकर इसलिए क्योंकि आम तौर पर यह security उद्देश्य से jailbreak करते समय होता है
“यूज़र cyber security से जुड़ा काम माँग रहा है, और यह आसानी से offensive use के लिए repurpose हो सकता है, इसलिए सावधान रहना चाहिए” जैसी पंक्तियाँ कई पन्नों तक चलती रहती हैं, और फिर अंत में वह ख़ुशी-ख़ुशी वही दे देता है जो मैं चाहता था