المستوى المطلوب: متوسط — تحتاج تعرف الفرق بين system prompt و user message وبتشتغل على Anthropic SDK أو REST API.
لو عندك Claude Agent بيقرا 50 صفحة PDF كـ context قبل كل سؤال جديد، كل request بيكلّفك حوالي 0.45 دولار. مع Prompt Caching الرقم بينزل لـ 0.045 دولار بـ 9 سطور تعديل بس. اللي هتشوفه هنا مش "تحسين بسيط"، ده تخفيض عشري في الفاتورة على الـ workloads اللي بتعيد نفس الـ prefix.
Prompt Caching: السلاح اللي بيخلّي Agents الإنتاج اقتصادية
المشكلة باختصار: ليه فاتورة Claude بتنفجر مع Agents
في كل request للـ API، الـ SDK بيبعت system prompt كبير + tool definitions + غالبًا documents مرجعية. Claude بيدفع compute لإعادة معالجة كل توكن من الصفر، حتى لو الـ context نفسه كان موجود في الطلب اللي قبله بثانيتين.
الحساب البسيط: 200 طلب يوميًا × 50,000 input tokens × 30 يوم × $3 لكل مليون توكن = $900 شهريًا. والمؤلم إن 95% من الـ context ده ثابت ومش بيتغيّر أصلاً.
مثال للمبتدئ: مكتبة جامعية وأمين الاستعارة
تخيّل مكتبة جامعية فيها أمين بيقدّم خدمة "تحليل بحثي". لما طالب يجيله بسؤال:
- بدون cache: الأمين يقرا الـ 300 صفحة من الكتاب المرجعي كل مرة قبل ما يجاوب — حتى لو نفس السؤال جاي من 5 طلاب متتاليين.
- مع cache: الأمين يقرا الكتاب مرة واحدة، يلخّص ملاحظاته على ورقة على المكتب، وبعدها كل سؤال جديد يستخدم نفس الورقة.
الفرق العملي: القراءة الأولى تاخد ساعة. الإجابة على كل سؤال جديد بعدها = 30 ثانية. ده بالظبط اللي بيحصل في GPU عند تفعيل Prompt Caching.
التعريف العلمي: ايه هو KV-Cache فعلاً
Prompt Caching عند Anthropic = إعادة استخدام attention KV-cache المحسوب من توكنات الـ prefix. الـ KV-cache هو زوج من المصفوفات (Key و Value) اللي transformer بيخزّنها لكل توكن خلال الـ forward pass، علشان لمّا التوكن التالي يحتاج يحسب attention مع التوكنز السابقة، النموذج يلوّد القيم من ذاكرة GPU بدل ما يعيد ضرب المصفوفات تاني.
اللي بيعمله Anthropic:
- بيحدد أطول prefix مشترك بين الطلبات في window زمني.
- بيخزّن الـ KV tensors في ذاكرة سريعة (HBM أو tier تاني حسب الحجم).
- الطلب اللي يجي بعده على نفس الـ prefix بيتجاوز ال prefill phase ويبدأ من توكن أول جديد.
الأرقام الفنية المهمة (مايو 2026):
- الـ TTL الافتراضي = 5 دقايق من آخر استخدام (يتجدّد مع كل hit).
- 1h cache TTL متاح كـ beta بسعر كتابة أعلى.
- الحد الأدنى لحجم الـ prefix القابل للـ cache = 1024 توكن لـ Sonnet/Opus، و 2048 توكن لـ Haiku.
- سعر الكتابة (cache write) = +25% فوق سعر الـ input العادي.
- سعر القراءة (cache read) = 10% فقط من سعر الـ input، أي خصم 90% على الجزء المخبّأ.