المستوى المطلوب: متوسط — هذا المقال يفترض إنك جربت استدعاء Claude API قبل كده وعارف فكرة الـ system prompt و messages array. لو لسه بتبدأ مع الـ API، اقرأ مقال "Streaming في Claude API للمبتدئ" الأول.
لو فاتورة Claude بتاعتك بقت 3,200 دولار شهرياً وانت بتبعت نفس system prompt حجمه 7,000 token في كل request، حوالي 89% من الفاتورة بتدفعها على نص بيتقرأ آلاف المرات بدون أي قيمة جديدة. Prompt Caching بـ سطر واحد جوّا الـ payload بينزّل التكلفة دي لـ 387 دولار، ووقت الاستجابة من 1.8 ثانية لـ 0.4 ثانية، بدون أي تغيير في جودة الردود.
Prompt Caching في Claude: ليه بتدفع على نص بتقروه ألف مرة
المشكلة باختصار
كل طلب لـ Claude API بيتعامل معاه السيرفر كأنه أول مرة يشوف الكلام. لو معاك chatbot عربي للدعم الفني وعندك system prompt فيه 6,000 token تعليمات وقاعدة معرفة عن منتجك، الموديل بيقرأ الـ 6,000 token دول من الأول في كل سؤال جديد. لو وصلت لـ 100,000 سؤال شهرياً، انت دفعت 600 مليون token كلهم نسخ متطابقة من نفس الـ context.
ده مش عيب في كودك. ده default behavior للـ stateless API. كل request مستقل. الحل اسمه Prompt Caching: بتقول لـ API "النص ده ثابت، خزّنه عندك، وفي الطلبات الجاية اقرأه من الكاش بدل ما تعيد معالجته من الصفر". Anthropic أعلنت الميزة في أغسطس 2024 وحالياً (مايو 2026) متاحة على Claude Sonnet 4.6 و Haiku 4.5 و Opus 4.7.
ابدأ بمثال قبل التعريف العلمي
تخيّل إنك بتزور مكتبة كل يوم وبتسأل أمين المكتبة سؤال جديد عن نفس الموسوعة. كل مرة لازم يدخل المخزن، ينزّل الموسوعة بتاعت 4 مجلدات، يقراها كلها، يطلع يرد على سؤالك بكلمتين. تعريفته 100 جنيه على القراءة الكاملة.
يوم بيقولك: "هاجر، خلّيني أحفظ الموسوعة على المكتب الجنبي. ادفعلي 125 جنيه على القراءة المرة دي بس، وفي كل زيارة جاية ادفعلي 10 جنيه بس، ما دامت الزيارة الجاية في خلال 5 دقايق." لو هتسأله 5 أسئلة، انت كنت هتدفع 500 جنيه. مع العرض الجديد بتدفع 125 + 4×10 = 165 جنيه. وفّرت 67%.
ده بالظبط Prompt Caching. شراء كاش مرة واحدة بسعر 1.25× من الـ input العادي، ثم استخدامه بـ 0.1× من السعر طول ما إنت بتطلب في خلال 5 دقايق.
التعريف العلمي الدقيق
Prompt Caching ميكانيزم في Claude API بتحدد فيه نقطة قطع (breakpoint) في الـ prompt بتاعك باستخدام حقل cache_control. أي محتوى قبل الـ breakpoint بيتخزن في كاش مؤقت (ephemeral cache) لمدة 5 دقايق افتراضياً، أو ساعة كاملة لو فعّلت extended cache. الكاش بيتم تحديده داخلياً بـ hash للمحتوى، فلو غيّرت حرف واحد جوّا النص المخزّن، الكاش بيتعمله invalidate وبتدفع cache write من جديد.
التسعير الحالي على Claude Sonnet 4.6 (مايو 2026):
- Cache write: 1.25× سعر الـ input العادي = 3.75 دولار لكل مليون token.
- Cache read: 0.1× سعر الـ input العادي = 0.30 دولار لكل مليون token.
- Input عادي بدون caching: 3.00 دولار لكل مليون token.