بلاگ پر واپس جائیں

لاگت کی بہتریگائیڈ

Claude Code ٹوکن استعمال: ٹول آؤٹ پٹ کو کانٹیکسٹ سے باہر رکھیں

ایک PreToolUse ہک اور context-mode پلگ ان کیسے ٹیسٹ لاگز کو Claude Code کے کانٹیکسٹ سے باہر رکھتے ہیں، نیز فلٹرنگ کے ساتھ اور بغیر سیشن لاگت کا تخمینہ۔

از CheapTokens Teamشائع شدہ 7 منٹ کا مطالعہ

ٹرمینل ایک ٹیسٹ کمانڈ دکھا رہا ہے جو grep اور head کے ذریعے پائپ کی گئی ہے تاکہ صرف ناکامیاں Claude Code تک پہنچیں
اس صفحہ پر
  1. ایک لاگ کی قیمت کئی بار کیوں ادا ہوتی ہے
  2. حل 1: ایک PreToolUse ہک جو ٹیسٹ آؤٹ پٹ کو فلٹر کرتا ہے
  3. حل 2: بڑے ٹول رزلٹس کے لیے context-mode
  4. ایک طویل سیشن کی لاگت، فلٹرنگ کے ساتھ اور بغیر
  5. Claude Code کو CheapTokens ماڈل پر چلائیں
  6. فوری چیک لسٹ

آپ کے ایجنٹ نے ٹیسٹ سوٹ تین بار چلایا، اور بل کام سے بڑا ہے۔ اس کی وجہ شاذ و نادر ہی وہ کوڈ ہوتا ہے جو اس نے لکھا۔ یہ ٹیسٹ لاگز ہیں: ایک بار جب کوئی ٹول رزلٹ Claude Code کے کانٹیکسٹ میں آ جاتا ہے، ہر بعد کی درخواست اسے دوبارہ ساتھ لے کر چلتی ہے۔ حل یہ ہے کہ ٹول آؤٹ پٹ کو ماڈل کے دیکھنے سے پہلے چھوٹا کر دیا جائے۔ سرکاری طریقہ Bash پر PreToolUse ہک ہے؛ تیسرے فریق کا طریقہ context-mode پلگ ان ہے۔ دونوں نیچے ہیں، ایک CheapTokens ماڈل پر طویل سیشن کے لاگت کے تخمینے کے ساتھ۔

ایک لاگ کی قیمت کئی بار کیوں ادا ہوتی ہے#

Claude Code costs صفحے کے مطابق (https://code.claude.com/docs/en/costs، 23 اکتوبر 2026 کو چیک کیا گیا)، Claude Code ہر درخواست کے ساتھ پوری گفتگو بھیجتا ہے، اور ہر ٹول استعمال ایک اور درخواست کو متحرک کرتا ہے جو ٹول رزلٹس ساتھ لے کر چلتی ہے۔ پرامپٹ کیشنگ تاریخ کو سستے کیشڈ ریٹ پر دوبارہ پڑھتی ہے، لیکن ٹوکنز پھر بھی موجود ہوتے ہیں۔

فرض کریں ایجنٹ npm test چلاتا ہے اور 10,000 لائنوں کا لاگ حاصل کرتا ہے۔ دستاویزات کہتی ہیں کہ اس قسم کا لاگ دسیوں ہزار ٹوکنز کا ہو سکتا ہے۔ 30,000 ٹوکنز فرض کریں۔ اس کے بعد آپ جو بھی کریں، وہ 30,000 ٹوکنز قدم 11، قدم 12، قدم 13، اور اسی طرح کے ان پٹ کا حصہ ہیں جب تک آپ /clear یا کمپیکٹ نہ کریں۔ اور یہی مسئلہ ہے: لاگ ایک قدم کے لیے مفید ہے، اور آپ اس کی قیمت تیس بار ادا کرتے ہیں۔

حل 1: ایک PreToolUse ہک جو ٹیسٹ آؤٹ پٹ کو فلٹر کرتا ہے#

وہی دستاویزات کا صفحہ ہکس کو پری پروسیسنگ کے طور پر تجویز کرتا ہے: Bash پر ایک PreToolUse ہک ٹیسٹ کمانڈز (npm test، pytest، go test) کو دوبارہ لکھتا ہے تاکہ وہ grep -A 5 -E '(FAIL|ERROR|error:)' | head -100 کے ذریعے پائپ ہوں۔ پھر ایجنٹ صرف ناکامیاں اور کچھ لائنیں سیاق و سباق کی دیکھتا ہے، 10,000 لائنوں کے سبز نقطے نہیں۔ دستاویزات کہتی ہیں کہ یہ دسیوں ہزار ٹوکنز کو سینکڑوں میں بدل سکتا ہے۔

ہک سے پہلے اور بعد میں ایجنٹ کیا دیکھتا ہے
خام npm test آؤٹ پٹ بمقابلہ صرف ناکامیاں

یہ اسی دستاویزات کے صفحے کا اسکرپٹ ہے (23 اکتوبر 2026 کو چیک کیا گیا)۔ اسے jq کی ضرورت ہے۔ فولڈر mkdir -p ~/.claude/hooks سے بنائیں، اسکرپٹ کو ~/.claude/hooks/filter-test-output.sh کے طور پر محفوظ کریں اور اس پر chmod +x چلائیں:

bash
#!/bin/bash
input=$(cat)
cmd=$(echo "$input" | jq -r '.tool_input.command')

pattern='^(npm test|pytest|go test)( [^;&|<>`$#\\[:cntrl:]]*)?$'

if [[ "$cmd" =~ $pattern ]]; then
  filtered_cmd="$cmd 2>&1 | grep -A 5 -E '(FAIL|ERROR|error:)' | head -100"
  echo "$input" | jq --arg filtered "$filtered_cmd" '{hookSpecificOutput: {hookEventName: "PreToolUse", updatedInput: (.tool_input + {command: $filtered})}}'
else
  echo "{}"
fi

پھر اسے ~/.claude/settings.json میں رجسٹر کریں:

json
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [{ "type": "command", "command": "~/.claude/hooks/filter-test-output.sh" }]
      }
    ]
  }
}

