مهندس من Anthropic يشارك نصائح تخزين رموز Claude Code لتوفير 300 مليون رمز أسبوعيًا

iconBlockbeats
مشاركة
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconملخص

expand icon
كشف تحديث جديد لقائمة الرموز الجديدة أن مهندسًا من Anthropic شارك استراتيجيات تخزين ذاكرة مؤقتة لرمز Claude Code، مما أدى إلى توفير أكثر من 300 مليون رمز في أسبوع واحد. وبلغت المدخرات اليومية 91 مليون رمز، حيث تكلف الرموز المخزنة مؤقتًا فقط 10٪ من التكلفة العادية للإدخال. تشمل النصائح الأساسية تجنب إيقاف الجلسات لأكثر من ساعة واحدة، واستخدام نقل الجلسات، وتخزين المستندات الكبيرة في المشاريع. ويمكن أن تُعطّل عمليات تبديل النموذج ووضع خطة Opus التخزين المؤقت. تُظهر أخبار إطلاق الرمز أن المطورين يركزون على كفاءة التكلفة للجلسات الطويلة.
كيف يحفظ مهندسو Anthropic فعليًا الرموز
الكاتب الأصلي: Nate Herk
مُحرّر: Peggy، BlockBeats


ملاحظة المحرر: عندما يستخدم الكثيرون Claude Code، فإن الشعور الأكثر وضوحًا هو استهلاك الرموز بسرعة كبيرة، حيث تستهلك الجلسات الطويلة الحدود بسهولة. لكن من منظور مهندسي Anthropic، فإن ما يؤثر حقًا على التكلفة غالبًا ليس عدد الأسطر التي تكتبها، بل ما إذا كان النظام يستخدم السياق الذي تم معالجته مسبقًا بشكل مستمر.


يُركّز هذا المقال على كيفية توفير الرموز من خلال آلية التخزين المؤقت. فقد أعاد المؤلف استخدام أكثر من 300 مليون رمز خلال أسبوع واحد، مع وصول كمية التخزين المؤقت اليومية إلى 91 مليون رمز. وبما أن تكلفة رموز التخزين المؤقت تساوي فقط 10٪ من تكلفة الرموز المدخلة العادية، فهذا يعني أن 91 مليون رمز مخزّنة مؤقتًا تُحسب فعليًا على أنها حوالي 9 ملايين رمز عادي. السبب في أن محادثات Claude Code الطويلة تبدو أكثر "متانة" ليس لأن النموذج يعمل مجانًا، بل لأن السياقات المتكررة الكثيرة تم إعادة استخدامها بنجاح.


يتمثل جوهر تخزين مُحفوظات المُحفِّز في "عدم مقاطعة التخزين المؤقت". يقوم Claude Code بتخزين مؤقت للرسائل النظامية، وتعريفات الأدوات، وملف CLAUDE.md، وقواعد المشروع، ومحادثات التاريخ على مستويات متعددة؛ فطالما ظل البادئة في الطلبات اللاحقة متسقة، يمكن لـ Claude قراءة التخزين المؤقت مباشرةً بدلاً من معالجة السياق الكامل مرة أخرى. كما تقوم Anthropic داخليًا بمراقبة معدل إعادة استخدام تخزين مُحفوظات المُحفِّز، لأنه لا يؤثر فقط على حصة المستخدم، بل يرتبط أيضًا بشكل مباشر بتكاليف خدمة النموذج وكفاءته التشغيلية.


لا يحتاج المستخدمون العاديون إلى فهم جميع التفاصيل الأساسية، بل يكفيهم اعتماد عادات رئيسية قليلة: لا تترك الجلسة دون استخدام لأكثر من ساعة واحدة؛ قم بتحويل الجلسة عند تبديل المهام؛ تجنب تبديل النماذج بشكل متكرر؛ وأدخل المستندات الكبيرة في المشاريع قدر الإمكان بدلاً من لصقها مرارًا وتكرارًا في المحادثة.


