العنوان: تغيير اسم أداة واحدة يعني فقدان التخزين المؤقت بالكامل

تعني تسعيرة التخزين المؤقت (cache) الجديدة من Anthropic أن تعديلاً بسيطاً في حرف واحد — مثل تغيير اسم أداة أو إضافة طابع زمني إلى مطالبة النظام (system prompt) — يمكن أن يحول عملية "إصابة التخزين المؤقت" (cache hit) الرخيصة إلى "إخفاق في التخزين المؤقت" (cache miss) بالسعر الكامل، مما يؤدي إلى تضخم الفواتير بعشرات المرات.

يأتي هذا التحول من نظام خصم التخزين المؤقت ذي المستويين من Anthropic. فبالنسبة لبعض النماذج، تكلف القراءة من التخزين المؤقت 0.025 × سعر الإدخال العادي فقط؛ وبالنسبة لنماذج أخرى، يبلغ الخصم 0.1 ×. ينطبق الخصم فقط عندما يتطابق الطلب تماماً مع مدخل مخزن مسبقاً. أما حالات الإخفاق (misses) فتُحاسب بالسعر الأساسي، مما يوسع الفجوة بين "الإصابة" و"الإخفاق" بشكل كبير. ومن الناحية العملية، يمكن لتغيير بسيط في المطالبة (prompt) أن يرفع التكلفة لتصل إلى أربعين ضعف المبلغ المتوقع.

لماذا يهم هذا التغيير

أضافت Anthropic فئة التخزين المؤقت لتشجيع إعادة استخدام المطالبات المتطابقة، وهو نمط شائع في الوكلاء (agents) الذين يستدعون نفس مجموعة الأدوات بشكل متكرر. الفكرة بسيطة: قم بتخزين نتيجة الجمع بين المطالبة والأداة مرة واحدة، ثم استرجعها بتكلفة منخفضة في الاستدعاءات اللاحقة. تجعل المضاعفات الجديدة جانب "الاسترجاع" أرخص بكثير، لكنها تجعل أيضاً عقوبة "الإخفاق" (miss) أكثر قسوة.

يرى المطورون الذين بنوا وكلاءهم حول مطالبات نظام مستقرة أن أي انحراف — سواء كان مقصوداً أو غير مقصود — يؤدي إلى كسر سلسلة التخزين المؤقت. والنتيجة هي ضريبة خفية على الخدمة: حيث تترجم نسبة "إصابة التخزين المؤقت" المنخفضة مباشرة إلى تكاليف تشغيل أعلى.

ما الذي يكسر التخزين المؤقت

تصف وثائق Anthropic تسلسلاً هرمياً حيث تؤدي التغييرات في المستويات العليا إلى إبطال كل ما تحتها. والنتيجة العملية هي أن التعديلات التي تبدو غير ضارة يمكن أن تتسبب في سلسلة من الرسوم بالسعر الكامل.

  • تعريفات الأدوات – إضافة أداة، أو إزالتها، أو تغيير اسمها، أو تعديل وصفها يمسح التخزين المؤقت للأدوات، ومطالبة النظام، وسجل الرسائل بالكامل.
  • مفتاح البحث عبر الويب – تغيير القيمة المنطقية (boolean) التي تفعّل أداة البحث عبر الويب يؤدي إلى مسح مطالبة النظام وتخزين الرسائل المؤقت.
  • معامل اختيار الأداة (tool-choice parameter) – تعديل المعامل الذي يحدد الأداة المراد تشغيلها يؤدي فقط إلى إبطال التخزين المؤقت للرسائل.
  • حمولة الصور (Image payloads) – إضافة الصور أو إزالتها تؤثر فقط على التخزين المؤقت للرسائل.

الأنماط الشائعة التي يطلقها المطورون دون قصد:

  1. إعادة ترتيب الأدوات – تقوم بعض قواعد الأكواد بفرز قواميس الأدوات عند كل عملية نشر. الترتيب الجديد ينشئ مفتاح تخزين مؤقت مختلفاً، مما يفرض حالة "إخفاق" في كل مرة.
  2. المطالبات ذات الطابع الزمني – تضمين سلسلة نصية مثل "generated at HH:MM:SS" في مطالبة النظام يجعل كل طلب فريداً، مما يضمن حدوث إخفاق في التخزين المؤقت.
  3. تدوير أجزاء المطالبة – استبدال التحية أو شعار الإصدار يغير "هاش" (hash) المطالبة ويفسد التخزين المؤقت.

رصد التكلفة الخفية

تكشف سجلات استخدام Anthropic عن ديناميكيات التخزين المؤقت من خلال ثلاثة حقول:

  • cache_read_input_tokens – الرموز (tokens) التي تمت قراءتها من مدخل التخزين المؤقت.
  • cache_creation_input_tokens – الرموز التي تسببت في تخزين مدخل جديد في التخزين المؤقت.
  • input_tokens – الرموز التي تُحاسب بالسعر العادي (المتبقي بعد القراءات المخزنة مؤقتاً).

