Technical reference

प्रॉम्प्ट कैशिंग

प्रॉम्प्ट कैशिंग किसी मॉडल प्रदाता को प्रत्येक अनुरोध पर अपरिवर्तित प्रॉम्प्ट उपसर्ग (सिस्टम/डेवलपर निर्देश, टूल परिभाषाएँ, अन्य स्थिर संदर्भ) को दोबारा संसाधित करने के बजाय अलग-अलग टर्न में उसका पुनः उपयोग करने देती है। इससे बार-बार आने वाले संदर्भ वाले लंबे समय तक चलने वाले सत्रों में टोकन लागत और विलंबता कम होती है।

जहाँ भी अपस्ट्रीम API ये काउंटर उपलब्ध कराता है, OpenClaw प्रदाता उपयोग को cacheRead और cacheWrite में सामान्यीकृत करता है। जब लाइव सत्र स्नैपशॉट में कैश काउंटर नहीं होते, तो उपयोग सारांश (/status और इसी तरह के अन्य) अंतिम ट्रांस्क्रिप्ट उपयोग प्रविष्टि का फ़ॉलबैक के रूप में उपयोग करते हैं; शून्य से अधिक लाइव मान को हमेशा फ़ॉलबैक पर प्राथमिकता मिलती है।

प्रदाता संदर्भ:

मुख्य नियंत्रण

cacheRetention

मान: "none" | "short" | "long"। इसे वैश्विक डिफ़ॉल्ट के रूप में, प्रत्येक मॉडल के लिए और प्रत्येक एजेंट के लिए कॉन्फ़िगर किया जा सकता है। "standard" कोई उपनाम नहीं है; प्रदाता की डिफ़ॉल्ट कैश अवधि के लिए "short" का उपयोग करें। अमान्य मान चेतावनी के साथ अनदेखे कर दिए जाते हैं।

yaml
agents:  defaults:    params:      cacheRetention: "long" # none | short | long    models:      "anthropic/claude-opus-4-6":        params:          cacheRetention: "short" # इस मॉडल के लिए वैश्विक डिफ़ॉल्ट को ओवरराइड करता है  list:    - id: "alerts"      params:        cacheRetention: "none" # इस एजेंट के लिए दोनों डिफ़ॉल्ट को ओवरराइड करता है

मर्ज क्रम (बाद वाला प्रभावी होता है):

  1. agents.defaults.params - सभी मॉडलों के लिए वैश्विक डिफ़ॉल्ट
  2. agents.defaults.models["provider/model"].params - प्रति-मॉडल ओवरराइड
  3. agents.entries.*.params - एजेंट आईडी से मिलान किया गया प्रति-एजेंट ओवरराइड

स्रोत: src/agents/embedded-agent-runner/extra-params.ts (resolveExtraParams)।

contextPruning.mode: "cache-ttl"

कैश TTL अवधि बीतने के बाद पुराने टूल-परिणाम संदर्भ की छँटाई करता है, ताकि निष्क्रियता के बाद का अनुरोध अत्यधिक बड़े इतिहास को फिर से कैश न करे।

yaml
agents:  defaults:    contextPruning:      mode: "cache-ttl"      ttl: "1h"

संपूर्ण व्यवहार के लिए सत्र छँटाई देखें।

Heartbeat को सक्रिय रखना

Heartbeat कैश अवधियों को सक्रिय रख सकता है और निष्क्रिय अंतराल के बाद बार-बार होने वाले कैश लेखन को कम कर सकता है। इसे वैश्विक रूप से (agents.defaults.heartbeat) या प्रति एजेंट (agents.entries.*.heartbeat) कॉन्फ़िगर किया जा सकता है।

yaml
agents:  defaults:    heartbeat:      every: "55m"

प्रदाता व्यवहार