هذه المقالة لا تتحدث عن خدعة لحفظ الرموز، بل تقدم أسلوبًا أكثر قربًا من تفكير المهندس في استخدام Claude Code: معاملة السياق كإدارة أصول، وتحقيق إعادة استخدام مستمرة للمخزن المؤقت، وتقليل الحسابات المتكررة في المحادثات الطويلة.


以下为原文:


وفرت 300 مليون رمز هذا الأسبوع، بواقع 91 مليون يوميًا، وأكثر من 300 مليون في الأسبوع.



لم أقم بتعديل أي إعدادات. إنما هذا مجرد عمل مخزن الـ prompt بشكل طبيعي في الخلفية.


لكن عندما فهمت حقًا ما هو التخزين المؤقت وكيفية تجنب "كسر" التخزين المؤقت، استطعت أن أُطيل مدة جلستي بنفس مقدار الاستخدام. لذا، إليك دليلًا تمهيديًا بنسبة 80/20 لتخزين مُحفوظات Claude Code، دون الدخول في تفاصيل عميقة على مستوى واجهة برمجة التطبيقات.


ملخص


تكلفة تذكارات التخزين المؤقت تبلغ فقط 10% من تكلفة تذكارات الإدخال العادية. 91 مليون تذكارات تخزين مؤقت، يتم فرض التكلفة الفعلية ما يعادل حوالي 9 ملايين تذكارات.


مدة صلاحية التخزين المؤقت لنسخة اشتراك Claude Code هي ساعة واحدة؛ الافتراضي للواجهة البرمجية هو 5 دقائق؛ والوكيل الفرعي دائمًا 5 دقائق.


يتم تقسيم التخزين المؤقت إلى ثلاث طبقات: طبقة النظام، وطبقة المشروع، وطبقة المحادثة.


تغيير النموذج أثناء المحادثة سيؤدي إلى تدمير الذاكرة المؤقتة، بما في ذلك تفعيل وضع "opus plan".


كيف يتم حساب التكلفة الخاصة بالتخزين المؤقت؟


كل توكين مخزن مؤقتًا، تكلفته 10% من تكلفة توكين الإدخال العادي.



لذلك، عندما يُظهر لوحة التحكم الخاصة بي أن 91 مليون رمز قد تم العثور عليها في الذاكرة المؤقتة في يوم معين، فإن التكلفة الفعلية تُحسب تقريبًا كأنها معالجة 9 ملايين رمز فقط. وهذا هو السبب في أن استخدام Claude Code على المدى الطويل، مقارنة بعدم وجود ذاكرة مؤقتة، يعطي إحساسًا بأن الجلسة تُمدد بشكل شبه "مجاني".


هناك رقمان في لوحة القيادة يستحقان التركيز:


إنشاء التخزين المؤقت: التكلفة الواحدة التي تنشأ عند كتابة المحتوى إلى الذاكرة المؤقتة. ستبدأ في العمل في المحادثة التالية.
قراءة الذاكرة المؤقتة: الرموز التي أعاد استخدامها Claude من الذاكرة المؤقتة، مثل ملف CLAUDE.md وتعريفات الأدوات والرسائل السابقة، إلخ. وهي أرخص بعشر مرات مقارنة بالمعالجة كمدخلات جديدة.



إذا كان رقم قراءة ذاكرة التخزين المؤقت الخاص بك مرتفعًا، فهذا يعني أنك تستفيد بفعالية من ذاكرة التخزين المؤقت؛ وإذا كان هذا الرقم منخفضًا، فهذا يعني أنك تدفع مرة تلو الأخرى لنفس السياق.


لدي تاريك من Anthropic جملة أثرت فيّ: "نحن فعليًا نراقب معدلات إصابة ذاكرة التخزين المؤقت للتعليمات، وعندما ينخفض المعدل بشكل كبير، يتم تفعيل إنذار، بل وحتى إعلان حادث من مستوى SEV."


