دليل شامل لـ Prompt Caching: المبادئ ونموذج التكلفة وطريقة التطبيق
يتيح Prompt caching خفض تكلفة رموز الإدخال ذات البادئة المتكررة بمقدار رتبة كاملة. يفكك هذا المقال الفروق في تنفيذ التخزين المؤقت بين Anthropic وOpenAI، وأي السيناريوهات توفر المال فعلاً، وكيفية إعادة استخدام نفس استراتيجية التخزين المؤقت عبر عدة نماذج باستخدام بوابة موحدة.
ما المشكلة التي يحلها Prompt caching
في مدخلات معظم استدعاءات LLM، هناك جزء كبير متطابق في كل مرة: المطالبة النظامية، أمثلة few-shot، المستندات الثابتة المسترجعة، تعريفات الأدوات (tool schema). ووفق الفوترة العادية، يُدفع ثمن هذه المحتويات المتكررة من رموز الإدخال في كل مرة، ويُعاد حساب attention لها في كل مرة.
فكرة Prompt caching مباشرة: يخزّن الخادم نتيجة حساب هذه البادئة، وإذا كانت البادئة في الطلب التالي متطابقة تماماً يعيد استخدامها مباشرة، ويعيد حساب الجزء الجديد فقط. تصفها Anthropic في [توثيق prompt caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) كوسيلة لتقليل زمن الاستجابة والتكلفة، ويقابلها في OpenAI آليات مثل التخزين المؤقت التلقائي للمطالبات وخصومات batch.
أي السيناريوهات توفر المال فعلاً
Prompt caching ليس مفتاحاً يُشغَّل فتوفر التكلفة تلقائياً. له حد ربحية واضح: عدد مرات إعادة استخدام نفس البادئة × طول البادئة > التكلفة الإضافية لكتابة التخزين المؤقت.
- مطالبة نظامية طويلة + محادثة متعددة الأدوار: مطالبة نظامية بآلاف الرموز وجلسات متعددة الأدوار، مربحة تقريباً دائماً.
- RAG + مجموعة مستندات ثابتة: ضع مستندات السياسات/قاعدة المعرفة غير المتغيرة في البادئة، ودع سؤال المستخدم فقط يتغير.
- وكيل برمجي / استدعاء أدوات: غالباً ما يتكرر tool schema ووصف بنية المستودع في كل استدعاء.
- استدعاءات فردية ببادئة قصيرة: قد تكون تكلفة كتابة التخزين المؤقت أعلى من التوفير، لا تفرض التخزين المؤقت.
خمسة أخطاء شائعة تؤدي إلى إبطال التخزين المؤقت
- إدراج طابع زمني أو معرّف عشوائي في البادئة: حتى وضع
Date.now()في موضع ثابت واحد يغيّر البادئة بأكملها. - تجميع المطالبة النظامية ديناميكياً: يحصل مستخدمون مختلفون على بادئات مختلفة، فيُخفَّض معدل الإصابة إلى ما يقارب 0.
- ضغط سجل الرسائل بالتلخيص: إعادة الكتابة في كل دور تجعل البادئة غير مستقرة.
- وضع إدخال المستخدم في المقدمة: هذا هو الخطأ الهيكلي الأكثر شيوعاً، يجب إبقاء المتغيرات في أقصى النهاية.
- النظر إلى الفاتورة فقط دون معدل الإصابة: بدون مؤشر معدل الإصابة، لا يمكن نسب عائد التخزين المؤقت إطلاقاً.
إعادة استخدام نفس استراتيجية التخزين المؤقت بين عدة نماذج
إذا كان منتجك يستخدم Claude وGPT معاً، فإن دلالات التخزين المؤقت ليست متطابقة تماماً بين المورّدين (من يعلن نقاط توقف التخزين المؤقت، وطول TTL، وطريقة الفوترة). إبقاء هذه الطبقة التكيفية خلف بوابة موحدة يعني أن كود الأعمال يحتفظ ببنية مطالبة واحدة فقط، دون إعادة كتابة عند تبديل النموذج.
تحافظ بوابة Admesh على بروتوكول متوافق مع OpenAI في الطبقة السفلية، لذا يمكن تبديل المورّدين بتغيير حقل model فقط مع نفس بنية المطالبة؛ وتظهر فوترة إصابات التخزين المؤقت موحدة في تفاصيل usage بالفاتورة، دون الحاجة للتكامل مع طريقة فوترة كل مورّد على حدة.
أسعار Admesh المباشرة (مقتطف)
الأسعار مأخوذة من إعدادات Admesh المباشرة، بالدولار الأمريكي لكل مليون رمز. راجع كتالوج النماذج للقائمة الكاملة.
| اسم النموذج ورقم التعريف | نافذة السياق | أدخل السعر / 1M | سعر المخرجات / 1M | إصابة ذاكرة التخزين المؤقت / 1M |
|---|---|---|---|---|
Claude Fable 5 anthropic/claude-fable-5 | 1M | $3.25 / 1M | $16.25 / 1M | $0.325 / 1M |
Claude Fable 5.1 anthropic/claude-fable-5-1 | 1M | $3.25 / 1M | $16.25 / 1M | $0.08125 / 1M |
Claude Haiku 4.5 anthropic/claude-haiku-4-5-20251001 | 200K | $0.325 / 1M | $1.625 / 1M | $0.0325 / 1M |
Claude Haiku 5.5 anthropic/claude-haiku-5-5 | 1M | $0.0325 / 1M | $0.1625 / 1M | $0.00325 / 1M |
Claude Opus 4.5 anthropic/claude-opus-4-5-20251101 | 200K | $1.625 / 1M | $8.125 / 1M | $0.1625 / 1M |
Claude Opus 4.6 anthropic/claude-opus-4-6 | 1M | $1.625 / 1M | $8.125 / 1M | $0.1625 / 1M |
Claude Opus 4.7 anthropic/claude-opus-4-7 | 1M | $1.625 / 1M | $8.125 / 1M | $0.1625 / 1M |
Claude Opus 4.8 anthropic/claude-opus-4-8 | 1M | $1.625 / 1M | $8.125 / 1M | $0.1625 / 1M |
ما ورد أعلاه هو السعر القياسي للوحدة في القنوات العامة، ويتم الحساب وفقًا للاستهلاك الفعلي للـ Token. عرض قائمة النماذج الكاملة
قائمة التطبيق
- قسّم المطالبة إلى ثلاثة أجزاء: «بادئة مستقرة / جزء شبه مستقر / إدخال المستخدم»، وضع الجزء المستقر في المقدمة.
- تأكد من عدم وجود طوابع زمنية أو أرقام عشوائية أو معرّفات مستخدم في البادئة المستقرة.
- احسب رموز قراءة وكتابة التخزين المؤقت بشكل منفصل في الفاتورة، وحوّلها إلى معدل إصابة حقيقي.
- استخدم مجموعة طلبات تقييم ثابتة للاختبار الدوري، للتأكد من أن تعديلات المطالبة لم تُنهِ معدل الإصابة.
- ضع حداً أدنى لعائد التخزين المؤقت (مثلاً أقل من 5% فارجع عن بنية المطالبة)، لتجنب التحسين من أجل التحسين.
الأسئلة الشائعة
كم يوفر Prompt caching؟
هل يمكن لمستخدمين آخرين قراءة نتائج التخزين المؤقت؟
هل يبقى التخزين المؤقت بعد تغيير النموذج؟
المراجع
استدعِ هذه النماذج عبر بوابة واحدة
توفر Admesh واجهة API موحدة متوافقة مع OpenAI: عنوان URL أساسي واحد ومفتاح واحد لـ Claude وGPT وDeepSeek وغيرها. الحسابات الجديدة تحصل على رصيد تجريبي لا ينتهي.
