استهلاك التوكنات في Claude Code: طلب من كل خمسة يذهب لحالة الوكيل
يرتفع استهلاك التوكنات في Claude Code بسبب ملخصات خفية للوكلاء: تبلغ 16–22% من تكلفة الجلسة بحسب قياسات المستخدمين. لنرَ من أين تأتي.
هذا المقال بلغات أخرى:DeutschEnglishEspañolFrançaisItaliano日本語Polski简体中文
في هذا المقال
نشرت Flamerix AI ملف gist يضم قياسات تفيد بأن Claude Code ينفق 16.4% من تكلفة الجلسة على سطر حالة قصير من 3 إلى 5 كلمات في لوحة الوكلاء. وفي 29 أكتوبر وصل المنشور إلى الصفحة الأولى في Hacker News وجمع أكثر من 130 نقطة خلال ساعة. الأمر يعني كل من يقلقه استهلاك التوكنات في Claude Code، وخصوصًا من يشغّلون عددًا كبيرًا من الوكلاء في الخلفية.
من أين يأتي استهلاك التوكنات في Claude Code؟
المسؤول آلية اسمها agent_summary. وبحسب صاحب الـgist تعمل على النحو التالي:
- كل 30 ثانية تقريبًا، ولكل وكيل في الخلفية على حدة، يرسل Claude Code إلى النموذج النص الكامل لمحادثة ذلك الوكيل.
- يطلب من النموذج وصف آخر إجراء «في 3 إلى 5 كلمات» (بالنص: «describe your most recent action in 3-5 words»).
- تذهب النتيجة إلى لوحة الوكلاء فقط، أي إلى سطر حالة قصير.
الآلية مفعّلة افتراضيًا منذ الإصدار 2.1.232 (أغسطس 2026)، ولا يوجد إعداد رسمي لإيقافها.
كم يكلّف ذلك؟
أرقام الـgist مأخوذة من تصدير OpenTelemetry للأسبوع الذي سبق إيقاف الملخصات:
- 16.4% من التكلفة التقديرية ذهبت إلى
agent_summary، أي أكثر مما ذهب إلى المحادثة الرئيسية (15.7%)، - 19.7% من كل طلبات API، أي طلب من كل خمسة تقريبًا،
- 96% من هذه التكلفة كانت على Opus،
- نسبة توكنات الإدخال إلى الإخراج نحو 9000 إلى 1.
اللافت أن نحو 98% من هذه الاستدعاءات تصيب ذاكرة التخزين المؤقت للـprompt، لذا فهي رخيصة. المشكلة في الـ2% المتبقية تقريبًا: فمن دون التخزين المؤقت تمثّل أكثر من ثلث تكلفة الملخصات.
هذه التكاليف تقديرات من Claude Code نفسه (الحقل cost_usd) وليست فاتورة، فلنتعامل معها بحذر.
هل هذا جديد؟
المشكلة معروفة منذ أغسطس. ففي 15 أغسطس فتح المستخدم @rflcrz البلاغ #86879 في مستودع Claude Code. وفي جلسة مدتها 4 ساعات مع 27 وكيلًا فرعيًا (1496 طلبًا)، شكّلت استدعاءات agent_summary 22.7% من الطلبات و18% من التوكنات الموزونة، وأعاد كل منها في المتوسط نحو 65 توكنًا في الرد.
وفي التعليقات يذكر مستخدمون آخرون نتائج مشابهة: 15–22% في الجلسات التي تضم أكثر من 20 وكيلًا فرعيًا، و26% من التوكنات المقروءة من التخزين المؤقت في الإصدار 2.1.276. ولاحظ أحدهم أن المتغير CLAUDE_CODE_ENABLE_NARRATION=0 كان يوقف الملخصات في الإصدار 2.1.241، لكنه لم يعد يعمل في 2.1.245.
يحمل البلاغ الوسم area:cost وما زال مفتوحًا. وحتى 29 أكتوبر لم يردّ عليه أحد من Anthropic.
كيف نتحقق من ذلك لدينا؟
يتضمن Claude Code تصديرًا مدمجًا للقياسات عن بُعد عبر OpenTelemetry. نفعّله بالمتغير CLAUDE_CODE_ENABLE_TELEMETRY=1 ونضبط مُصدّرًا للسجلات. عندها يظهر كل طلب API كحدث claude_code.api_request يحمل السمة query_source التي تبيّن أي نظام فرعي أرسله. يكفي تجميع الأحداث حسب query_source وجمع cost_usd، وهكذا تمامًا اكتشف صاحب الـgist المشكلة.
هل يمكن إيقافها؟
ليس رسميًا. شارك صاحب الـgist حلًا التفافيًا: سكربت no-agent-summary.js يُحمَّل مسبقًا عبر Bun (BUN_OPTIONS="--preload …") ويستبدل مؤقّت الملخصات بمؤقّت معطّل، دون تعديل الملف التنفيذي. وعنده انخفضت حصة agent_summary من التكاليف من 16.4% إلى صفر.
قبل أن نستخدمه، من المفيد معرفة حدوده:
- السكربت جُرّب على Linux فقط، وليس على macOS أو Windows.
- يعمل بالمطابقة مع الشيفرة المصدرية، لذا قد يعطّله أي تحديث لـClaude Code بصمت (تحقّق من عمله بعد كل تحديث).
- تتوقف لوحة الوكلاء عن عرض الحالة.
- هو مشروع مجتمعي بترخيص MIT، لا علاقة له بـAnthropic.
وإن لم نرغب في حقن أي شيء في Claude Code، فالطريق الأبسط هو تشغيل عدد أقل من الوكلاء في الخلفية في الوقت نفسه، لأن تكلفة الملخصات تزداد بازدياد عددهم. أكتب أكثر عن العمل مع Claude Code في شرح Claude Code، وعن سرعة استنزاف الميزانية على Opus في المقال عن الوضع السريع.
الأسئلة الشائعة
لماذا يستهلك Claude Code هذا القدر من التوكنات؟
أساسًا لأن كل طلب يرسل سياق المحادثة إلى النموذج. وتُظهر قياسات المستخدمين أنه مع كثرة الوكلاء في الخلفية، تلتهم الملخصات الخفية agent_summary جزءًا كبيرًا أيضًا (16–22% من التكلفة)، إذ ترسل النص الكامل لمحادثة الوكيل كل 30 ثانية تقريبًا.
هل يمكنني إيقاف agent_summary من الإعدادات؟
حتى 29 أكتوبر لا يوجد مفتاح رسمي. ويطالب البلاغ #86879 بخيار مخصص، أو بشمول الملخصات بالمتغير CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC، أو بفاصل زمني قابل للضبط.
هل يعنيني الأمر إن لم أكن أستخدم وكلاء في الخلفية؟
تُولَّد الملخصات للوكلاء العاملين في الخلفية، لذا تكبر المشكلة بازدياد عددهم. وأسهل طريقة للتحقق هي القياسات عن بُعد، بتجميع الطلبات حسب query_source.