Anthropic (प्रत्यक्ष API और Vertex AI)

  • cacheRetention, anthropic और anthropic-vertex प्रदाताओं के लिए समर्थित है, तथा amazon-bedrock और कस्टम anthropic-messages-संगत एंडपॉइंट पर Claude मॉडलों के लिए भी, जब cacheRetention स्पष्ट रूप से सेट हो।
  • सेट न होने पर, OpenClaw प्रत्यक्ष Anthropic के लिए cacheRetention: "short" आरंभिक मान के रूप में देता है (केवल anthropic और anthropic-vertex प्रदाता; अन्य Anthropic-परिवार रूट के लिए स्पष्ट मान आवश्यक है)।
  • मूल Anthropic Messages प्रतिक्रियाएँ cache_read_input_tokens और cache_creation_input_tokens उपलब्ध कराती हैं, जिन्हें cacheRead और cacheWrite में मैप किया जाता है।
  • cacheRetention: "short" डिफ़ॉल्ट 5-मिनट के अस्थायी कैश में मैप होता है। स्पष्ट रूप से सेट किए जाने पर cacheRetention: "long", 1-घंटे के TTL (cache_control: { type: "ephemeral", ttl: "1h" }) का अनुरोध करता है। अंतर्निहित/पर्यावरण-चालित दीर्घ प्रतिधारण (OPENCLAW_CACHE_RETENTION=long बिना स्पष्ट cacheRetention के) केवल api.anthropic.com या Vertex AI (aiplatform.googleapis.com / *-aiplatform.googleapis.com) होस्ट पर 1-घंटे के TTL में अपग्रेड होता है; अन्य होस्ट 5-मिनट का कैश बनाए रखते हैं।

स्रोत: packages/ai/src/transports/anthropic-payload-policy.ts (resolveAnthropicEphemeralCacheControl, isLongTtlEligibleEndpoint)।

OpenAI (प्रत्यक्ष API)

  • समर्थित हालिया मॉडलों पर प्रॉम्प्ट कैशिंग स्वचालित है; OpenClaw ब्लॉक-स्तरीय कैश मार्कर प्रविष्ट नहीं करता।
  • अलग-अलग टर्न में कैश रूटिंग स्थिर रखने के लिए OpenClaw prompt_cache_key भेजता है। प्रत्यक्ष api.openai.com होस्ट को यह स्वचालित रूप से मिलता है। OpenAI-संगत प्रॉक्सी (oMLX, llama.cpp, कस्टम एंडपॉइंट) को ऑप्ट इन करने के लिए मॉडल कॉन्फ़िगरेशन में compat.supportsPromptCacheKey: true की आवश्यकता होती है - प्रॉक्सी के लिए इसका कभी भी स्वचालित रूप से पता नहीं लगाया जाता।
  • prompt_cache_retention: "24h" केवल तभी जोड़ा जाता है जब cacheRetention: "long" चुना गया हो और समाधान किया गया एंडपॉइंट कैश कुंजी और दीर्घ प्रतिधारण दोनों का समर्थन करता हो (compat.supportsLongCacheRetention, डिफ़ॉल्ट रूप से सत्य; Together AI और Cloudflare संगतता प्रोफ़ाइल इसे अक्षम करती हैं)। cacheRetention: "none" दोनों फ़ील्ड को रोकता है।
  • कैश हिट usage.prompt_tokens_details.cached_tokens (Chat Completions) या input_tokens_details.cached_tokens (Responses API) के माध्यम से दिखाई देते हैं, जिन्हें cacheRead में मैप किया जाता है।
  • Responses API पेलोड input_tokens_details.cache_write_tokens भी उपलब्ध करा सकते हैं, जिसे cacheWrite में मैप किया जाता है और मॉडल की कैश-लेखन दर पर मूल्यांकित किया जाता है; इस फ़ील्ड को छोड़ने वाले Responses पेलोड में cacheWrite, 0 पर रहता है। OpenAI का Chat Completions API किसी cache_write_tokens काउंटर का दस्तावेज़ीकरण या उत्सर्जन नहीं करता, लेकिन अलग लेखन संख्या रिपोर्ट करने वाले OpenRouter-संगत और DeepSeek-शैली के प्रॉक्सी के लिए OpenClaw वहाँ भी prompt_tokens_details.cache_write_tokens पढ़ता है।
  • व्यवहार में, OpenAI, Anthropic के गतिशील पूर्ण-इतिहास पुनः उपयोग की तुलना में आरंभिक-उपसर्ग कैश जैसा अधिक व्यवहार करता है - नीचे OpenAI लाइव अपेक्षाएँ देखें।