یہ چیک کرنے کے لیے کہ یہ کام کرتا ہے، Claude Code کے اندر /hooks کھولیں اور PreToolUse اندراج تلاش کریں، یا claude --debug-file ./claude-debug.txt سے شروع کریں اور ایجنٹ سے npm test چلانے کو کہیں۔ جب ہک نے کمانڈ دوبارہ لکھی ہو، فائل میں modified tool input keys لائن ہوتی ہے جس میں command فیلڈ ہوتا ہے۔ اگر ٹیسٹ پاس ہو جائیں، آؤٹ پٹ خالی ہوتا ہے، تو ایجنٹ کو خاموش کامیابی ملتی ہے؛ پیٹرن کو ایڈجسٹ کریں اگر آپ کا رنر ناکامیاں مختلف طریقے سے پرنٹ کرتا ہے۔

حل 2: بڑے ٹول رزلٹس کے لیے context-mode#

ایک ہک صرف ان کمانڈز کا احاطہ کرتا ہے جنہیں آپ پائپ کر سکتے ہیں۔ Playwright سے صفحے کے اسنیپ شاٹس یا بیس GitHub ایشوز کی فہرست MCP ٹولز سے آتی ہے۔ context-mode اسی کو نشانہ بناتا ہے۔ اس کے README کے مطابق (https://github.com/mksglu/context-mode، 23 اکتوبر 2026 کو چیک کیا گیا؛ یہ کوئی ورژن یا تاریخ نہیں دکھاتا)، یہ ایک MCP سرور اور پلگ ان ہے جو خام ٹول آؤٹ پٹ کو کانٹیکسٹ ونڈو سے باہر رکھتا ہے، سیشن اسٹیٹ SQLite میں محفوظ کرتا ہے اور ٹول کالز کو ہکس کے ذریعے روٹ کرتا ہے۔ اسے Claude Code v1.0.33 یا نیا تر درکار ہے، اور اس کا لائسنس Elastic License 2.0 ہے، جو OSI اوپن سورس لائسنس نہیں ہے۔

Claude Code کے اندر انسٹال کریں:

text
/plugin marketplace add mksglu/context-mode
/plugin install context-mode@context-mode

ری اسٹارٹ کریں یا /reload-plugins چلائیں، پھر /context-mode:ctx-doctor سے تصدیق کریں۔ صرف MCP والا ورژن، claude mcp add context-mode -- npx -y context-mode، ٹولز شامل کرتا ہے لیکن خودکار روٹنگ نہیں رکھتا۔

یہ پروجیکٹ بڑی کمیوں کی اطلاع دیتا ہے: 315 KB سے 5.4 KB (98%)، 56 KB کا صفحہ اسنیپ شاٹ 299 بائٹس بن جاتا ہے، 986 KB سے 62 KB۔ یہ مصنف کے اپنے نمبر ہیں: انہیں حد سمجھیں اور اپنے سیشن پر /context کے ساتھ پہلے اور بعد میں پیمائش کریں۔

ایک طویل سیشن کی لاگت، فلٹرنگ کے ساتھ اور بغیر#

یہاں ایک فرضی سیشن کا حساب ہے۔ یہ 40 قدم کا کوڈنگ سیشن ہے، 20,000 ٹوکنز کے اوسط بنیادی کانٹیکسٹ پر، 500 آؤٹ پٹ ٹوکنز فی قدم، اور تین ٹیسٹ رنز، قدم 10، 20 اور 30 پر۔ ہر خام لاگ 30,000 ٹوکنز ہے؛ فلٹر شدہ ورژن 500 ہے۔

  • قدم 10 کا لاگ اس کے بعد کی 30 درخواستوں میں دوبارہ بھیجا جاتا ہے: 30 × 30,000 = 900,000 ٹوکنز۔ قدم 20: 20 × 30,000 = 600,000۔ قدم 30: 10 × 30,000 = 300,000۔ اضافی ان پٹ: 900,000 + 600,000 + 300,000 = 1,800,000۔
  • فلٹر شدہ: (30 + 20 + 10) × 500 = 30,000 اضافی ان پٹ۔
  • بنیادی ان پٹ: 40 × 20,000 = 800,000۔ آؤٹ پٹ: 40 × 500 = 20,000۔
  • تو سیشن بغیر فلٹر 800,000 + 1,800,000 = 2,600,000 ان پٹ ٹوکنز ہے اور فلٹر کے ساتھ 800,000 + 30,000 = 830,000، دونوں صورتوں میں 20,000 آؤٹ پٹ ٹوکنز کے ساتھ۔

حساب ہر ان پٹ ٹوکن کو پوری قیمت پر گنتا ہے۔ کیشنگ اصل نمبر کم کرتی ہے، لیکن یہ دونوں صورتوں کو اسی منطق سے کم کرتی ہے۔ MiniMax-M2.7 (MiniMaxAI/MiniMax-M2.7، 180K کانٹیکسٹ، 8,192 آؤٹ پٹ ٹوکنز تک) کی لائیو قیمتیں، جو اس قسم کے ان پٹ بھاری ایجنٹ لوپس کے لیے موزوں ماڈل ہے، نیچے چارٹ میں ہیں۔

MiniMax-M2.7 پر سیشن لاگت، 40 قدم
  • فلٹر کے بغیر$0.133
  • ہک کے ساتھ$0.0445

فرضیات: 40 قدم، 20,000 ٹوکنز بنیادی کانٹیکسٹ، 500 آؤٹ پٹ ٹوکنز فی قدم، 30,000 ٹوکنز کے تین ٹیسٹ رنز (فلٹر شدہ: 500)۔

MiniMax-M2.7 پر سیشن کی لاگت بغیر فلٹر $0.133 اور فلٹر کے ساتھ $0.0445 ہے، اور مجموعی طور پر، ان پٹ اور آؤٹ پٹ کو ملا کر، یہ OpenRouter کی حوالہ قیمت سے سستا ہے۔ بغیر فلٹر کیس میں ان پٹ کا تقریباً دو تہائی لاگز ہیں جو ایجنٹ نے ایک بار پڑھے۔

بات اصل ڈالرز کی نہیں ہے۔ بات یہ ہے کہ فلٹر کسی بھی ماڈل پر 2,600,000 میں سے تقریباً 1,770,000 ان پٹ ٹوکنز ہٹا دیتا ہے (2,600,000 − 830,000 = 1,770,000)، اور سستا ماڈل بچ جانے والے ہر ٹوکن کی قیمت کم کر دیتا ہے۔

Claude Code کو CheapTokens ماڈل پر چلائیں#

Claude Code Anthropic Messages پروٹوکول بولتا ہے، اور CheapTokens اسے سپورٹ کرتا ہے۔ Claude Code کے لیے بیس URL میں /v1 نہیں ہوتا۔ مکمل سیٹ اپ Claude Code کو CheapTokens سے کیسے جوڑیں میں ہے۔ مختصر ورژن، ایک پلیس ہولڈر کلید کے ساتھ:

bash
export ANTHROPIC_BASE_URL=https://api.cheaptokens.dev
export ANTHROPIC_AUTH_TOKEN=YOUR_CHEAPTOKENS_KEY
export ANTHROPIC_MODEL=MiniMaxAI/MiniMax-M2.7
claude

دستاویزات سے مکمل id استعمال کریں؛ قیمت کے جدولوں سے مختصر نام API قبول نہیں کرتا۔ ہر ماڈل کی قیمتیں قیمت کے صفحے پر ہیں۔ Claude Code کا بل کم کرنے والی دیگر عادات (/clear، /compact، /mcp، سب ایجنٹس) کے لیے، Claude Code کو سستا کیسے بنائیں دیکھیں۔ یہ دیکھنے کے لیے کہ اصل درخواست پر ان پٹ اور آؤٹ پٹ کیسے گنے جاتے ہیں، API درخواست کتنے ٹوکنز استعمال کرتی ہے پڑھیں۔

فوری چیک لسٹ#

  1. ایک طویل سیشن میں /context چلائیں اور دیکھیں کہ کیا جگہ لے رہا ہے۔
  2. ٹیسٹ کمانڈز کے لیے Bash ہک شامل کریں؛ /hooks یا ڈیبگ لاگ میں دوبارہ لکھنا تصدیق کریں۔
  3. اگر MCP ٹولز بڑے اسنیپ شاٹس واپس کرتے ہیں، context-mode آزمائیں اور /context کا پہلے اور بعد میں موازنہ کریں۔
  4. غیر متعلقہ کاموں کے درمیان /clear، تاکہ پرانے لاگز ساتھ چلنا بند کر دیں۔