मुख्य सामग्री पर जाएं
किसी भी अनुरोध पर अलग reasoning_effort (Chat Completions) या reasoning.effort (Responses) भेजें, और Phaseo Claude का प्रयास उसके प्रॉम्प्ट कैश को दोबारा शुरू किए बिना बदल देता है। जब तक आप हर अनुरोध पर Claude की रीज़निंग बिना बदले वापस भेजते हैं, आपको अपने कोड में और कुछ नहीं बदलना पड़ता। Phaseo Claude को आपकी बातचीत के पहले अनुरोध का प्रयास ही भेजता रहता है और हर बदलाव को आपके नए संदेश के बाद एक प्रयास मार्कर के रूप में जोड़ता है। मार्कर से पहले का सब कुछ वैसा ही रहता है, इसलिए Claude उसे कैश से पढ़ता है। अगर आप रीज़निंग हटा देते हैं, तो Phaseo इसके बजाय टॉप-लेवल प्रयास बदलता है, और Claude अपने पहले जवाब से आगे का सब कुछ कैश से पढ़ने के बजाय दोबारा प्रोसेस करता है।

Phaseo कैश को कैसे बनाए रखता है

Claude कैश की गई बातचीत तभी पढ़ता है जब अनुरोध की शुरुआत बाइट-दर-बाइट एक जैसी हो, और टॉप-लेवल प्रयास उसी शुरुआत का हिस्सा है। Anthropic का प्रति-संदेश प्रयास इसके बजाय messages के अंदर लेवल बदलता है, एक ऐसे system संदेश से जिसमें खाली content और एक output_config.effort होता है। Phaseo ये मार्कर आपके लिए लिखता है: Phaseo अनुरोधों के बीच कुछ भी सेव नहीं करता। Claude का हर जवाब एक रीज़निंग प्रविष्टि पर खत्म होता है जो दर्ज करती है कि वह किस लेवल पर चला, और Phaseo आपकी वापस भेजी गई प्रविष्टियों से हर पिछला मार्कर उसी जगह फिर से बनाता है: आपके वापस भेजे गए संदेश कभी नहीं बदले जाते। मार्कर सिर्फ़ उस अनुरोध में होते हैं जो Phaseo Claude को भेजता है।

रीज़निंग बिना बदले वापस भेजें

हर रीज़निंग प्रविष्टि को, हर अनुरोध पर, ठीक वैसे ही वापस भेजें जैसे आपको मिली थी: Chat reasoning_details, Responses reasoning items और Anthropic thinking ब्लॉक, चाहे वे एन्क्रिप्टेड हों या नहीं। उन्हें न हटाएं, न संपादित करें, न क्रम बदलें और न उनका सारांश बनाएं। उनके बिना, प्रयास बदलने पर Claude का कैश दोबारा शुरू होता है, और Claude टूल लूप के चरणों के बीच अपनी रीज़निंग खो देता है।
प्रयास प्रविष्टि में कोई टेक्स्ट नहीं होता। Chat Completions पर यह reasoning_details में आखिरी reasoning.encrypted प्रविष्टि है:
Responses पर यह output में आखिरी reasoning item है, जिसका id rs_effort_ से शुरू होता है:
यह मान अपारदर्शी है, और बातचीत किसी भी प्रदाता तक पहुंचने से पहले Phaseo इसे हटा देता है।

अपने कोड में प्रयास बदलें

Claude का पूरा जवाब अपनी बातचीत में जोड़ें, फिर अगले अनुरोध पर अपना मनचाहा प्रयास सेट करें। टॉप-लेवल cache_control Claude रूट पर कैशिंग चालू करता है; प्रॉम्प्ट कैशिंग देखें।

Chat Completions

Responses

Phaseo प्रतिक्रियाएं सेव नहीं करता, इसलिए पूरी बातचीत input में भेजें, जिसमें हर output item शामिल हो।

Anthropic Messages

/v1/messages पर मार्कर आप खुद भेजते हैं: खाली content और output_config.effort वाला एक system संदेश। हर अनुरोध पर टॉप-लेवल output_config.effort एक जैसा रखें, और बाद के अनुरोधों में हर मार्कर को उसी जगह रखें। Phaseo mid-conversation-output-config-2026-07-01 बीटा हेडर जोड़ता है, इसलिए आपको उसे भेजने की ज़रूरत नहीं है।
cURL
मार्कर कहां है, इससे तय होता है कि नया लेवल कब शुरू होगा:
  • किसी उपयोगकर्ता संदेश के ठीक बाद: उस संदेश पर Claude का जवाब नए लेवल का उपयोग करता है।
  • कहीं और, जैसे ऊपर की तरह Claude के जवाब और आपके अगले संदेश के बीच: नया लेवल आपके अगले संदेश से शुरू होता है।
जिस उपयोगकर्ता संदेश में सिर्फ़ टूल परिणाम हों, उसे नया संदेश नहीं गिना जाता। जिन रूट पर प्रति-संदेश प्रयास नहीं है, वहां Phaseo मार्कर हटा देता है और लागू लेवल को टॉप-लेवल प्रयास के रूप में भेजता है।

बदलाव कब कैश को दोबारा शुरू करता है

Phaseo इन स्थितियों में टॉप-लेवल प्रयास बदलता है, जैसा वह दूसरे प्रदाताओं के लिए करता है:
  • रीज़निंग मौजूद नहीं है। आपके सबसे नए Claude जवाब में कोई प्रयास प्रविष्टि नहीं है, क्योंकि आपके क्लाइंट ने reasoning_details या reasoning items हटा दिए।
  • बदलाव टूल लूप के चरणों के बीच आता है। आपके सबसे नए संदेश में सिर्फ़ टूल परिणाम हैं, इसलिए मार्कर आपके अगले संदेश से ही लागू होगा। Phaseo टॉप-लेवल प्रयास बदलता है ताकि यह चरण आपके मांगे गए लेवल पर चले, और बाद के बदलाव फिर से मार्कर का उपयोग करते हैं।
  • अनुरोध कोई प्रयास सेट नहीं करता, या रीज़निंग बंद करता है। हर अनुरोध पर reasoning_effort या reasoning.effort भेजें। "none" और reasoning.enabled: false रीज़निंग बंद करते हैं।
  • रूट इसका समर्थन नहीं करता। समर्थित मॉडल देखें।
टॉप-लेवल बदलाव बातचीत के उस हिस्से को कैश में रखता है जो Claude के पहले जवाब से पहले है। Claude उस जवाब से आगे का सब कुछ दोबारा प्रोसेस करता है, और उसे नए इनपुट के रूप में बिल करता है।

समर्थित मॉडल

बाकी हर रूट पर, Azure पर Claude समेत, प्रयास का बदलाव टॉप-लेवल पर जाता है।

जांचें कि कैश बना रहा

बदलाव के बाद वाले अनुरोध पर कैश की गिनती पढ़ें: Chat Completions पर usage.prompt_tokens_details.cached_tokens, Responses पर usage.input_tokens_details.cached_tokens और Anthropic Messages पर usage.cache_read_input_tokens। उपयोग और प्राइसिंग फ़ील्ड में हर फ़ील्ड की सूची है। हमने 11 नवंबर 2026 को anthropic/claude-haiku-5.5 पर पांच अनुरोधों वाली एक ही Chat Completions बातचीत को मापा, एक बार प्रयास प्रविष्टियां वापस भेजकर और एक बार उनके बिना। प्रयास high, high, low, low, high था, और दूसरे संदेश में 3,400 टोकन का एक दस्तावेज़ आया:
अंतिम संशोधन 12 नवंबर 2026