كما كتب مقالًا رائعًا عن X. عندما تكون نسبة تطابق الذاكرة المؤقتة عالية، تحدث أربع أشياء في نفس الوقت: يشعر Claude Code بأنه أسرع، تنخفض تكاليف خدمة Anthropic، تبدو اشتراكاتك أكثر استدامة، وتصبح جلسات البرمجة الطويلة أكثر واقعية.


لكن إذا كانت نسبة الدقة منخفضة جدًا، فسيخسر الجميع.



لذلك، فإن الحوافز لدى الطرفين متوافقة في الواقع: ترغب Anthropic في زيادة معدل تصادم ذاكرة التخزين المؤقت الخاص بك، وأنت أيضًا ترغب في زيادة هذا المعدل. ما يُبطئك حقًا هو فقط بعض العادات التي تبدو تافهة ولكنها تعيد ضبط ذاكرة التخزين المؤقت بصمت.


How does the cache grow with each conversation round?


The cache relies on prefix matching, i.e., "prefix matching".


لا تحتاج إلى الغوص في تفاصيل تقنية عميقة، فكل ما عليك فهمه هو أنه إذا كان المحتوى السابق لموقع معين مطابقًا تمامًا للمحتوى المخزن مؤقتًا، فيمكن لـ Claude إعادة استخدام جزء التوكنات هذا المخزن مؤقتًا.


جلسة جديدة تمامًا، وهي تسير تقريبًا بهذه الطريقة:



وفقًا لوثائق Claude Code، عادةً ما يتم تشغيل جلسة جديدة على النحو التالي:


المحادثة الأولى: لا يوجد أي ذاكرة مؤقتة. سيتم إعادة معالجة تعليمات النظام، وسياق مشروعك (مثل CLAUDE.md وذاكرة التخزين المؤقت والقواعد)، بالإضافة إلى رسالتك الأولى، وحفظها في الذاكرة المؤقتة.


المحادثة الثانية: جميع المحتويات من المحادثة الأولى تم تخزينها مؤقتًا الآن. يكفي أن تعالج كلاود ردك الجديد والرسالة التالية. ستكون تكلفة هذه الجولة أقل بكثير.


المحادثة الثالثة: المنطق نفسه. لا تزال المحادثات السابقة محفوظة في الذاكرة المؤقتة، ويجب معالجة التفاعل الأحدث فقط.


يمكن تقسيم الذاكرة المؤقتة نفسها إلى ثلاث طبقات:



من مقال Thariq على X:


طبقة النظام (System layer): تشمل الأوامر الأساسية، وتعريف الأدوات (read، write، bash، grep، glob)، وأسلوب الإخراج. هذه الطبقة مخزنة مؤقتًا عالميًا.


طبقة المشروع (Project layer): تشمل CLAUDE.md و memory وقواعد المشروع. يتم تخزين هذه الطبقة مؤقتًا حسب المشروع.


طبقة المحادثة (Conversation): تشمل الردود والرسائل، وستزداد مع كل جولة محادثة.


إذا تغير أي شيء على مستوى النظام أو مستوى المشروع أثناء المحادثة، يجب إعادة تخزين كل المحتوى من البداية. هذا هو العملية الأكثر "تكلفة". تخيل هذا: أنت قد وصلت إلى الرسالة رقم 16، ثم تغيرت تعليمات النظام فجأة، أو توقفت المحادثة لمدة ساعة، فسيتعين إعادة معالجة جميع الرموز من الرسالة الأولى.


الخلط بين ساعة و5 دقائق


هذا هو المكان الأكثر إرباكًا.


نسخة اشتراك Claude Code: TTL الافتراضي هو ساعة واحدة.


Claude API: TTL الافتراضي هو 5 دقائق. يمكنك دفع تكلفة أعلى لرفعه إلى ساعة واحدة.
أي عميل فرعي ضمن أي خطة: دائمًا 5 دقائق.

