انتقل إلى المحتوى الرئيسي

جارٍ تحميل المختبر المرئي…

#context-memoryالذكاء الاصطناعي الوكيلي

نافذة السياق وذاكرة العميل: عدّ الرموز، الاقتطاع، التلخيص، الفهرسة.

ما ستُجرّبه

  1. مرحبًا بك في قناة #context-memory. لا يملك نموذج اللغة الكبير (LLM) ذاكرة دائمة: في كل استدعاء تُعيد تقديم كل شيء يحتاج إلى معرفته داخل نافذة السياق، وهي طابور رموز محدود الطول (8k أو 128k أو 1M حسب النموذج). العميل الذي يعمل لفترة يملؤها بسرعة: تعليمات system، وأمثلة few-shot، وسجل محادثات user وassistant، ومشاهدات الأدوات، ووثائق RAG. على الشاشة: الشريط = نافذتك، والخطّ الأبيض = حدّ النموذج، والمقياس أعلاه = نسبة الامتلاء، وفي الأسفل الذاكرة الخارجية (وثائق مفهرسة يمكنك استرجاعها عند الطلب). ستملأ النافذة الآن، ثم تضغطها.
  2. لنبدأ بنموذج صغير. اكتب /model llama-3: ينخفض الحدّ إلى 8000 رمز. في النماذج ذات النافذة الصغيرة، كل رمز مكلف — وهنا يمكنك رؤية استراتيجيات إدارة السياق في العمل.
  3. أضف رسالة مستخدم. اكتب /add user A long test user message with some explanation: تظهر كتلة نيلية ويرتفع المقياس.
  4. أمثلة few-shot هي أزواج سؤال/جواب توضع في بداية السياق لإظهار الصيغة المتوقّعة. اكتب /few-shot 3: تظهر ثلاث كتل خضراء دفعة واحدة.
  5. الآن دور RAG (الاسترجاع المعزّز للتوليد). بدلًا من حشو كل شيء في السياق، تفهرس الوثائق في ذاكرة خارجية ولا تستدعي منها إلا الأكثر صلة في كل استعلام. اكتب /rag REST API documentation: تُضاء الوثائق الثلاث الأقرب (بحسب تشابه جيب التمام على المتّجهات embeddings) في الشبكة السفلية وتُضاف إلى السياق باللون البنفسجي.
  6. بدأت النافذة تمتلئ. أولى استراتيجيات الضغط: النافذة المنزلقة (sliding window). اكتب /truncate sliding: تختفي أقدم رسائل user/assistant، ويُحافَظ على كتل system وfew-shot.
  7. بديل أدقّ: التلخيص بدل الحذف. اكتب /summarize 3: تندمج أقدم ثلاث كتل user/assistant في كتلة ملخّص واحدة تنخفض تكلفتها إلى نحو ربع الرموز الأصلية.
  8. وماذا لو امتلكت 1M من السياق؟ اكتب /model gemini-flash: ينفجر الحدّ، فيبدو كل ما أضفته صغيرًا في الشريط، وينخفض المقياس قرب الصفر. لكن انتبه إلى التكلفة: سياق بحجم 1M رمز بسعر يقارب 0.30$ لكل مليون رمز إدخال يعني نحو 0.30$ لكل استدعاء مقابل السياق وحده.
  9. دورك الآن. جرّب /strategy summary لتفعيل التلخيص التلقائي عند تجاوز الحدّ، أو /purge-memory لإفراغ فهرس RAG، أو /reset للبدء من جديد. تكشف قناتا #tool-calling (مجّانية) و#planning-reflection (بريميوم) ما يأتي لاحقًا: كيف يختار العميل أدواته ويخطّط لخطواته مع مراعاة سياقه.

أوامر القناة

  • /model <gpt-4o|claude-sonnet|gemini-flash|llama-3>بدّل النموذج، وبالتالي حجم نافذة السياق.
  • /add <system|user|assistant|observation> <text>أضِف كتلة إلى السياق (رسالة، مشاهدة، تعليمات system).
  • /few-shot <n=1..5>أضِف n من أمثلة few-shot (أزواج سؤال/جواب).
  • /rag <query>استرجع أقرب 3 وثائق من الذاكرة الخارجية وأضِفها إلى السياق.
  • /truncate <sliding|system-only>احذف أقدم الرسائل (يُحتفظ بما هو ثابت).
  • /summarize <n=2..5>استبدل أقدم n من كتل user/assistant بملخّص (نحو ربع الرموز).
  • /strategy <sliding|summary|none>حدّد الاستراتيجية المطبَّقة تلقائيًّا عند تجاوز الحدّ.
  • /purge-memoryأفرغ الذاكرة الخارجية (RAG). تبقى كتل rag الموجودة في السياق.
  • /resetأعِد تهيئة السياق (يُحتفظ بالنموذج الحالي).

المسرد

