सिस्टम प्रॉम्प्ट कैसे बनाया जाता है
OpenClaw प्रत्येक रन पर अपना सिस्टम प्रॉम्प्ट संयोजित करता है। इसमें शामिल हैं:- टूल सूची + संक्षिप्त विवरण
- Skills सूची (केवल मेटाडेटा; निर्देश आवश्यकता पड़ने पर
readसे लोड होते हैं)। मूल Codex टर्न को टर्न-स्कोप वाले सहयोग डेवलपर निर्देशों के रूप में संक्षिप्त Skills ब्लॉक मिलता है; अन्य हार्नेस को यह सामान्य प्रॉम्प्ट सतह में मिलता है।skills.limits.maxSkillsPromptCharsद्वारा सीमित, वैकल्पिक प्रति-एजेंट ओवरराइडagents.entries.*.skillsLimits.maxSkillsPromptCharsपर। - स्वयं-अपडेट निर्देश
- वर्कस्पेस + बूटस्ट्रैप फ़ाइलें (
AGENTS.md,SOUL.md,TOOLS.md,IDENTITY.md,USER.md,HEARTBEAT.md, नई होने परBOOTSTRAP.md, साथ ही मौजूद होने परMEMORY.md)। इंजेक्ट की गई बड़ी फ़ाइलेंagents.defaults.bootstrapMaxChars(डिफ़ॉल्ट:20000) द्वारा ट्रंकेट की जाती हैं; कुल बूटस्ट्रैप इंजेक्शनagents.defaults.bootstrapTotalMaxChars(डिफ़ॉल्ट:60000) द्वारा सीमित होता है।- जब उस वर्कस्पेस के लिए मेमोरी टूल उपलब्ध होते हैं, तो मूल Codex टर्न अपरिष्कृत
MEMORY.mdपेस्ट नहीं करते; इसके बजाय उन्हें टर्न-स्कोप वाले सहयोग डेवलपर निर्देशों में एक छोटा मेमोरी पॉइंटर मिलता है और वे आवश्यकता पड़ने पर मेमोरी टूल का उपयोग करते हैं। यदि टूल अक्षम हैं, मेमोरी खोज उपलब्ध नहीं है, या सक्रिय वर्कस्पेस एजेंट मेमोरी वर्कस्पेस से अलग है, तोMEMORY.mdसामान्य सीमित टर्न-संदर्भ पथ पर वापस चला जाता है। - लोअरकेस रूट
memory.mdकभी इंजेक्ट नहीं किया जाता। यहopenclaw doctor --fixके लिए लेगेसी सुधार इनपुट है, जो इसेMEMORY.mdमें माइग्रेट करता है। memory/*.mdदैनिक फ़ाइलें सामान्य बूटस्ट्रैप प्रॉम्प्ट का हिस्सा नहीं हैं; साधारण टर्न पर वे मेमोरी टूल के माध्यम से आवश्यकतानुसार उपलब्ध रहती हैं। रीसेट/स्टार्टअप मॉडल रन उस पहले टर्न के लिए हाल की दैनिक मेमोरी वाला एक बार उपयोग होने वाला स्टार्टअप-संदर्भ ब्लॉक प्रारंभ में जोड़ सकते हैं, जिसेagents.defaults.startupContextनियंत्रित करता है। केवल चैट वाले/newऔर/resetको मॉडल का आह्वान किए बिना स्वीकार किया जाता है।- Compaction के बाद के
AGENTS.mdअंशों के लिए स्पष्टagents.defaults.compaction.postCompactionSectionsऑप्ट-इन आवश्यक है; pluginsbefore_prompt_buildके माध्यम से अन्य संदर्भ जोड़ सकते हैं।
- जब उस वर्कस्पेस के लिए मेमोरी टूल उपलब्ध होते हैं, तो मूल Codex टर्न अपरिष्कृत
- समय (UTC + उपयोगकर्ता का समय क्षेत्र)
- उत्तर टैग + Heartbeat व्यवहार
- रनटाइम मेटाडेटा (होस्ट/OS/मॉडल/चिंतन)
संदर्भ विंडो में क्या गिना जाता है
मॉडल को मिलने वाली हर चीज़ संदर्भ सीमा में गिनी जाती है:- सिस्टम प्रॉम्प्ट (ऊपर के सभी अनुभाग)
- वार्तालाप इतिहास (उपयोगकर्ता + सहायक संदेश)
- टूल कॉल और टूल परिणाम
- अटैचमेंट/ट्रांसक्रिप्ट (चित्र, ऑडियो, फ़ाइलें)
- Compaction सारांश और प्रूनिंग आर्टिफ़ैक्ट
- प्रदाता रैपर या सुरक्षा हेडर (दिखाई नहीं देते, लेकिन फिर भी गिने जाते हैं)
agents.defaults.contextLimits (प्रति-एजेंट ओवरराइड
agents.entries.*.contextLimits के अंतर्गत) होती हैं:
ये सीमित रनटाइम अंश और रनटाइम-स्वामित्व वाले इंजेक्टेड ब्लॉक हैं,
जो बूटस्ट्रैप सीमाओं, स्टार्टअप-संदर्भ सीमाओं और Skills प्रॉम्प्ट
सीमाओं से अलग हैं।
OpenClaw प्रभावी मॉडल संदर्भ
विंडो से लाइव टूल-परिणाम सीमा निर्धारित करता है: 100K टोकन से कम पर
16000 वर्ण, 100K+ टोकन पर 32000 वर्ण, 200K+ टोकन पर 64000 वर्ण।
रनटाइम संदर्भ-हिस्सा गार्ड किसी एक टूल परिणाम को संदर्भ विंडो के 30% तक भी सीमित करता है।
जब बड़ी प्रदाता विंडो लागत या विलंबता में महत्वपूर्ण बदलाव करती हैं, तो वे
स्वचालित रूप से सक्षम नहीं होतीं। उदाहरण के लिए, प्रत्यक्ष OpenAI GPT-5.5 और GPT-5.6 मॉडल
कुल 1050000 टोकन विंडो प्रकाशित करते हैं, लेकिन OpenClaw उनके सक्रिय
रनटाइम बजट को डिफ़ॉल्ट रूप से 272000 टोकन रखता है। ऑप्ट-इन 922000 इनपुट बजट पूर्ण
128000 आउटपुट भत्ता आरक्षित करता है, और इनपुट 272000 टोकन से अधिक होते ही OpenAI पूरे अनुरोध पर
उच्च दीर्घ-संदर्भ मूल्य निर्धारण लागू करता है। देखें
OpenAI संदर्भ विंडो डिफ़ॉल्ट।
चित्रों के लिए, OpenClaw प्रदाता कॉल से पहले ट्रांसक्रिप्ट/टूल चित्र पेलोड का
आकार कम करता है। agents.defaults.imageMaxDimensionPx (डिफ़ॉल्ट:
1200) से समायोजित करें:
- कम मान विज़न-टोकन उपयोग और पेलोड आकार घटाते हैं।
- अधिक मान OCR/UI-प्रधान स्क्रीनशॉट के लिए अधिक दृश्य विवरण बनाए रखते हैं।
/context list या /context detail का उपयोग करें। देखें
संदर्भ।
वर्तमान टोकन उपयोग कैसे देखें
चैट में:/status-> सत्र मॉडल, संदर्भ उपयोग, अंतिम प्रतिक्रिया के इनपुट/आउटपुट टोकन और सक्रिय मॉडल के लिए स्थानीय मूल्य निर्धारण कॉन्फ़िगर होने पर अनुमानित लागत वाला इमोजी-समृद्ध स्थिति कार्ड।/usage off|tokens|full-> प्रत्येक उत्तर में प्रति-प्रतिक्रिया उपयोग फ़ुटर जोड़ता है। प्रति सत्र बना रहता है (responseUsageके रूप में संग्रहीत)।/usage reset(उपनाम:inherit,clear,default) सत्र ओवरराइड को साफ़ करता है ताकि यह कॉन्फ़िगर किया गया डिफ़ॉल्ट फिर से प्राप्त करे।/usage tokensटर्न के टोकन/कैश विवरण दिखाता है।/usage fullसंक्षिप्त मॉडल/संदर्भ/लागत विवरण दिखाता है; अनुमानित लागत केवल तभी दिखाई देती है जब OpenClaw के पास सक्रिय मॉडल के लिए उपयोग मेटाडेटा और स्थानीय मूल्य निर्धारण हो। कस्टमmessages.usageTemplateलेआउट में टोकन/कैश फ़ील्ड शामिल हो सकते हैं।
/usage cost-> OpenClaw सत्र लॉग से स्थानीय लागत सारांश।
- TUI/Web TUI:
/statusऔर/usageसमर्थित हैं। - CLI:
openclaw status --usageऔरopenclaw channels listसामान्यीकृत प्रदाता कोटा विंडो दिखाते हैं (X% left, प्रति-प्रतिक्रिया लागत नहीं)। वर्तमान उपयोग-विंडो प्रदाता: Claude (Anthropic), ClawRouter, Copilot (GitHub), DeepSeek, Gemini (Google Gemini CLI), MiniMax, OpenAI, Xiaomi, Xiaomi Token Plan और z.ai।
input_tokens/output_tokens और prompt_tokens/completion_tokens दोनों शामिल हैं, ताकि
ट्रांसपोर्ट-विशिष्ट फ़ील्ड नाम /status, /usage या सत्र
सारांशों को न बदलें। Gemini CLI उपयोग भी सामान्यीकृत होता है: डिफ़ॉल्ट stream-json
पार्सर सहायक message इवेंट पढ़ता है, और stats.cached को
cacheRead पर मैप किया जाता है, जिसमें CLI द्वारा स्पष्ट
stats.input फ़ील्ड छोड़ने पर stats.input_tokens - stats.cached का उपयोग होता है। लेगेसी JSON ओवरराइड अब भी
response से उत्तर टेक्स्ट पढ़ते हैं।
मूल OpenAI-परिवार Responses ट्रैफ़िक के लिए, WebSocket/SSE उपयोग उपनाम
उसी तरह सामान्यीकृत होते हैं, और total_tokens के अनुपस्थित या 0 होने पर कुल मान
सामान्यीकृत इनपुट + आउटपुट पर वापस जाता है।
जब वर्तमान सत्र स्नैपशॉट में कम जानकारी होती है, तो /status और session_status
सबसे हाल के ट्रांसक्रिप्ट उपयोग लॉग से टोकन/कैश काउंटर और सक्रिय रनटाइम मॉडल लेबल
पुनर्प्राप्त कर सकते हैं। मौजूदा शून्येतर लाइव मान अब भी
ट्रांसक्रिप्ट फ़ॉलबैक मानों पर प्राथमिकता रखते हैं, और संग्रहीत कुल मान अनुपस्थित या छोटे होने पर
बड़े प्रॉम्प्ट-उन्मुख ट्रांसक्रिप्ट कुल मान प्राथमिकता पा सकते हैं।
प्रदाता कोटा विंडो के लिए उपयोग प्रमाणीकरण पहले प्रदाता-विशिष्ट हुक से
आता है; यदि किसी प्रदाता के पास हुक नहीं है (या हुक टोकन को हल नहीं करता),
तो OpenClaw प्रमाणीकरण प्रोफ़ाइल, env या कॉन्फ़िगरेशन से मेल खाने वाले OAuth/API-कुंजी क्रेडेंशियल पर
वापस जाता है।
सहायक ट्रांसक्रिप्ट प्रविष्टियाँ वही सामान्यीकृत उपयोग आकार बनाए रखती हैं,
जिसमें सक्रिय मॉडल के लिए मूल्य निर्धारण कॉन्फ़िगर होने और प्रदाता द्वारा उपयोग मेटाडेटा
लौटाए जाने पर usage.cost शामिल होता है। इससे लाइव
रनटाइम स्थिति समाप्त होने के बाद भी /usage cost और
ट्रांसक्रिप्ट-समर्थित सत्र स्थिति को एक स्थिर स्रोत मिलता है।
OpenClaw प्रदाता उपयोग लेखांकन को वर्तमान संदर्भ
स्नैपशॉट से अलग रखता है। प्रदाता usage.total में कैश किया गया इनपुट, आउटपुट और
एकाधिक टूल-लूप मॉडल कॉल शामिल हो सकते हैं, इसलिए यह लागत और टेलीमेट्री के लिए उपयोगी है, लेकिन
लाइव संदर्भ विंडो को बढ़ा-चढ़ाकर दिखा सकता है। संदर्भ प्रदर्शन और निदान
context.used के लिए नवीनतम प्रॉम्प्ट स्नैपशॉट (promptTokens, या कोई
प्रॉम्प्ट स्नैपशॉट उपलब्ध न होने पर अंतिम मॉडल कॉल) का उपयोग करते हैं।
लागत का अनुमान (जब दिखाया जाए)
लागत का अनुमान आपके मॉडल मूल्य निर्धारण कॉन्फ़िगरेशन से लगाया जाता है:input, output, cacheRead और
cacheWrite के लिए प्रति 1M टोकन USD हैं। यदि मूल्य निर्धारण अनुपस्थित है, तो /usage full लागत छोड़ देता है; जब आपको
प्रत्येक उत्तर में टोकन/कैश विवरण चाहिए, तो /usage tokens या कस्टम messages.usageTemplate का उपयोग करें।
लागत प्रदर्शन केवल API-कुंजी
प्रमाणीकरण तक सीमित नहीं है: aws-sdk जैसे गैर-API-कुंजी प्रदाता अनुमानित लागत दिखा सकते हैं, जब
उनकी कॉन्फ़िगर की गई मॉडल प्रविष्टि में स्थानीय मूल्य निर्धारण शामिल हो और प्रदाता
उपयोग मेटाडेटा लौटाए।
साइडकार और चैनल के Gateway तैयार पथ तक पहुँचने के बाद, OpenClaw उन कॉन्फ़िगर किए गए मॉडल संदर्भों के लिए
एक वैकल्पिक पृष्ठभूमि मूल्य निर्धारण बूटस्ट्रैप प्रारंभ करता है जिनके पास पहले से
स्थानीय मूल्य निर्धारण नहीं है। वह बूटस्ट्रैप दूरस्थ OpenRouter और
LiteLLM मूल्य निर्धारण कैटलॉग प्राप्त करता है। ऑफ़लाइन या प्रतिबंधित नेटवर्क पर उन
कैटलॉग फ़ेच को छोड़ने के लिए models.pricing.enabled: false सेट करें; स्पष्ट
models.providers.*.models[].cost प्रविष्टियाँ फिर भी स्थानीय लागत अनुमान चलाती हैं।
कैश TTL और प्रूनिंग का प्रभाव
प्रदाता प्रॉम्प्ट कैशिंग केवल कैश TTL विंडो के भीतर लागू होती है। OpenClaw वैकल्पिक रूप से कैश-TTL प्रूनिंग चला सकता है: कैश TTL समाप्त होने पर यह सत्र को प्रून करता है, फिर कैश विंडो रीसेट करता है ताकि बाद के अनुरोध पूरे इतिहास को फिर से कैश करने के बजाय नए कैश किए गए संदर्भ का पुनः उपयोग करें। जब कोई सत्र TTL से अधिक समय तक निष्क्रिय रहता है, तो इससे कैश लेखन लागत कम रहती है। इसे Gateway कॉन्फ़िगरेशन में कॉन्फ़िगर करें और व्यवहार का विवरण सत्र प्रूनिंग में देखें। Heartbeat निष्क्रिय अंतरालों के दौरान कैश को सक्रिय रख सकता है। यदि आपके मॉडल कैश का TTL1h है, तो Heartbeat अंतराल को उससे थोड़ा कम (जैसे, 55m) सेट करने से
पूरे प्रॉम्प्ट को फिर से कैश करने से बचा जा सकता है और कैश लेखन लागत घट सकती है।
बहु-एजेंट सेटअप में, आप एक साझा मॉडल कॉन्फ़िगरेशन रख सकते हैं और
agents.entries.*.params.cacheRetention के साथ प्रति एजेंट कैश व्यवहार समायोजित कर सकते हैं।
हर विकल्प के संपूर्ण मार्गदर्शन के लिए प्रॉम्प्ट कैशिंग देखें।
Anthropic API मूल्य निर्धारण में, कैश रीड इनपुट
टोकन की तुलना में काफ़ी सस्ते हैं, जबकि कैश राइट के लिए अधिक गुणक पर बिल लिया जाता है। नवीनतम दरों और TTL गुणकों के लिए Anthropic का
प्रॉम्प्ट कैशिंग मूल्य निर्धारण देखें:
https://docs.anthropic.com/docs/build-with-claude/prompt-caching
उदाहरण: Heartbeat से 1h कैश सक्रिय रखें
उदाहरण: प्रति-एजेंट कैश रणनीति वाला मिश्रित ट्रैफ़िक
agents.entries.*.params चयनित मॉडल के params के ऊपर मर्ज होता है, इसलिए आप
केवल cacheRetention को ओवरराइड कर सकते हैं और अन्य मॉडल डिफ़ॉल्ट को
बिना बदलाव के प्राप्त कर सकते हैं।
Anthropic का 1M कॉन्टेक्स्ट
OpenClaw, Opus 4.8, Opus 4.7, Opus 4.6 और Sonnet 4.6 जैसे GA-सक्षम Claude 4.x मॉडलों का आकार Anthropic की 1M कॉन्टेक्स्ट विंडो के अनुसार निर्धारित करता है। उन मॉडलों के लिए आपकोparams.context1m: true की आवश्यकता नहीं है।
context1m: true रखा जा सकता है, लेकिन OpenClaw अब इस सेटिंग के लिए
Anthropic का बंद किया गया context-1m-2025-08-07 बीटा हेडर नहीं भेजता और
असमर्थित पुराने Claude मॉडलों को 1M तक विस्तृत नहीं करता।
आवश्यकता: क्रेडेंशियल दीर्घ-कॉन्टेक्स्ट उपयोग के लिए पात्र होना चाहिए। यदि ऐसा नहीं है,
तो Anthropic उस अनुरोध के लिए प्रदाता-पक्ष की दर-सीमा त्रुटि देता है।
यदि आप OAuth/सब्सक्रिप्शन टोकन
(sk-ant-oat-*) के साथ Anthropic को प्रमाणित करते हैं, तो OpenClaw OAuth के लिए आवश्यक Anthropic बीटा
हेडर सुरक्षित रखता है और पुराने कॉन्फ़िगरेशन में मौजूद बंद किए गए context-1m-*
बीटा को हटा देता है।
टोकन दबाव कम करने के सुझाव
- लंबे सत्रों का सारांश बनाने के लिए
/compactका उपयोग करें। - अपने वर्कफ़्लो में बड़े टूल आउटपुट को संक्षिप्त करें।
- स्क्रीनशॉट-प्रधान सत्रों के लिए
agents.defaults.imageMaxDimensionPxकम करें। - स्किल विवरण छोटे रखें (स्किल सूची प्रॉम्प्ट में जोड़ी जाती है)।
- विस्तृत, अन्वेषणात्मक कार्य के लिए छोटे मॉडलों को प्राथमिकता दें।