Community translations by veiseule.ai — Help improve them on Crowdin
Skip to main content

سیشن پروننگ

  1. یہ آن‑ڈسک سیشن ہسٹری (*.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 انہیں اووررائیڈ نہیں کرتا۔

یہ کیا بہتر بناتا ہے (لاگت + کیش رویہ)

    1. اگر کوئی سیشن TTL سے زیادہ idle رہے تو اگلی درخواست مکمل پرامپٹ کو دوبارہ cache کرتی ہے جب تک آپ پہلے اسے trim نہ کریں۔ 42. Pruning ایک اندازاً context window استعمال کرتی ہے (chars ≈ tokens × 4)۔
  • کیا سستا ہوتا ہے: پروننگ TTL ختم ہونے کے بعد پہلی درخواست کے لیے cacheWrite سائز کو کم کرتی ہے۔
  • TTL ری سیٹ کی اہمیت: جب پروننگ چلتی ہے تو کیش ونڈو ری سیٹ ہو جاتی ہے، لہٰذا بعد کی درخواستیں تازہ کیش شدہ پرامپٹ کو دوبارہ استعمال کر سکتی ہیں، پورا ہسٹری دوبارہ کیش کیے بغیر۔
  • یہ کیا نہیں کرتی: پروننگ ٹوکنز شامل نہیں کرتی یا لاگت کو “دوگنا” نہیں کرتی؛ یہ صرف اس پہلی post‑TTL درخواست پر کیا کیش ہوگا، اسے بدلتی ہے۔

کیا چیز پرون کی جا سکتی ہے

  • صرف toolResult پیغامات۔
  • صارف + اسسٹنٹ پیغامات کبھی تبدیل نہیں کیے جاتے۔
  • آخری keepLastAssistants اسسٹنٹ پیغامات محفوظ ہوتے ہیں؛ اس کٹ آف کے بعد کے ٹول نتائج پرون نہیں کیے جاتے۔
  • اگر کٹ آف قائم کرنے کے لیے اسسٹنٹ پیغامات کافی نہ ہوں تو پروننگ اسکیپ کر دی جاتی ہے۔
  • تصویری بلاکس رکھنے والے ٹول نتائج اسکیپ کیے جاتے ہیں (کبھی تراشے/صاف نہیں کیے جاتے)۔

سیاق ونڈو کا اندازہ

  1. بنیادی window اس ترتیب میں resolve ہوتی ہے: 44. Compaction الگ چیز ہے: compaction خلاصہ بنا کر محفوظ کرتی ہے، pruning ہر درخواست پر عارضی ہوتی ہے۔

  2. models.providers.*.models[].contextWindow اووررائیڈ۔

  3. ماڈل کی تعریف contextWindow (ماڈل رجسٹری سے)۔
  4. ڈیفالٹ 200000 ٹوکنز۔

اگر agents.defaults.contextTokens سیٹ ہو تو اسے حل شدہ ونڈو پر ایک حد (کم از کم) کے طور پر لیا جاتا ہے۔

موڈ

cache-ttl

  • پروننگ صرف تب چلتی ہے جب آخری Anthropic کال ttl سے زیادہ پرانی ہو (ڈیفالٹ 5m
  • جب یہ چلتی ہے: پہلے جیسا ہی سافٹ‑ٹرم + ہارڈ‑کلئیر رویہ۔

سافٹ بمقابلہ ہارڈ پروننگ

  • سافٹ‑ٹرم: صرف بہت بڑے ٹول نتائج کے لیے۔
  • ہیڈ + ٹیل برقرار رکھتا ہے، ... داخل کرتا ہے، اور اصل سائز کے ساتھ ایک نوٹ شامل کرتا ہے۔
  • تصویری بلاکس والے نتائج اسکیپ کرتا ہے۔
  • ہارڈ‑کلئیر: پورے ٹول نتیجے کو hardClear.placeholder سے بدل دیتا ہے۔

ٹول کا انتخاب

  • tools.allow / tools.deny، * وائلڈکارڈز کی حمایت کرتے ہیں۔
  • ڈینائی کو ترجیح حاصل ہے۔
  • میچنگ کیس اِن‑سینسِٹو ہے۔
  • خالی allow فہرست ⇒ تمام ٹولز کی اجازت۔

دیگر حدود کے ساتھ تعامل

  • بلٹ‑اِن ٹولز پہلے ہی اپنی آؤٹ پٹ کو تراشتے ہیں؛ سیشن پروننگ ایک اضافی تہہ ہے جو طویل مدتی چیٹس میں ماڈل سیاق میں بہت زیادہ ٹول آؤٹ پٹ جمع ہونے سے روکتی ہے۔
    1. دیکھیں /concepts/compaction۔ 46. global اور unknown محفوظ (reserved) اقدار ہیں اور کبھی فہرست میں شامل نہیں ہوتیں۔

ڈیفالٹس (جب فعال ہوں)

  • ttl: "5m"
  • keepLastAssistants: 3
  • softTrimRatio: 0.3
  • hardClearRatio: 0.5
  • minPrunableToolChars: 50000
  • softTrim: { 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