مكالمة الويب على Claude.ai: لم يتم تسجيلها رسميًا. قد تكون نفس الإصدار المدفوع، لكنني لم أؤكد ذلك بعد.


قبل عدة أشهر، شكى العديد من الأشخاص من أن اشتراكات Claude تستهلك بسرعة كبيرة. في ذلك الوقت، اعتقد البعض أن Anthropic خفّضت TTL من ساعة واحدة إلى 5 دقائق دون إشعار المستخدمين. لكن الحقيقة ليست كذلك، فما زال TTL الخاص بـ Claude Code ساعة واحدة.


المشكلة هي أن وثائق Claude Code وAPI منفصلة، وهما في الأصل شيئان مختلفان تمامًا، مما أدى إلى الكثير من الالتباس.


إذا كنت تشغل تدفقات عمل Sub-agent بكميات كبيرة، أو تستخدم API مباشرة، فإن الرقم البالغ 5 دقائق مهم. لكن بالنسبة لـ 95% من مستخدمي Claude Code، فإن ما تحتاج إلى التركيز عليه حقًا هو نافذة الساعة الواحدة فقط.


ثلاثة عادات تغطي 95% من المستخدمين


هذه هي الأجزاء التي أعتبرها مفيدة حقًا في الاستخدام اليومي.


لا تتوقف لفترة طويلة جدًا


إذا كنت غير نشط لأكثر من ساعة، فغالبًا ما انتهت صلاحية المحتوى السابق من الذاكرة المؤقتة. ستُعيد رسالتك التالية بناء الذاكرة المؤقتة. في هذه الحالة، عادةً ما يكون التكلفة أقل عند إجراء تسليم واضح ثم بدء جلسة جديدة بدلاً من محاولة استئناف جلسة قديمة "باردة".


عند التبديل بين المهام، ابدأ من جديد مباشرة


/compact أو /clear سيؤديان إلى تدمير الذاكرة المؤقتة بالفعل، لذا من الأفضل إعادة الضبط الفعلية في هذه المرحلة.


قمت بإنشاء مهارة نقل الجلسة لاستبدال /compact. فهي تلخص ما أكملناه، وما هي القرارات المعلقة، وأي المستندات الأكثر أهمية، وأين يجب أن نستمر من هناك. ثم أقوم بتنفيذ /clear وألصق هذا الملخص، ويمكنني الاستمرار كما لو لم يحدث أي انقطاع.


أحيانًا يكون أمر compact بطيئًا أيضًا. بينما عادةً ما يكتمل مهارة handoff في أقل من دقيقة.


في محادثة Claude، ضع المستندات الكبيرة في المشاريع قدر الإمكان


لا توجد وثائق رسمية مفصلة حول آلية التخزين المؤقت على Claude.ai، لكن من الواضح أن المشاريع تستخدم طرق تحسين مختلفة عن خيوط المحادثة العادية. لذا، إذا كنت تريد لصق مستندات كبيرة، فمن الأفضل وضعها داخل مشروع، وليس إدخالها مباشرة في المحادثة.


ما العمليات التي تدمر الكاش بصمت؟


هناك عدة أشياء ستُعيد تعيين ذاكرة التخزين المؤقت بالكامل دون إشعار واضح.


تبديل النموذج: نظرًا لأن التخزين المؤقت يعتمد على مطابقة البادئة، ولكل نموذج تخزينه المؤقت الخاص به. عند تبديل النموذج، سيقوم الطلب التالي بقراءة السجل الكامل مرة أخرى دون أي مطابقة في التخزين المؤقت.


