29 पॉइंट द्वारा remin1994 2026-03-17 | 4 टिप्पणियां | WhatsApp पर शेयर करें

Claude Code के साथ काम करते हुए अचानक मेरे मन में यह सवाल आया कि CLAUDE.md फ़ाइल, skills, rules / memory जैसे डेटा को Claude server आखिर किस तरह पहचानता है?

इसलिए मैंने खुद एक MITM proxy बनाकर ट्रैफ़िक देखने वाला टूल तैयार किया।

यह टूल Claude Code चलाते समय baseURL बदलकर, Claude Code के भीतर होने वाले HTTP communication को capture करके दिखाता है।

इस टूल से जो बातें पता चलीं, वे ये हैं।

सिर्फ hello कहने पर भी 12KB जुड़कर भेजा जाता है

  • यह वह स्थिति है जब Claude Code खोलते ही hello भेजा गया।
  • content[0] में skills की सूची ~2KB, content[1] में CLAUDE.md ~10KB, और content[2] में वास्तविक input hello टेक्स्ट भेजा जाता है।
  • यानी अगर CLAUDE.md 500 लाइन का है, तो हर request में वह पूरा का पूरा भेजा जाता है, और यही वजह है कि CLAUDE.md को संक्षिप्त रखना चाहिए।

जैसे-जैसे बातचीत बढ़ती है, हर request बर्फ़ के गोले की तरह बड़ा होता जाता है

  • हर request पर पूरा messages[] फिर से भेजा जाता है। — 1 turn 15KB, 10 turn 200KB, 30 turn 1MB+
  • यहाँ तक कि Claude के दिए गए जवाब भी request message में शामिल होकर जाते हैं।
  • इससे समझ में आया कि अगर context window को समय-समय पर /clear न किया जाए, तो token की बर्बादी के साथ पहले का context बाद के context से हमेशा जुड़ा रहता है, जिससे performance में गिरावट आ सकती है।

MCP tools केवल ज़रूरत पड़ने पर ही load होते हैं

  • शुरुआत में सिर्फ built-in N tools (Claude version के अनुसार अलग हो सकते हैं) load होते हैं, और जब MCP tool का उपयोग करना हो, तब server ToolSearch को call करके इस्तेमाल करने वाले tools ढूँढता है।
  • उसके बाद हर call में ऊपर मिले हुए tools जोड़कर call किया जाता है।
  • यानी MCP Tool dynamic तरीके से load होते हैं, इसलिए जिन MCP tools का उपयोग नहीं हुआ, वे वास्तव में बड़े token consumption का कारण नहीं बनते।

subagent पूरी तरह अलग-थलग context में चलता है

  • subagent ऐसा है मानो parent conversation history के बिना एक नया session खुल गया हो।
  • Inspector में आप parent/subagent दोनों calls को साथ-साथ देखकर तुलना कर सकते हैं।

एक image attachment सैकड़ों KB और जोड़ देता है

  • screenshot attach करने पर वह base64 encoding होकर JSON body में inline insert हो जाता है।
  • image request को कितना बड़ा बना रही है, यह real time में देखा जा सकता है।

इसे नीचे दिए गए command से install किया जा सकता है।

brew install --cask kangraemin/tap/claude-inspector && sleep 2 && open -a "Claude Inspector"   

GitHub: https://github.com/kangraemin/claude-inspector

फ़िलहाल यह केवल macOS के लिए है और शुरुआती version है, इसलिए अगर आप सुधार के सुझाव दें तो मैं उन्हें सक्रिय रूप से अपनाऊँगा।

इसे इस्तेमाल करके देखें, उम्मीद है यह सीखने में मदद करेगा। धन्यवाद!

4 टिप्पणियां

 
winterjung 2026-03-18

suspiciously precise floats, or,
how I got Claude's real limits लेख
में यह विश्लेषण था कि API लागत से अलग, subscription plan में cache read की कोई लागत नहीं होती। सेशन जितना लंबा होता है, ऐसा भी लगता है कि गणना की गई लागत और वास्तविक लागत के बीच कुछ अंतर हो सकता है।

 
remin1994 2026-03-18

ओह .... यह पोस्ट तो मुझे बिल्कुल पता ही नहीं थी ... मैं एक बार इसे चेक करूँगा! धन्यवाद

 
kgcrom 2026-03-18

https://github.com/badlogic/lemmy/tree/main/apps/claude-trace
मैंने इससे prompt और कौन-कौन से tools इस्तेमाल हुए, यह देखा था, अब लगता है आपने जो बनाया है उसे भी आज़माना पड़ेगा।
शेयर करने के लिए धन्यवाद। :+1:

 
remin1994 2026-03-17

इसके अलावा, request के बाद response के अंदर उस request में इस्तेमाल हुए token की मात्रा भी देखी जा सकती है!

मॉडल: claude-sonnet-4-6
request आकार: 68.9 KB

"usage": {
"input_tokens": 3,
"cache_creation_input_tokens": 12394,
"cache_read_input_tokens": 6499,
"cache_creation": {
"ephemeral_5m_input_tokens": 0,
"ephemeral_1h_input_tokens": 12394
},
"output_tokens": 74,
"service_tier": "standard",
"inference_geo": "not_available"
}

साथ ही, मैंने मॉडल-वार कीमत लागू करके प्रति request cost भी कैलकुलेट कर दी है, इसलिए खूब इस्तेमाल करें, हाहा

cache read: 6.5K tok × $0.3/MTok = $0.0019
cache write: 12.4K tok × $3.75/MTok = $0.0465
uncached input: 3 tok × $3/MTok = $0.0000
output: 74 tok × $15/MTok = $0.0011

कुल: $0.0495
cache hit rate: 34%