سیشن پروننگ¶
- یہ آن‑ڈسک سیشن ہسٹری (
*.jsonl) کو دوبارہ نہیں لکھتی۔ 40. کیوں prune کریں: Anthropic prompt caching صرف TTL کے اندر لاگو ہوتی ہے۔
یہ کب چلتی ہے¶
- جب
mode: "cache-ttl"فعال ہو اور سیشن کے لیے آخری Anthropic کالttlسے زیادہ پرانی ہو۔ - صرف اسی درخواست کے لیے ماڈل کو بھیجے گئے پیغامات پر اثر انداز ہوتی ہے۔
- صرف Anthropic API کالز (اور OpenRouter Anthropic ماڈلز) کے لیے فعال۔
- بہترین نتائج کے لیے
ttlکو اپنے ماڈل کےcacheControlTtlسے ہم آہنگ رکھیں۔ - پرون کے بعد TTL ونڈو ری سیٹ ہو جاتی ہے، لہٰذا بعد کی درخواستیں کیش برقرار رکھتی ہیں یہاں تک کہ
ttlدوبارہ ختم ہو جائے۔
اسمارٹ ڈیفالٹس (Anthropic)¶
- OAuth یا setup-token پروفائلز:
cache-ttlپروننگ فعال کریں اور ہارٹ بیٹ1hپر سیٹ کریں۔ - API key پروفائلز:
cache-ttlپروننگ فعال کریں، ہارٹ بیٹ30mپر سیٹ کریں، اور Anthropic ماڈلز پر ڈیفالٹcacheControlTtlکو1hپر رکھیں۔ - اگر آپ ان میں سے کسی قدر کو واضح طور پر سیٹ کریں تو OpenClaw انہیں اووررائیڈ نہیں کرتا۔
یہ کیا بہتر بناتا ہے (لاگت + کیش رویہ)¶
-
- اگر کوئی سیشن TTL سے زیادہ idle رہے تو اگلی درخواست مکمل پرامپٹ کو دوبارہ cache کرتی ہے جب تک آپ پہلے اسے trim نہ کریں۔ 42. Pruning ایک اندازاً context window استعمال کرتی ہے (chars ≈ tokens × 4)۔
- کیا سستا ہوتا ہے: پروننگ TTL ختم ہونے کے بعد پہلی درخواست کے لیے cacheWrite سائز کو کم کرتی ہے۔
- TTL ری سیٹ کی اہمیت: جب پروننگ چلتی ہے تو کیش ونڈو ری سیٹ ہو جاتی ہے، لہٰذا بعد کی درخواستیں تازہ کیش شدہ پرامپٹ کو دوبارہ استعمال کر سکتی ہیں، پورا ہسٹری دوبارہ کیش کیے بغیر۔
- یہ کیا نہیں کرتی: پروننگ ٹوکنز شامل نہیں کرتی یا لاگت کو “دوگنا” نہیں کرتی؛ یہ صرف اس پہلی post‑TTL درخواست پر کیا کیش ہوگا، اسے بدلتی ہے۔
کیا چیز پرون کی جا سکتی ہے¶
- صرف
toolResultپیغامات۔ - صارف + اسسٹنٹ پیغامات کبھی تبدیل نہیں کیے جاتے۔
- آخری
keepLastAssistantsاسسٹنٹ پیغامات محفوظ ہوتے ہیں؛ اس کٹ آف کے بعد کے ٹول نتائج پرون نہیں کیے جاتے۔ - اگر کٹ آف قائم کرنے کے لیے اسسٹنٹ پیغامات کافی نہ ہوں تو پروننگ اسکیپ کر دی جاتی ہے۔
- تصویری بلاکس رکھنے والے ٹول نتائج اسکیپ کیے جاتے ہیں (کبھی تراشے/صاف نہیں کیے جاتے)۔
سیاق ونڈو کا اندازہ¶
-
بنیادی window اس ترتیب میں resolve ہوتی ہے: 44. Compaction الگ چیز ہے: compaction خلاصہ بنا کر محفوظ کرتی ہے، pruning ہر درخواست پر عارضی ہوتی ہے۔
-
models.providers.*.models[].contextWindowاووررائیڈ۔ - ماڈل کی تعریف
contextWindow(ماڈل رجسٹری سے)۔ - ڈیفالٹ
200000ٹوکنز۔
اگر agents.defaults.contextTokens سیٹ ہو تو اسے حل شدہ ونڈو پر ایک حد (کم از کم) کے طور پر لیا جاتا ہے۔
موڈ¶
cache-ttl¶
- پروننگ صرف تب چلتی ہے جب آخری Anthropic کال
ttlسے زیادہ پرانی ہو (ڈیفالٹ5m)۔ - جب یہ چلتی ہے: پہلے جیسا ہی سافٹ‑ٹرم + ہارڈ‑کلئیر رویہ۔
سافٹ بمقابلہ ہارڈ پروننگ¶
- سافٹ‑ٹرم: صرف بہت بڑے ٹول نتائج کے لیے۔
- ہیڈ + ٹیل برقرار رکھتا ہے،
...داخل کرتا ہے، اور اصل سائز کے ساتھ ایک نوٹ شامل کرتا ہے۔ - تصویری بلاکس والے نتائج اسکیپ کرتا ہے۔
- ہارڈ‑کلئیر: پورے ٹول نتیجے کو
hardClear.placeholderسے بدل دیتا ہے۔
ٹول کا انتخاب¶
tools.allow/tools.deny،*وائلڈکارڈز کی حمایت کرتے ہیں۔- ڈینائی کو ترجیح حاصل ہے۔
- میچنگ کیس اِن‑سینسِٹو ہے۔
- خالی allow فہرست ⇒ تمام ٹولز کی اجازت۔
دیگر حدود کے ساتھ تعامل¶
- بلٹ‑اِن ٹولز پہلے ہی اپنی آؤٹ پٹ کو تراشتے ہیں؛ سیشن پروننگ ایک اضافی تہہ ہے جو طویل مدتی چیٹس میں ماڈل سیاق میں بہت زیادہ ٹول آؤٹ پٹ جمع ہونے سے روکتی ہے۔
-
- دیکھیں /concepts/compaction۔ 46.
globalاورunknownمحفوظ (reserved) اقدار ہیں اور کبھی فہرست میں شامل نہیں ہوتیں۔
- دیکھیں /concepts/compaction۔ 46.
ڈیفالٹس (جب فعال ہوں)¶
ttl:"5m"keepLastAssistants:3softTrimRatio:0.3hardClearRatio:0.5minPrunableToolChars:50000softTrim:{ maxChars: 4000, headChars: 1500, tailChars: 1500 }hardClear:{ enabled: true, placeholder: "[Old tool result content cleared]" }
مثالیں¶
ڈیفالٹ (بند):
{
agent: {
contextPruning: { mode: "off" },
},
}
TTL‑aware پروننگ فعال کریں:
{
agent: {
contextPruning: { mode: "cache-ttl", ttl: "5m" },
},
}
مخصوص ٹولز تک پروننگ محدود کریں:
{
agent: {
contextPruning: {
mode: "cache-ttl",
tools: { allow: ["exec", "read"], deny: ["*image*"] },
},
},
}
کنفیگ حوالہ دیکھیں: Gateway Configuration