Prompt caching معناه إنك بتخلي مزود الـAPI يحتفظ مؤقتًا بجزء ثابت ومتكرر من الـprompt، بدل ما تبعته ويتحسب عليك بالكامل مع كل request. مثلًا لو عندك system prompt طويل فيه قواعد المشروع، أو documentation، أو أجزاء ثابتة من الـcodebase، وتستخدمهم مع كل سؤال جديد؛ أول مرة بتبعتهم عادي، وبعد كده الطلبات التالية بتشير لنفس المحتوى المخزّن. النتيجة إن تكلفة الـinput tokens المتكررة بتقل، وأحيانًا ال latency كمان يتحسن.

مثال بسيط: لو عندك prompt ثابت حجمه 100 ألف token، وكل مرة بتضيف له سؤال جديد حجمه 500 token. من غير caching، هتدفع تكلفة الـ100,500 token في كل طلب. مع caching، بتدفع تكلفة إنشاء الـcache في البداية، وبعدها تدفع سعر أقل بكثير على الـ100 ألف token المخزنين، بالإضافة لتكلفة السؤال الجديد.

فرتّب دايمًا الـ prompts بحيث المحتوى الثابت ييجي الأول، والمحتوى المتغيّر ييجي في الآخر. لو أكتر من 50% من الـ input tokens بتتكرر بين الطلبات، يبقى الأفضل تفعّل الـ caching.

و كمان حاليًا كل الشركات الكبيرة بقت بتدعمه بشكل تلقائي لأنه ممكن يوفر لحد 50% من التكلفة و يسرع وقت الاستجابة بنسبة 80%.

  •  OpenAI تدعمه بشكل تلقائي
  •  Anthropic بشكل صريح
  •  Google Gemini بشكل ضمني أو صريح
  • DeepSeek بشكل تلقائي.

ليه ال Prompt Caching مهم؟

في حاجتين بيأثروا على مشاريع الـ LLM في بيئة الإنتاج: التكلفة ووقت الاستجابة. والـ Prompt Caching بيعالج الاتنين.

معظم الفرق بتكتشف ده بالطريقة الصعبة. الـ proof of concept بيشتغل بشكل ممتاز، وبعد كده الترافيك بيزيد، والفاتورة بتوصل وبنُصدم بالأرقام! 

والأصعب إن أغلب تطبيقات الـ LLM في ال Production بتعيد معالجة نفس الـ context آلاف المرات يوميًا: نفس الـ system prompt، ونفس تعريفات الأدوات، ونفس المستندات المرجعية. وكل طلب بيدفع التكلفة الكاملة على tokens النموذج شافها قبل كده.

كيف يعمل ال Prompt Caching؟

كيف يعمل ال Prompt Caching؟

خلينا متفقين إن ال Prompt Caching مش بيخزن إجابات النموذج ولا بيعمل Semantic Caching هو بيخزن (حسابات ال Key-Value Pairs) للأجزاء الثابتة من ال Prompt بتاعك وبيعيد النموذج استخدامها وقت ما يجد تشابه بين جزء من الطلب الجديد والقيم المتخزنة عنده بالفعل فيقسم ال Prompt لجزءين:

  • جزء ثابت (Static) بيحصل علي قيمته من ال Cache بدون استخدام .
  • جزء متغير( Dynamic) بيقوم بحسابه واستخدام tokens جديدة في هذه العملية.

متي تستخدم ال Prompt Caching؟

ال Prompt Caching  بيكون مفيد جدًا وقت ما يكون في سياق طويل بيتكرر كتير مثل:

  • Code review: نفس قواعد المشروع والـ repository، مع ملفات مختلفة كل مرة.
  • RAG: نفس knowledge base أو الوثائق الكبيرة، مع أسئلة متعددة.
  • Agents: نفس التعليمات والأدوات وحالة المشروع عبر عدة خطوات.
  • Chatbot مؤسسي: سياسات الشركة، FAQ، ودليل المنتجات ثابتة، بينما أسئلة العملاء بتختلف .
  • تحليل مستندات: نفس العقد أو التقرير الطويل، مع استعلامات متعددة عليه.

الخلاصة: Prompt Caching لا يعني تخزين الإجابة؛ بل يعني تخزين الحسابات الداخلية للجزء الثابت من الـprompt في صورة KV Cache، حتى يركز كل طلب لاحق على الجزء الجديد فقط.