Amazon Bedrock

  • Anthropic Claude मॉडल संदर्भ (amazon-bedrock/*anthropic.claude*, साथ ही AWS सिस्टम अनुमान प्रोफ़ाइल उपसर्ग us./eu./global.anthropic.claude*) स्पष्ट cacheRetention पास-थ्रू का समर्थन करते हैं।
  • गैर-Anthropic Bedrock मॉडल (उदाहरण के लिए amazon.nova-*) किसी भी कॉन्फ़िगर किए गए cacheRetention मान की परवाह किए बिना, रनटाइम पर बिना कैश प्रतिधारण के समाधान होते हैं।
  • अपारदर्शी Bedrock अनुप्रयोग अनुमान प्रोफ़ाइल ARN (ऐसी प्रोफ़ाइल आईडी जिनमें claude नहीं है) भी बिना कैश प्रतिधारण के समाधान होते हैं, जब तक कि cacheRetention स्पष्ट रूप से सेट न हो, क्योंकि केवल ARN से मॉडल परिवार का अनुमान नहीं लगाया जा सकता।

OpenRouter

openrouter/anthropic/* मॉडल संदर्भों के लिए, OpenClaw सिस्टम/डेवलपर प्रॉम्प्ट ब्लॉक पर Anthropic cache_control मार्कर प्रविष्ट करता है, लेकिन केवल तब जब अनुरोध अब भी सत्यापित OpenRouter रूट को लक्षित करता है (अपने डिफ़ॉल्ट एंडपॉइंट पर openrouter, या कोई भी प्रदाता/आधार URL जो openrouter.ai में समाधान होता है)। मॉडल को किसी मनमाने OpenAI-संगत प्रॉक्सी URL पर पुनः इंगित करने से यह प्रविष्टि रुक जाती है।

contextPruning.mode: "cache-ttl", openrouter/anthropic/*, openrouter/deepseek/*, openrouter/moonshot/*, openrouter/moonshotai/*, और openrouter/zai/* मॉडल संदर्भों के लिए अनुमत है, क्योंकि ये रूट OpenClaw के प्रविष्ट किए गए मार्करों की आवश्यकता के बिना प्रदाता-पक्षीय प्रॉम्प्ट कैशिंग संभालते हैं।

स्रोत: extensions/openrouter/index.ts (OPENROUTER_CACHE_TTL_MODEL_PREFIXES)।

OpenRouter पर DeepSeek कैश निर्माण सर्वोत्तम-प्रयास पर आधारित है और इसमें कुछ सेकंड लग सकते हैं; तुरंत किया गया अगला अनुरोध अब भी cached_tokens: 0 दिखा सकता है। थोड़े विलंब के बाद समान उपसर्ग वाले दोहराए गए अनुरोध से सत्यापित करें और कैश-हिट संकेत के रूप में usage.prompt_tokens_details.cached_tokens का उपयोग करें।

Google Gemini (प्रत्यक्ष API)

  • प्रत्यक्ष Gemini ट्रांसपोर्ट (api: "google-generative-ai") अपस्ट्रीम cachedContentTokenCount के माध्यम से कैश हिट रिपोर्ट करता है, जिसे cacheRead में मैप किया जाता है।
  • पात्र मॉडल परिवार: gemini-2.5* और gemini-3* (उस उपसर्ग मिलान से बाहर के Live/पूर्वावलोकन प्रकारों को छोड़कर, उदाहरण के लिए gemini-live-2.5-flash-preview)।
  • किसी पात्र मॉडल पर cacheRetention सेट होने पर, OpenClaw सिस्टम प्रॉम्प्ट के लिए स्वचालित रूप से एक cachedContents संसाधन बनाता, पुनः उपयोग करता और रीफ़्रेश करता है - किसी मैन्युअल कैश-सामग्री हैंडल की आवश्यकता नहीं। TTL, cacheRetention: "short" के लिए 300s और "long" के लिए 3600s है।
  • आप अब भी पहले से मौजूद Gemini कैश-सामग्री हैंडल को params.cachedContent (या पुराने params.cached_content) के रूप में पास कर सकते हैं; स्पष्ट हैंडल स्वचालित कैश-प्रबंधन पथ को पूरी तरह छोड़ देता है।
  • यह Anthropic/OpenAI प्रॉम्प्ट-उपसर्ग कैशिंग से अलग है: OpenClaw इनलाइन कैश मार्कर प्रविष्ट करने के बजाय Gemini के लिए प्रदाता-मूल cachedContents संसाधन का प्रबंधन करता है।

स्रोत: src/agents/embedded-agent-runner/google-prompt-cache.ts

CLI-हार्नेस प्रदाता (Claude Code, Gemini CLI)

JSONL उपयोग इवेंट (jsonlDialect: "claude-stream-json" या "gemini-stream-json") उत्सर्जित करने वाले CLI बैकएंड साझा उपयोग पार्सर से गुजरते हैं, जो कई फ़ील्ड-नाम प्रकारों को पहचानता है, जिनमें cacheRead में मैप किया गया साधारण cached काउंटर भी शामिल है। जब CLI के JSON पेलोड में प्रत्यक्ष इनपुट-टोकन फ़ील्ड नहीं होता, तो OpenClaw इसे input_tokens - cached के रूप में व्युत्पन्न करता है। यह केवल उपयोग सामान्यीकरण है - यह इन CLI-चालित मॉडलों के लिए Anthropic/OpenAI-शैली के प्रॉम्प्ट-कैश मार्कर नहीं बनाता।

स्रोत: src/agents/cli-output.ts (toCliUsage)।

अन्य प्रदाता

यदि कोई प्रदाता उपरोक्त कैश मोड में से किसी का समर्थन नहीं करता, तो cacheRetention का कोई प्रभाव नहीं होता।

सिस्टम-प्रॉम्प्ट कैश सीमा

OpenClaw सिस्टम प्रॉम्प्ट को एक आंतरिक कैश-उपसर्ग सीमा पर स्थिर उपसर्ग और परिवर्तनशील प्रत्यय में विभाजित करता है। सीमा के ऊपर की सामग्री (टूल परिभाषाएँ, Skills मेटाडेटा, कार्यस्थान फ़ाइलें) को टर्न के बीच बाइट-समान बनाए रखने के लिए क्रमबद्ध किया जाता है। सीमा के नीचे की सामग्री (उदाहरण के लिए HEARTBEAT.md, रनटाइम टाइमस्टैम्प, अन्य प्रति-टर्न मेटाडेटा) कैश किए गए उपसर्ग को अमान्य किए बिना बदल सकती है।

मुख्य डिज़ाइन विकल्प:

  • स्थिर कार्यस्थान परियोजना-संदर्भ फ़ाइलों को HEARTBEAT.md से पहले क्रमबद्ध किया जाता है, ताकि Heartbeat का बदलाव स्थिर उपसर्ग को अमान्य न करे।
  • यह सीमा Anthropic-परिवार, OpenAI-परिवार, Google और CLI ट्रांसपोर्ट संरचना में लागू होती है, जिससे सभी समर्थित प्रदाताओं को समान उपसर्ग स्थिरता का लाभ मिलता है।
  • Codex Responses और Anthropic Vertex अनुरोधों को सीमा-जागरूक कैश संरचना से रूट किया जाता है, ताकि कैश पुनः उपयोग प्रदाताओं को वास्तव में मिलने वाली सामग्री के अनुरूप रहे।
  • सिस्टम-प्रॉम्प्ट फ़िंगरप्रिंट सामान्यीकृत किए जाते हैं (रिक्त स्थान, पंक्ति अंत, हुक द्वारा जोड़ा गया संदर्भ, रनटाइम क्षमता क्रम), ताकि अर्थ की दृष्टि से अपरिवर्तित प्रॉम्प्ट अलग-अलग टर्न में समान कैश साझा करें।

यदि कॉन्फ़िगरेशन या कार्यस्थान परिवर्तन के बाद अनपेक्षित cacheWrite उछाल दिखाई दें, तो जाँचें कि परिवर्तन कैश सीमा के ऊपर आता है या नीचे। परिवर्तनशील सामग्री को सीमा के नीचे ले जाने (या उसे स्थिर करने) से आम तौर पर समस्या हल हो जाती है।

OpenClaw कैश-स्थिरता सुरक्षा उपाय

  • बंडल किए गए MCP टूल कैटलॉग को टूल पंजीकरण से पहले नियतात्मक रूप से क्रमबद्ध किया जाता है (पहले सर्वर नाम, फिर टूल नाम के आधार पर), ताकि listTools() क्रम में परिवर्तन टूल ब्लॉक को बार-बार न बदलें और प्रॉम्प्ट-कैश उपसर्गों को अमान्य न करें।
  • स्थायी छवि ब्लॉक वाले पुराने सत्र 3 सबसे हालिया पूर्ण टर्न अक्षुण्ण रखते हैं (सभी पूर्ण टर्न गिने जाते हैं, केवल छवियों वाले नहीं)। पहले से संसाधित पुराने छवि ब्लॉक को टेक्स्ट मार्कर से बदल दिया जाता है, ताकि अधिक छवियों वाले अनुवर्ती अनुरोध बड़े पुराने पेलोड को बार-बार न भेजते रहें।

ट्यूनिंग पैटर्न

मिश्रित ट्रैफ़िक (अनुशंसित डिफ़ॉल्ट)

अपने मुख्य एजेंट पर दीर्घकालिक आधाररेखा बनाए रखें और अचानक अधिक सक्रिय होने वाले सूचक एजेंटों पर कैशिंग अक्षम करें:

yaml
agents:  defaults:    model:      primary: "anthropic/claude-opus-4-6"    models:      "anthropic/claude-opus-4-6":        params:          cacheRetention: "long"  list:    - id: "research"      default: true      heartbeat:        every: "55m"    - id: "alerts"      params:        cacheRetention: "none"

लागत-प्रथम आधाररेखा

  • आधाररेखा cacheRetention: "short" सेट करें।
  • contextPruning.mode: "cache-ttl" सक्षम करें।
  • केवल उन एजेंटों के लिए Heartbeat को अपने TTL से कम रखें जिन्हें सक्रिय कैश से लाभ मिलता है।

लाइव रिग्रेशन परीक्षण

OpenClaw एक संयुक्त लाइव कैश रिग्रेशन गेट चलाता है, जिसमें दोहराए गए उपसर्ग, टूल टर्न, छवि टर्न, MCP-शैली के टूल ट्रांस्क्रिप्ट और Anthropic का बिना-कैश नियंत्रण शामिल हैं।

  • src/agents/live-cache-regression.live.test.ts
  • src/agents/live-cache-regression-runner.ts
  • src/agents/live-cache-regression-baseline.ts

इसे इस कमांड से चलाएँ:

sh
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_CACHE_TEST=1 pnpm test:live:cache

बेसलाइन फ़ाइल सबसे हाल में देखी गई लाइव संख्याओं के साथ-साथ प्रदाता-विशिष्ट रिग्रेशन न्यूनतम सीमाएँ संग्रहीत करती है, जिनके विरुद्ध परीक्षण जाँच करता है। प्रत्येक रन नए प्रति-रन सत्र ID और प्रॉम्प्ट नेमस्पेस का उपयोग करता है, ताकि पिछली कैश स्थिति वर्तमान नमूने को दूषित न करे। Anthropic और OpenAI अलग-अलग प्रवर्तन का उपयोग करते हैं: Anthropic की न्यूनतम सीमा से चूक एक गंभीर रिग्रेशन है (परीक्षण विफल होता है), जबकि OpenAI की न्यूनतम सीमा से चूक केवल निगरानी के लिए है (चेतावनी के रूप में दर्ज होती है, रन विफल नहीं होता)। वे एकल अंतर-प्रदाता सीमा साझा नहीं करते।

Anthropic की लाइव अपेक्षाएँ

  • cacheWrite के माध्यम से स्पष्ट वार्मअप राइट की अपेक्षा करें।
  • दोहराए गए टर्न में लगभग पूरे इतिहास के पुनः उपयोग की अपेक्षा करें, क्योंकि Anthropic का कैश नियंत्रण पूरी बातचीत में कैश ब्रेकपॉइंट को आगे बढ़ाता है।
  • स्थिर, टूल, इमेज और MCP-शैली लेन की बेसलाइन न्यूनतम सीमाएँ कठोर रिग्रेशन गेट हैं।

OpenAI की लाइव अपेक्षाएँ

  • केवल cacheRead की अपेक्षा करें; Chat Completions पर cacheWrite, 0 बना रहता है।
  • दोहराए गए टर्न में कैश के पुनः उपयोग को प्रदाता-विशिष्ट स्थिर स्तर मानें, न कि Anthropic-शैली में आगे बढ़ते पूरे इतिहास का पुनः उपयोग।
  • न्यूनतम सीमाएँ केवल निगरानी के लिए हैं (चूक चेतावनी के रूप में लॉग होती है, परीक्षण विफलता के रूप में नहीं), जो gpt-5.4-mini पर देखे गए लाइव व्यवहार से प्राप्त हैं:
परिदृश्य cacheRead न्यूनतम सीमा हिट-दर न्यूनतम सीमा
स्थिर प्रीफ़िक्स 4,608 0.90
टूल ट्रांसक्रिप्ट 4,096 0.85
इमेज ट्रांसक्रिप्ट 3,840 0.82
MCP-शैली ट्रांसक्रिप्ट 4,096 0.85

सबसे हाल में देखी गई बेसलाइन संख्याएँ (live-cache-regression-baseline.ts से) इन मानों पर पहुँचीं: स्थिर प्रीफ़िक्स cacheRead=4864, हिट दर 0.966; टूल ट्रांसक्रिप्ट cacheRead=4608, हिट दर 0.896; इमेज ट्रांसक्रिप्ट cacheRead=4864, हिट दर 0.954; MCP-शैली ट्रांसक्रिप्ट cacheRead=4608, हिट दर 0.891

अभिकथन अलग होने का कारण: Anthropic स्पष्ट कैश ब्रेकपॉइंट और आगे बढ़ते बातचीत-इतिहास का पुनः उपयोग उजागर करता है, जबकि लाइव ट्रैफ़िक में OpenAI का प्रभावी पुनः उपयोग योग्य प्रीफ़िक्स पूरे प्रॉम्प्ट से पहले ही स्थिर स्तर पर पहुँच सकता है। दोनों प्रदाताओं की तुलना एकल अंतर-प्रदाता प्रतिशत सीमा से करने पर गलत रिग्रेशन उत्पन्न होते हैं।

diagnostics.cacheTrace कॉन्फ़िगरेशन

yaml
diagnostics:  cacheTrace:    enabled: true    filePath: "~/.openclaw/logs/cache-trace.jsonl" # वैकल्पिक    includeMessages: false # डिफ़ॉल्ट true    includePrompt: false # डिफ़ॉल्ट true    includeSystem: false # डिफ़ॉल्ट true

डिफ़ॉल्ट:

कुंजी डिफ़ॉल्ट
filePath $OPENCLAW_STATE_DIR/logs/cache-trace.jsonl
includeMessages true
includePrompt true
includeSystem true

परिवेश टॉगल (एकबारगी डीबगिंग)

वेरिएबल प्रभाव
OPENCLAW_CACHE_TRACE=1 कैश ट्रेसिंग सक्षम करता है
OPENCLAW_CACHE_TRACE_FILE=path आउटपुट पथ को ओवरराइड करता है
OPENCLAW_CACHE_TRACE_MESSAGES=0|1 पूर्ण संदेश पेलोड कैप्चर को टॉगल करता है
OPENCLAW_CACHE_TRACE_PROMPT=0|1 प्रॉम्प्ट टेक्स्ट कैप्चर को टॉगल करता है
OPENCLAW_CACHE_TRACE_SYSTEM=0|1 सिस्टम प्रॉम्प्ट कैप्चर को टॉगल करता है

क्या जाँचें

  • कैश ट्रेस इवेंट JSONL होते हैं, जिनमें session:loaded, prompt:before, stream:context और session:after जैसे चरणबद्ध स्नैपशॉट होते हैं।
  • प्रति-टर्न कैश टोकन प्रभाव सामान्य उपयोग सतहों में दिखाई देता है: cacheRead और cacheWrite, /usage tokens, /status, सत्र उपयोग सारांश और कस्टम messages.usageTemplate लेआउट में दिखाई देते हैं।
  • Anthropic के लिए, कैशिंग सक्रिय होने पर cacheRead और cacheWrite दोनों की अपेक्षा करें।
  • OpenAI के लिए, कैश हिट पर cacheRead की अपेक्षा करें; cacheWrite केवल उन Responses API पेलोड में भरा जाता है जिनमें यह शामिल होता है (ऊपर OpenAI देखें)।
  • OpenAI, x-request-id, openai-processing-ms और x-ratelimit-* जैसे ट्रेसिंग और दर-सीमा हेडर भी लौटाता है; अनुरोध ट्रेसिंग के लिए उनका उपयोग करें, लेकिन कैश-हिट गणना फिर भी उपयोग पेलोड से आनी चाहिए, हेडर से नहीं।

त्वरित समस्या निवारण

  • अधिकांश टर्न में उच्च cacheWrite: परिवर्तनशील सिस्टम-प्रॉम्प्ट इनपुट की जाँच करें; सत्यापित करें कि मॉडल/प्रदाता आपकी कैश सेटिंग का समर्थन करता है।
  • Anthropic पर उच्च cacheWrite: अक्सर इसका अर्थ होता है कि कैश ब्रेकपॉइंट ऐसी सामग्री पर पहुँच रहा है जो प्रत्येक अनुरोध में बदलती है।
  • कम OpenAI cacheRead: सत्यापित करें कि स्थिर प्रीफ़िक्स आरंभ में है, दोहराया गया प्रीफ़िक्स कम से कम 1024 टोकन का है और समान prompt_cache_key का उन टर्न के लिए पुनः उपयोग होता है जिन्हें कैश साझा करना चाहिए।
  • cacheRetention का कोई प्रभाव नहीं: पुष्टि करें कि मॉडल कुंजी agents.defaults.models["provider/model"] से मेल खाती है।
  • कैश सेटिंग वाले Bedrock Nova अनुरोध: अपेक्षित — रनटाइम पर इनके लिए कोई कैश प्रतिधारण नहीं होता।

संबंधित दस्तावेज़:

संबंधित

Was this useful?
On this page

On this page