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 Completions पर यहreasoning_details में आखिरी reasoning.encrypted प्रविष्टि है:
output में आखिरी reasoning item है, जिसका id rs_effort_ से शुरू होता है:
अपने कोड में प्रयास बदलें
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 इन स्थितियों में टॉप-लेवल प्रयास बदलता है, जैसा वह दूसरे प्रदाताओं के लिए करता है:- रीज़निंग मौजूद नहीं है। आपके सबसे नए Claude जवाब में कोई प्रयास प्रविष्टि नहीं है, क्योंकि आपके क्लाइंट ने
reasoning_detailsयाreasoningitems हटा दिए। - बदलाव टूल लूप के चरणों के बीच आता है। आपके सबसे नए संदेश में सिर्फ़ टूल परिणाम हैं, इसलिए मार्कर आपके अगले संदेश से ही लागू होगा। Phaseo टॉप-लेवल प्रयास बदलता है ताकि यह चरण आपके मांगे गए लेवल पर चले, और बाद के बदलाव फिर से मार्कर का उपयोग करते हैं।
- अनुरोध कोई प्रयास सेट नहीं करता, या रीज़निंग बंद करता है। हर अनुरोध पर
reasoning_effortयाreasoning.effortभेजें।"none"औरreasoning.enabled: falseरीज़निंग बंद करते हैं। - रूट इसका समर्थन नहीं करता। समर्थित मॉडल देखें।
समर्थित मॉडल
बाकी हर रूट पर, 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 टोकन का एक दस्तावेज़ आया: