Prompt Caching في Claude: ازاي توفّر 90% من فاتورة Tokens في تطبيقاتك
هذا المقال يتطلب مستوى: متوسط
لو بتبعت لـ Claude API prompt فيه 50,000 token من الـ system + RAG context كل request، وعندك 1,000 request في اليوم على Sonnet 4.6، إنت بتدفع تقريبًا 90 دولار يوميًا. الجزء الأكبر من الفاتورة دي بيتدفع على tokens ثابتة بتتكرر مع كل استدعاء. Prompt Caching بيخلّيك تدفع 10% فقط من سعر الـ tokens المتكررة، يعني نفس الفاتورة تنزل من 90 دولار لـ 15 دولار بدون أي تغيير في جودة الردود ولا في الكود الفعلي للموديل.
المشكلة باختصار
أي تطبيق Claude جدي عنده ثلاث طبقات بتتبعت في كل request:
- System prompt طويل فيه التعليمات والشخصية والأمثلة (5K-15K token).
- RAG context جاي من قاعدة المعرفة أو الوثائق (10K-50K token).
- User message اللي بيتغير فعلاً (50-500 token).
الـ user message بيمثل أقل من 1% من الإدخال، لكن الفاتورة بتتحسب على الـ 100% في كل مرة. ده بالظبط اللي Prompt Caching جاي يحلّه: تدفع مرة واحدة على الـ prefix الثابت، وبعدين تستهلكه بسعر مخفّض في كل request في الفترة اللي بعدها.
مثال للمبتدئ: الـ check-in في الفندق
تخيّل إنك بتنزل في فندق 30 يوم متواصل. لو الـ reception كل ما تطلع وترجع طلب منك جواز السفر، وإثبات الحجز، وكارت الكريديت، وعنوانك الكامل، ده عادي أول يوم. بس مش منطقي اليوم 17. الفنادق بتعمل حاجة بسيطة: بتدّيك مفتاح الغرفة، ولما ترجع بتقول "أنا غرفة 412"، الـ reception بيتحقق في ثانية بدل ما يعيد كل عملية الـ check-in. التكلفة على الفندق نزلت 90%، وزمن الانتظار اللي بتقضيه قدام الكاونتر اختفى.
Prompt Caching بيشتغل بنفس المنطق: بدل ما تبعت 50K token كاملة لـ Claude في كل request، إنت بتقوله "الجزء ده اللي بعتهولك قبل كده، فكّره". الموديل بيلاقي الـ KV cache جاهزة، بيركّب عليها الـ user message الجديد، ويرد عليك في زمن أسرع وبتكلفة أقل.
التعريف العلمي: ephemeral KV cache
Anthropic أطلقت Prompt Caching كـ public beta في أغسطس 2024 وعمّمته كـ GA في 2025. الفكرة العلمية إن الموديل بيحفظ الـ KV-cache (نتائج حساب self-attention على الجزء الثابت من الـ prompt) في memory مخصصة على السيرفر لمدة 5 دقائق افتراضيًا (TTL). أي request جديد فيه نفس الـ prefix بالظبط (نفس الـ tokens، بنفس الترتيب، بنفس الموديل) بياخد الـ KV cache دي بدل ما يعيد حسابها من الصفر.
السعر التفصيلي على Sonnet 4.6:
- Cache write (أول مرة بتتخزّن): 1.25x سعر الـ input العادي.
- Cache read (المرات اللي بعدها داخل الـ TTL): 0.10x سعر الـ input.
- Standard input: 3.00 دولار لكل مليون token.
يعني لو الجزء الثابت 50K token: المرة الأولى بتكلفك تقريبًا 0.1875 دولار، والمرات اللي بعدها بتكلفك 0.015 دولار لكل request، بدل 0.15 دولار بدون caching. الفرق 10x في كل request متكرر.