الأساسيات في الداخل، وكل شيء آخر على بُعد استدعاء واحد
كان وولفيش يُحمِّل موجه النظام مقدَّمًا: ملفات ذاكرة كاملة، وتفريغ حلقات يومين، وكتالوج نثري للأدوات بحجم 16 ألف رمز. إعادة تصميم السياق الرشيق (v1.0.203) تقلب ذلك. الموجه الآن يحمل الأساسيات فقط بالإضافة إلى فهرسين مُدمجين — فهرس القدرات وخريطة الذاكرة — والنموذج يسترجع كل شيء آخر بالأدوات، عند الطلب، في أجزاء من الثانية. موجه النظام لمحادثة جديدة هو ~5,000 رمز (كان ~44,000). أضف مخططات الأدوات الأساسية (~4 آلاف) فيكلف الطلب الجديد ≈9.4 ألف رمز مقابل ~94 ألفًا سابقًا — تخفيض بمقدار 10×.ماذا يحتوي الموجه الجديد
الأقسام الشرطية تظهر فقط عندما تنطبق:
<variables>— متغيراتك المُعرَّفة فيconfig.json(فقط عندما تكون قد عرَّفت أيًا منها)- طبقة الدور — تعليمات القائد/الوكيل في وضع سير العمل، متضمّنةً كتالوج
<workflow_models>لدى القائد بالنماذج القابلة للإطلاق <channel>— قواعد تنسيق القناة (مثل طبقة “بدون Markdown” في WhatsApp)<local_model>— طبقة صدق صغيرة للنماذج المحلية (Ollama): الاعتراف عند تجاوز العمق، واقتراح نموذج أقدر، مع الامتثال الكامل إذا أصرّ المستخدم. لا شيء يُحجب — النماذج المحلية تحصل على نفس السياق الرشيق، ومجموعة الأدوات الأساسية الكاملة، وخريطة الذاكرة، واكتشاف الأدوات مثل النماذج السحابية.
ما الذي اختفى
أربعة أشياء حُذفت من تجميع السياق:
لا شيء من تلك المعلومات ضاع. كلها تعيش على القرص، مُفهرَسة بواسطة cortex، على بُعد استدعاء أداة واحد — انظر أدوات الاسترجاع.
اقتصاديات الرموز
مقاسة فعليًا، لا مُتوقَّعة:
- أتمتة تعمل كل ساعة انتقلت من 96,442 رمز إدخال (0.019/تشغيلة).
- بادئة الموجه ثابتة البايتات، ما يُحقق ~99% إصابات في ذاكرة الموجه المؤقتة لدى المزود مقاسة عبر 50 محادثة.
- أسوأ حالة — تفعيل أثقل 10 قدرات دفعة واحدة — هي أساس ~9.6 ألف + تفعيلات ≈ 41.5 ألف رمز، ما زال أقل من نصف الحد الأدنى القديم.
- خريطة الذاكرة تتجدد مرة واحدة في اليوم التقويمي وتُقرِّب الأعداد إلى فئات خشنة، فلا تتقلب بين الأدوار.
- العدادات الحية (رقم التكرار، الأدوات المستدعاة) تركب الذيل المتطاير الصادر بدلاً من موجه النظام.
- تفعيل الأدوات محصور بالمحادثة — تحميل
githubفي تشغيلة نبض قلب لا يُبطل أبدًا ذاكرة موجه محادثة حية.
فهرس القدرات
بدلاً من شحن مخطط كل أداة، يسرد قسم<capabilities> كل قدرة مُثبَّتة — بما فيها خوادم MCP — في سطر واحد لكل منها:
[loaded] تُميِّز القدرات التي أدواتها قابلة للاستدعاء الآن (المجموعة الأساسية بالإضافة إلى أي شيء فُعِّل في هذه المحادثة)؛ كل شيء آخر يُحمَّل عند الطلب عبر tool_search أو tool_activate، وتصبح أدواته قابلة للاستدعاء في نفس الدور.
بعد تجاوز 60 قدرة، يتقلص الباقي غير المُحمَّل إلى عدد مُجمَّع (…plus 23 more capabilities (187 tools) — tool_search finds any of them)، لذا فإن كلفة الفهرس في الموجه هي O(1) بعدد القدرات المُثبَّتة — يمكنك تثبيت مئة خادم MCP دون أن ينمو الموجه.
انظر نظرة عامة على القدرات لكيفية عمل الاكتشاف والتفعيل والمجموعة الأساسية.
خريطة الذاكرة
قسم<memory_map> يُخبر النموذج بما هو موجود ليُسترجع — أبدًا لا المحتوى نفسه:
خريطة الذاكرة خريطة، لا الأرض نفسها. عدد “~150 سجل حلقة” يُخبر النموذج بوجود تاريخ يستحق البحث — لكنه لا يُغني أبدًا عن استرجاع المحتوى الفعلي.
الاسترجاع بدلاً من الحقن
عقد التشغيل (agents.core.md) يُعلِّم النموذج معاملة نافذة سياقه كـ مجموعة عمل رشيقة: ما في الموجه هو الأساسيات، لا مدى ما يعرفه. الاستدعاء تقوده نية رسالتك، دون طلب صريح:
- الإشارات المُعرَّفة — “أرسل لي خطة الرحلة”، “ذلك الملف”، “مثل المرة الماضية” — تعني أنك تعرف أنه يملكها. يبحث أولًا.
- رائحة المهمة المتكررة — “أرسل إيميلًا إلى سارة” — تُحفِّز بحثًا سريعًا عن حالات سابقة: قد يكون هناك نمط أو قالب راسخ لإعادة استخدامه.
- التفضيلات — يفحص خلاصة التفضيلات المُتعلَّمة في الموجه، ثم يبحث قبل التخمين.
- مهام الحاضر الصِّرف — الطقس، عملية حسابية — لا تحتاج استدعاءً. يتصرف مباشرة.
conversation_read — انظر ضغط السياق.
أدوات الاسترجاع
المرجع الكامل لـ memory_search / memory_get / conversation_read.
نظرة عامة على القدرات
كيف يعمل اكتشاف الأدوات ونظام القدرات.
ضغط السياق
كيف تبقى المحادثات الطويلة ضمن نافذة السياق.
عديم الحالة بالتصميم
لماذا يحمل كل طلب المحادثة الكاملة.