---
read_when:
    - आप कैश बनाए रखकर प्रॉम्प्ट टोकन की लागत कम करना चाहते हैं
    - बहु-एजेंट सेटअप में आपको प्रत्येक एजेंट के लिए अलग कैश व्यवहार चाहिए
    - आप Heartbeat और cache-ttl प्रूनिंग को एक साथ ट्यून कर रहे हैं
summary: प्रॉम्प्ट कैशिंग के नियंत्रण, मर्ज क्रम, प्रदाता व्यवहार और ट्यूनिंग पैटर्न
title: प्रॉम्प्ट कैशिंग
x-i18n:
    generated_at: "2026-07-27T21:39:03Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: 99dfd3d226d37014110adf16818051236114dcb0277e9b4d13eaced0f1fc03aa
    source_path: reference/prompt-caching.md
    workflow: 16
---

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

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

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

- [Anthropic प्रॉम्प्ट कैशिंग](https://platform.claude.com/docs/en/build-with-claude/prompt-caching)
- [OpenAI प्रॉम्प्ट कैशिंग](https://developers.openai.com/api/docs/guides/prompt-caching)

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

### `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"
```

संपूर्ण व्यवहार के लिए [सत्र छँटाई](/hi/concepts/session-pruning) देखें।

### 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 लाइव अपेक्षाएँ](#openai-live-expectations) देखें।

### 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-direct-api) देखें)।
- 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 अनुरोध**: अपेक्षित — रनटाइम पर इनके लिए कोई कैश प्रतिधारण नहीं होता।

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

- [Anthropic](/hi/providers/anthropic)
- [टोकन उपयोग और लागत](/hi/reference/token-use)
- [सत्र प्रूनिंग](/hi/concepts/session-pruning)
- [Gateway कॉन्फ़िगरेशन संदर्भ](/hi/gateway/configuration-reference)

## संबंधित

- [टोकन उपयोग और लागत](/hi/reference/token-use)
- [API उपयोग और लागत](/hi/reference/api-usage-costs)