يشير الارتفاع المفاجئ في input_tokens بالتزامن مع انخفاض في cache_read_input_tokens إلى حدوث تغيير في بنية المطالبة. تتيح مراقبة هذه المقاييس للفرق اتخاذ رد فعل قبل أن تتضخم الفاتورة.

استجابة المطورين

في مواجهة واقع التسعير الجديد، تتعامل العديد من الفرق الآن مع استقرار المطالبة كمعيار أداء أساسي. وتشمل الاستراتيجيات الشائعة ما يلي:

  • مطالبات نظام ثابتة – تخزين المطالبة في ملف يخضع للتحكم في الإصدارات (version-controlled) وحقنها دون تعديلات أثناء وقت التشغيل.
  • ترتيب أدوات حتمي (Deterministic) – تحديد قوائم الأدوات مباشرة في الكود بدلاً من الاعتماد على ترتيب القواميس أو المولدات الخارجية.
  • إزالة الطابع الزمني – نقل معلومات التسجيل أو التوقيت إلى قناة بيانات وصفية (metadata) منفصلة لا تؤثر على سلسلة نص المطالبة.
  • اختبارات تراعي التخزين المؤقت – إضافة اختبارات وحدة (unit tests) تتحقق من أن "هاش" المطالبة الكاملة (النظام + الأدوات + الرسائل) يظل ثابتاً عبر عمليات البناء (builds).

تضيف هذه الممارسات عبئاً هندسياً طفيفاً، لكنها تحمي من "الضريبة الخفية" التي يمثلها الإخفاق في التخزين المؤقت الآن.

وجهة نظر Anthropic

تجادل Anthropic بأن الخصم الأكبر يحفز على إعادة الاستخدام، مما قد يقلل من حمل الحوسبة الإجمالي على خوادمها. ومن خلال جعل القراءات المخزنة مؤقتاً أرخص بكثير، تأمل الشركة في أن يصمم المطورون وكلاء يستدعون نفس مجموعة الأدوات بشكل متكرر بدلاً من إعادة تشكيل المطالبات باستمرار. والمقايضة هنا هي عقوبة أعلى للاستدعاءات غير القابلة لإعادة الاستخدام، وهو ما تقول الشركة إنه يدفع المطورين نحو اتباع ممارسات أفضل في صياغة المطالبات (prompt hygiene).

يشير النقاد إلى أن العديد من الوكلاء في العالم الحقيقي يحتاجون إلى تعديل المطالبات (prompts) بشكل فوري؛ حيث يعد إضافة السياق، أو الطوابع الزمنية، أو الاختيارات الديناميكية للأدوات أمراً ضرورياً في كثير من الأحيان. وبالنسبة لأعباء العمل هذه، قد يجعل التسعير الجديد Anthropic أقل جاذبية مقارنة بالمزودين الذين يفرضون سعراً ثابتاً بغض النظر عن عدد مرات إصابة التخزين المؤقت (cache hits).

ما يجب مراقبته لاحقاً

  • مراجعات التسعير – قد تقوم Anthropic بضبط المضاعفات إذا أظهرت تعليقات المجتمع أن الفجوة بين الإصابة والإخفاق (hit-miss gap) واسعة جداً.
  • ميزات التحكم في التخزين المؤقت (Cache-control) – قد تسمح تحديثات API المستقبلية للمطورين بتحديد الأجزاء التي يجب استبعادها من مفتاح التخزين المؤقت (cache key) في المطالبة، مما يوفر حلاً وسطاً.
  • ردود فعل المنافسين – قد يقوم مزودو نماذج اللغة الكبيرة (LLM) الآخرون بتعديل نماذج التخزين المؤقت الخاصة بهم للحفاظ على تنافسيتهم، إما من خلال تقديم تسعير أكثر ثباتاً أو عبر توفير عناصر تحكم أكثر دقة في التخزين المؤقت.

الخلاصة

مع تسعير التخزين المؤقت الجديد من Anthropic، لم تعد تكلفة إخفاق المطالبة (prompt miss) مجرد إزعاج هامشي؛ بل أصبحت رافعة مالية يمكن أن تؤثر على ميزانية المشروع بشكل كبير. إن الحفاظ على مطالبات النظام، وتعريفات الأدوات، والبيانات الوصفية ذات الصلة ثابتة وغير قابلة للتغيير أصبح الآن لا يقل أهمية عن كتابة كود فعال. الفرق التي تتعامل مع حتمية المطالبة (prompt determinism) كمقياس قابل للقياس ستتجنب الفواتير المفاجئة وستبقى مسيطرة على نفقات وكلاء الذكاء الاصطناعي الخاصة بها.