نافذة السياق (context window)
طابور الرموز الذي يقرؤه نموذج اللغة في كل استدعاء: تعليمات system، وسجل المحادثة، ومخرجات الأدوات، ووثائق RAG. يحدّد المعمار حجمها (8k لـ llama-3، و128k لـ GPT-4o، و200k لـ Claude، و1M لـ Gemini Flash). كل ما لا يدخل يكون غير مرئي للنموذج في ذلك الاستدعاء.
الرمز (token)
الوحدة التي يقسّم بها نموذج اللغة النصّ (عادةً كلمة فرعية BPE). في الإنجليزية يعادل الرمز نحو 0.75 كلمة في المتوسط — ومن هنا التقريب الشائع tokens ≈ words × 1.3. الرموز هي وحدة تسعير واجهات API (بالمليون رمزًا إدخالًا وإخراجًا).
التحليل الرمزي مقابل عدّ الرموز (tokenization vs counting)
التحليل الرمزي يقسّم النصّ إلى رموز دقيقة عبر مفردات مُتعلَّمة (BPE، SentencePiece، tiktoken). العدّ قد يكون دقيقًا (عبر محلّل النموذج) أو تقريبيًّا (words × 1.3). قناة #tokenization تشرح الخوارزمية بالتفصيل؛ هنا نستعمل التقريب للحفاظ على الخفّة.
النافذة المنزلقة (sliding window)
استراتيجية حذف: عند امتلاء النافذة، تُلغى أقدم رسائل user/assistant مع الحفاظ على تعليمات system وأمثلة few-shot. سريعة ومجّانية، لكن المعلومات المحذوفة تضيع بالنسبة للنموذج. يعتمدها Claude Code وCursor لإدارة الجلسات الطويلة.
التلخيص (summarization)
بديل للاقتطاع: بدلًا من حذف الكتل القديمة، تطلب من نموذج اللغة تلخيصها، وتستبدل الأصل بالملخّص (نحو ربع الرموز). المعلومات مضغوطة لا مفقودة. الثمن: استدعاء إضافي لنموذج اللغة، وبعض الخسارة في الدقّة.
الاسترجاع المعزّز للتوليد (RAG)
بدلًا من حشو كل شيء في السياق، تُفهرَس الوثائق في قاعدة بيانات متّجهية (embeddings)، وفي كل استعلام تُحمَّل أعلى k وثيقة من حيث الصلة (تشابه جيب التمام) فقط. هذا هو الحلّ الرئيسي لمحدودية طول السياق. تفاصيله في قناة #rag (بريميوم).
المتّجه الدلالي (embedding)
تمثيل النصّ كمتّجه في فضاء عالي الأبعاد (عادةً 384 إلى 3072). نصّان بمعنى متقارب يعطيان متّجهين متقاربين. نستعمل هنا embedding تعليميًّا حتميًّا (بحجم 8، مشتقًّا من المفردات) — تبقى آلية cosine-similarity ← top-k وفيّة للنماذج الحقيقية.
تشابه جيب التمام (cosine similarity)
مقياس القرب بين متّجهَين، يُحسب بجيب تمام الزاوية بينهما: a · b / (‖a‖ · ‖b‖). محصور في [−1, 1]: 1 = متطابقان، 0 = متعامدان، −1 = متعاكسان. هو العملية الأساسية في RAG: يرتّب الوثائق المفهرسة حسب صلتها بالاستعلام.
الذاكرة العاملة مقابل طويلة الأمد (working vs long-term memory)
الذاكرة العاملة = ما يوجد داخل نافذة السياق في الاستدعاء الحالي (فورية، مكلفة، محدودة). الذاكرة طويلة الأمد = ما يُفهرس في قاعدة بيانات متّجهية خارجية ويُستدعى عبر RAG (دائمة، شبه لامحدودة، لكنها تحتاج إلى استعلام جيّد). العميل الفعّال يجمع بينهما.
التكلفة لكل مليون رمز (cost per million tokens)
وحدة تسعير واجهات LLM. في 2026 يكلّف GPT-4o نحو 2.50$ لكل مليون رمز إدخال؛ وClaude Sonnet نحو 3$؛ وGemini Flash نحو 0.15$. هذا هو السبب الاقتصادي لإدارة السياق: سياق أكبر بعشر مرّات = استدعاء أغلى بعشر مرّات. عميل يعمل 20 مرّة بسياق 100k رمز يكلّف أكثر من تذكرة سينما.

قنوات أخرى في الذكاء الاصطناعي الوكيلي

  • #react-loopحلقة ReAct لدى الوكيل: فكرة ← فعل ← ملاحظة، مباشرةً.
  • #tool-callingاستدعاء الأدوات (function calling / MCP): الـJSON الذي يجعل النموذج LLM يفعل.
  • #slash-commandsأوامر الشرطة المائلة، على غرار Claude Code / Cursor: قوالب، وسائط، تسلسل.
  • #context-memoryنافذة السياق وذاكرة العميل: عدّ الرموز، الاقتطاع، التلخيص، الفهرسة.
  • #planning-reflectionالتخطيط والتأمّل والتصحيح الذاتي: من 60% إلى 90% نجاحًا.
  • #multi-agentsالعملاء المتعدّدون: planner وworkers وverifier. رسم بياني (DAG) يتفوّق على العميل الأحادي.