الأكاديمية ← دليل المطوّرتوثيق رسمي · شرح عربي واضح

Context Compression and Caching

Context Compression and Caching

للمطور21 دقيقة3 أسئلة2026-08-09
الفكرة في دقيقة

ابدأ بالمعنى، ثم انتقل إلى التفاصيل.

هذا الدرس يشرح Context Compression and Caching ضمن موضوع داخل Hermes وكيف يوسّعه المطور. ستعرف ما الذي يفعله هذا الجزء، متى تحتاجه، وما أصغر خطوة آمنة للتأكد أنه يعمل.

إن كنت مبتدئًا

إن كنت جديدًا: لا تحفظ الأسماء. ركّز على ثلاثة أسئلة: ما المشكلة التي يحلها هذا الجزء؟ ما البيانات أو الصلاحيات التي يحتاجها؟ وكيف أعرف أن النتيجة صحيحة؟

للتطبيق العملي

للتطبيق: اقرأ المثال الأول، حدّد ما سيغيّره، نفّذه على بيانات تجريبية، ثم قارن الناتج بما وعد به المصدر.

للمتخصص

للمتخصص: راجع Pluggable Context Engine، Dual Compression System، 1. Gateway Session Hygiene (85% threshold)، ثم افحص حالات الفشل والتوافق مع إصدارك.

ما الذي تحتاجه قبل البدء؟

اعرف Python وGit وبنية مشروع برمجي قبل تعديل الكود.

ماذا ستعرف؟

نتيجة واضحة قبل أن تقرأ.

  • تفهم Context Compression and Caching من دون افتراض معرفة سابقة.
  • تفرّق بين الوصف والمعلومة التي تحتاج إلى اختبار في بيئتك.
  • اقرأ الأمر الأول وحدد المدخلات والمخرجات قبل نسخه.
مصطلحات هذا الدرس

تعريفات قصيرة قبل التفاصيل.

Provider
الخدمة التي تشغّل النموذج أو توفّر الوصول إليه والمصادقة الخاصة به.
Gateway
العملية التي تربط Hermes بقنوات مثل Telegram وDiscord وتدير وصول الرسائل.
Session & memory
الجلسة تحفظ سياق المحادثة، والذاكرة تحفظ الحقائق المنتقاة التي تستحق البقاء.
خريطة الموضوع

ما الذي يقوله المصدر، وبأي ترتيب؟

  1. 01
    Pluggable Context Engine

    ابدأ بهذا القسم لتفهم الفكرة أو البنية الأساسية.

  2. 02
    Dual Compression System

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  3. 03
    1. Gateway Session Hygiene (85% threshold)

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  4. 04
    2. Agent ContextCompressor (50% threshold, configurable)

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  5. 05
    Configuration

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  6. 06
    Parameter Details

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  7. 07
    In-place compaction (single stable session id)

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  8. 08
    Per-model threshold overrides

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  9. 09
    Codex gpt-5.5 threshold autoraise

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  10. 10
    Codex app-server thread compaction

    اختم بهذا القسم لتفحص النتيجة والحالات الخاصة.

أمثلة من الصفحة الرسمية

انسخ بعد أن تفهم الأثر.

context: engine: "compressor" # default — built-in lossy summarization engine: "lcm" # example — plugin providing lossless context
┌──────────────────────────┐ Incoming message │ Gateway Session Hygiene │ Fires at 85% of context ─────────────────► │ (pre-agent, rough est.) │ Safety net for large sessions └─────────────┬────────────┘ │ ▼ ┌──────────────────────────┐ │ Agent ContextCompressor │ Fires at 50% of context (default) │ (in-loop, real tokens) │ Normal context management └──────────────────────────┘
compression: enabled: true # Enable/disable compression (default: true) threshold: 0.50 # Fraction of context window (default: 0.50 = 50%) # model_thresholds: # Per-model threshold overrides (substring match, # "glm-5.2": 0.40 # longest key wins). See "Per-model threshold # "claude-sonnet": 0.35 # overrides" below. target_ratio: 0.20 # How much of threshold to keep as tail (default: 0.20) protect_last_n: 20 # Minimum protected tail messages (default: 20) min_tail_user_messages: 1 # Real user messages guaranteed in the
تطبيق الآن

اقرأ الأمر الأول وحدد المدخلات والمخرجات قبل نسخه.

طابق أي أمر مع إصدار Hermes المثبّت، وراجع الملفات والحسابات التي قد يصل إليها، واستخدم بيانات غير حساسة في أول اختبار. إذا اختلف الشرح عن المصدر، فالمصدر الرسمي هو المرجع النهائي.

اختبار الفهم

ثلاثة قرارات قبل علامة الاكتمال.

1. ما المرجع النهائي عند تغيّر معلومات «شرح Context Compression and Caching»؟
2. ما أفضل طريقة لتطبيق هذا الدرس؟
3. ماذا تفعل قبل خطوة قد تعدّل ملفات أو حسابًا خارجيًا؟