نموذج "Opus plan": يستخدم هذا الإعداد Opus خلال مرحلة التخطيط وSonnet خلال مرحلة التنفيذ. لقد أوصيت به سابقًا في بعض مقاطع الفيديو الخاصة بتحسين الرموز، ولسبب ما. لكن من المهم فهم أن كل تبديل للخطة يُعد في جوهره تبديلًا للنموذج، مما يعني إعادة إنشاء ذاكرة التخزين المؤقت. على المدى الطويل، لا يزال يساعد في إطالة مدة الجلسة، لكنك تحتاج إلى فهم ما يحدث في الخلفية.


يمكنك تحرير CLAUDE.md أثناء الجلسة: لن يُطبق هذا التعديل فورًا، بل سيُطبق عند إعادة التشغيل التالية. لذلك، لن تتأثر الذاكرة المؤقتة الحالية.


لوحة Token المجانية الخاصة بي


اللقطات التي عرضتها سابقًا، تأتي من لوحة تحكم رمزية.



https://github.com/nateherkai/token-dashboard


هذا مستودع GitHub بسيط جدًا. قم بتسليم الرابط إلى Claude Code، وسيقوم بتنفيذ المشروع محليًا على localhost، وسيقرأ جميع سجلات المحادثات السابقة الخاصة بك بدلاً من البدء من حالة فارغة. ستتمكن من رؤية بيانات الإدخال والإخراج وإنشاء ذاكرة التخزين المؤقت وقراءة ذاكرة التخزين المؤقت يوميًا فورًا.


لكن هناك نقطة واحدة يجب الانتباه إليها: هذا لوحة القيادة تُحسب بيانات الرموز على الجهاز المحلي. إذا انتقلت من جهاز كمبيوتر مكتبي إلى جهاز محمول، فلن تكون الأرقام متطابقة تمامًا. كل جهاز لديه مجموعة خاصة به من عرض الإحصائيات.


Summary


يُعد التخزين المؤقت للمحفظة شيئًا يمكن دراسته بعمق. مقال ثاريق يغطي الموضوع بشكل أكثر شمولاً من هذا، وهو يستحق القراءة إذا كنت ترغب في رؤية الصورة الكاملة.


لكنك لا تحتاج إلى فهم جميع التفاصيل لتستفيد منها. ما عليك سوى إتقان 80/20 الأكثر أهمية: تكلفة توكين التخزين المؤقت أقل بعشر مرات من التوكين العادي؛ TTL لـ Claude Code هو ساعة واحدة؛ تغيير النموذج يدمر التخزين المؤقت؛ من الأفضل عادةً إجراء تسليم واضح بين المهام بدلاً من الاستمرار في استخدام جلسة قديمة حتى "تنتهي صلاحيتها".


[رابط الأصل]



انقر لمعرفة الوظائف الشاغرة لدى BlockBeats


مرحبًا بانضمامك إلى المجتمع الرسمي لـ BlockBeats

مجموعة اشتراك تيليجرام: https://t.me/theblockbeats

مجموعة Telegram للتفاعل: https://t.me/BlockBeats_App

الحساب الرسمي على تويتر: https://twitter.com/BlockBeatsAsia

إخلاء المسؤولية: قد تكون المعلومات الواردة في هذه الصفحة قد حصلت عليها من أطراف ثالثة ولا تعكس بالضرورة وجهات نظر أو آراء KuCoin. يُقدّم هذا المحتوى لأغراض إعلامية عامة فقط ، دون أي تمثيل أو ضمان من أي نوع ، ولا يجوز تفسيره على أنه مشورة مالية أو استثمارية. لن تكون KuCoin مسؤولة عن أي أخطاء أو سهو ، أو عن أي نتائج ناتجة عن استخدام هذه المعلومات. يمكن أن تكون الاستثمارات في الأصول الرقمية محفوفة بالمخاطر. يرجى تقييم مخاطر المنتج بعناية وتحملك للمخاطر بناء على ظروفك المالية الخاصة. لمزيد من المعلومات، يرجى الرجوع إلى شروط الاستخدام واخلاء المسؤولية.