شاهد ما يراه النموذج اللغوي بالضبط
لقطات التصحيح هي أكثر أداة تصحيح مفيدة في وولفيش. تُظهر لك بالضبط موجه النظام الذي جُمّع وأُرسل إلى النموذج اللغوي في كل دور — بدون تجريد، بدون تلخيص، النص الحرفي.الموقع
prefrontal.buildContext() في كل دور. اسم الملف هو الطابع الزمني بصيغة YYYY-MM-DD_HH-MM-SS.mmm (بدقة الميلي ثانية)، لذا فإن الترتيب الأبجدي هو الترتيب الزمني.
لقطات التصحيح تتناوب: يحتفظ مجلد
.debug/ بأحدث 50 لقطة ويحذف الأقدم منها. إذا كنت بحاجة للاحتفاظ بواحدة، انسخها خارج المجلد.ما بداخلها
موجه النظام رشيق بالتصميم — موجه المحادثة الجديدة يبلغ نحو 5,000 رمز. يحمل الأساسيات فقط؛ فالذاكرة والسجل والملفات وكتالوج الأدوات الكامل مفهرسة على القرص وتُسترجع عند الطلب (memory_search، tool_search)، ولا تُفرَّغ في الموجه أبداً. كل لقطة تحتوي على:
- الترويسة — الطابع الزمني، الرموز المقدّرة، ميزانية التجميع، وقائمة الأقسام المُضمّنة
- الرسالة — رسالة المستخدم التي بُني هذا السياق من أجلها
- المصادر — كل ملف غذّى الموجه، مع فئته وكلفته التقريبية بالرموز
- الموجه — موجه النظام الكامل المُجمّع، حرفياً
تُلحق طبقات شرطية عند تفعيلها: الدور الوظيفي (
<workflow_mode> لقائد سير العمل — متضمّنةً كتالوج <workflow_models> بالنماذج القابلة للإطلاق — و<workflow_agent> للوكلاء)، وتنسيق <channel> (واتساب)، و<local_model> (طبقة الصدق للنماذج المُشغَّلة محلياً).
سجل المحادثة ليس جزءاً من موجه النظام — فهو ينتقل في مصفوفة الرسائل، والمحادثات الطويلة تُعاد كملخص متدحرج بالإضافة إلى الذيل الحرفي.
قراءة لقطة تصحيح
إليك مثال مُشرح:ما الذي تبحث عنه
قدرة مفقودة؟
قدرة مفقودة؟
تحقق من قسم
<capabilities>. كل قدرة مثبّتة ينبغي أن يكون لها سطر واحد هناك — [loaded] تعني أن مخططات أدواتها أُرسلت مع الطلب؛ وأي شيء آخر يُحمّل عند الطلب عندما يستدعي النموذج tool_search أو tool_activate (أو يستدعي إحدى أدواتها مباشرة، وهو ما يفعّل القدرة تلقائياً).إذا كانت قدرتك غائبة عن الفهرس كلياً، فقد فشل تحليل ملف SKILL.md الخاص بها — تحقق من الواجهة الأمامية (frontmatter). وإذا كانت مُدرجة لكن النموذج لا يختارها أبداً، فاجعل حقول name وdescription وtriggers أكثر وصفية: tool_search يطابق بناءً على هذه المصطلحات. ولإبقاء قدرة محمّلة دائماً، أضفها إلى pinnedCapabilities في config.json.النموذج لم يتذكر شيئاً كان ينبغي أن يعرفه؟
النموذج لم يتذكر شيئاً كان ينبغي أن يعرفه؟
محتوى الذاكرة لا يُحقن في الموجه أبداً — قسم
<memory_map> يخبر النموذج فقط بما هو موجود. الاسترجاع يحدث عندما يستدعي النموذج memory_search / memory_get / conversation_read أثناء الدور.تحقق من قسم <memory_map> أولاً: إذا كان المصدر المعني (الحلقات، المعرفة، المحادثات) يُظهر سجلات في نطاق التواريخ الصحيح، فالبيانات مفهرسة وكان البحث سيجدها — النموذج ببساطة لم يبحث. وإذا لم تُظهر الخريطة شيئاً لذلك المصدر، فتحقق من الملفات الأساسية تحت brain/.سلوك غير متوقع؟
سلوك غير متوقع؟
اقرأ قسمي
<identity> و<prefrontal> بعناية. يتبع النموذج اللغوي هذه التعليمات حرفياً. إذا كان السلوك غير متوقع، فقد تكون التعليمات غامضة أو متناقضة. عدّل soul.md أو agents.md للتوضيح — ولا تعدّل agents.core.md أبداً، فهو مُدار من التطبيق ويُستبدل عند كل تشغيل. ملفك agents.md يفوز في أي تعارض.موجه أكبر من المتوقع؟
موجه أكبر من المتوقع؟
تُظهر الترويسة
estimated tokens مقابل ميزانية التجميع. الموجه الجديد ينبغي أن يكون حول 5 آلاف رمز. إذا كان أكبر بكثير، فابحث عن مصدر متضخم في قائمة ## sources — ملف soul.md أو user.md أو agents.md منتفخ يظهر في كل موجه. فهرس <capabilities> يبقى محدوداً من تلقاء نفسه (ينهار إلى عدّادات مجمّعة بعد 60 قدرة)، وقسم <memory_map> هو جذع ثابت الحجم.لاحظ أن الموجه ليس سوى جزء من الطلب: مخططات أدوات القدرات الأساسية والمفعّلة تنتقل في معامل tools الخاص بالواجهة البرمجية، وسجل المحادثة ينتقل في مصفوفة الرسائل.أداة غير متاحة؟
أداة غير متاحة؟
مخططات الأدوات ليست نصاً في الموجه — تُرسل عبر معامل tools لدى المزود لـالقدرات الأساسية بالإضافة إلى ما فعّلته هذه المحادثة (حتى 10 تفعيلات غير أساسية، تُزاح بأسلوب LRU بشكل غير مرئي). فهرس
<capabilities> يخبرك بما هو [loaded].إذا واجه النموذج خطأ “أداة غير معروفة”، فهذا يعني أنها لم تُحمّل بعد، لا أنها معطّلة — الخطأ نفسه يوجّه النموذج إلى tool_search. الأداة المعروفة غير المحمّلة تعمل مباشرة عند استدعائها. وإذا لم تظهر أداة على الإطلاق، فتحقق من تصريحات tools: في SKILL.md الخاص بقدرتها ومن صادرات plugin/index.mjs.