مختبر الذكاء الاصطناعي · دليل
ملفات سياق الذكاء الاصطناعي تكذب بصمت: بنيتُ HCS لقياس ذلك
يصبح ملف CLAUDE.md أو ملخّص المشروع خاطئاً بمجرد تغيّر الشيفرة، دون أن ينبّهك شيء. بنيتُ HCS، صيغة مفتوحة المصدر تذكر مصادرها، وتكتشف ما تقادم، وتقيس ما يُفقده الملخّص.
باختصار
- المشكلة: ملفات السياق الموجّهة للذكاء الاصطناعي (
AGENTS.mdوCLAUDE.mdوملخّصات المشاريع) تتقادم دون إنذار، ولا تقول من أين تأتي معلوماتها، ولا أحد يعرف ما الذي فقدته. - HCS (Holographic Context Standard) صيغة مفتوحة وأداة سطر أوامر وخادم MCP، بترخيص MIT. كل معلومة تذكر مصدرها مع بصمة رقمية، والأمر
hcs checkيكتشف ما تغيّر دون أي ذكاء اصطناعي، والأمرhcs scoreيقيس ما يسترجعه النموذج فعلاً. - مقيس لا موعود: على ثلاثة مستودعات عامة اختيرت مسبقاً، أجاب سياق HCS بحجم 2 000 رمز (token) عن 46,7 % من الأسئلة، مقابل 27,8 % لملخّص عادي بالحجم نفسه و10 % لملف README الخاص بالمشروع. ونموذج ثانٍ من عائلة أخرى يؤكّد الفارق.
- ما لم ينجح منشور أيضاً: التحسين الذاتي (
refine) لا يفيد، وتنبيهات التبعيات إنذارات كاذبة في معظمها، وكشف حقن الأوامر يترك نحو نصف الهجمات الجديدة تمرّ. - متاح منذ 23 أكتوبر 2026:
npm install -g @oufrid/hcs-cli، وpip install hcs-formatللنسخة المكتوبة بلغة Python. الصيغة مستقرّة (SPEC 1.0)، والأداة ما تزال تجريبية (0.3).
ما كنت أصطدم به: ملفات تبدو صحيحة
أعمل كل يوم مع وكلاء البرمجة، على مواقعي وعلى تطبيقاتي لأندرويد. ومثل الجميع، أعطيهم ملفات سياق: ملف CLAUDE.md يصف المشروع وقواعده وأوامره ومزالقه. إنها أنجع وسيلة أعرفها، وأشرحها في دليل تحسين سياق الذكاء الاصطناعي، كما تساعد أداة ملف تعليمات الوكيل على كتابة واحد.
لكن لهذه الملفات ثلاثة عيوب صرت أجدها مزعجة:
- تتقادم بصمت. تتغيّر الشيفرة، ويُعاد تسمية أمر، وتتطوّر قاعدة. أما الملف فلا يتحرّك. ويواصل الوكيل تصديق شيء خاطئ، بكل ثقة. ولم ينبّه أحد إلى ذلك.
- لا يُعرف مصدر المعلومة. حين يقول الملف «تُقبل المبالغ المستردّة خلال 14 يوماً»، لا شيء يبيّن أي ملف أو أي دالة يثبت ذلك. ولا سبيل إلى التحقّق بسرعة.
- لا أحد يعرف ما فقده الملخّص. يُكتب الملخّص ليكون مقروءاً. فيحتفظ بالبنية ويُسقط الاستثناءات والقيم الدقيقة والفوارق. ولا تكفي إعادة قراءته: فنحن نقارنه بما نتذكّره، لا بالمصدر.
وليس هذا انطباعاً معزولاً: فالدراسات التي تناولت ملفات AGENTS.md العامة، والمذكورة في وثيقة المقارنة الخاصة بالمشروع (PRIOR_ART.md)، تفيد بأن الانحراف شائع.
الفكرة: ثلاث خصائص في ملف واحد
يقوم HCS على فكرة بسيطة: ينبغي لملف السياق أن يثبت ما يقوله، وينتبه حين يصبح خاطئاً، ويقيس ما يفقده.
- قابل للتتبّع: كل معلومة تذكر مصدرها، دالة أو صنفاً أو عنواناً أو نطاقاً من الأسطر. فيعرف النموذج أين يقرأ بدل أن يخمّن.
- قابل للتحقّق: كل استشهاد يحمل بصمة للنص المستشهد به. يكتشف
hcs check، دون استدعاء أي ذكاء اصطناعي، المعلومات التي تغيّر مصدرها. ويتجاهل مجرد إعادة التنسيق، ويتتبّع الشيفرة التي نُقلت فقط، حتى إلى ملف آخر، ويفشل حين يُحتمل أن يكون المعنى قد تغيّر. لذا يمكنه إيقاف التكامل المستمر. - مقيس: يتضمّن الملف أسئلة اختبار أجوبتها مثبتة حرفياً في المصدر. ويحسب
hcs scoreدرجة أمانة لنموذج معيّن، مع مجال ثقة، ومقارنة بغياب السياق، ونسبة الإجابات التي ضلّل فيها السياقُ النموذجَ.
ويكمل ذلك خادم MCP مدمج: يقرأ النموذج أولاً بضع مئات من الرموز من المعلومات، ثم يفتح المصدر الدقيق لمعلومة ما فقط حين يحتاج إلى تفصيل. وإن كان MCP جديداً عليك، فدليل ربط الذكاء الاصطناعي بأدواتك يشرحه.
ما كان موجوداً من قبل
قبل كتابة أي سطر، بحثت عمّن سبق إلى ذلك. اللبنات موجودة متفرّقة: أدوات تدقيق لملفات AGENTS.md، وأدوات تربط التوثيق بالشيفرة مع بصمة، وطرق لتقييم الملخّصات بالأسئلة، وأدوات لضغط الأوامر، وخرائط للمستودعات.
لا فكرة من أفكار HCS جديدة بمفردها، ووثيقة المقارنة تقول ذلك صراحة. أما ما لم أجده في مكان آخر فهو الجمع بينها في صيغة قابلة للنقل: استشهاد ببصمة مطلوب في كل معلومة، وتوليد يتحقّق من كل اقتباس حرفياً، وتعليق تلقائي على طلبات الدمج يسرد المعلومات المتأثّرة، والوصول إلى المصدر الدقيق عبر MCP. وهذا انطباع من مسح واحد، لا دليل على الغياب.
كيف اختبرته، بنزاهة
في مجال الذكاء الاصطناعي، من السهل نشر رقم مُجامِل. أردت العكس: نتائج يستطيع قارئ متشكّك التحقّق منها. كل القياسات موجودة في تقرير المشروع (bench/REPORT.md)، وكل رقم يحيل إلى نتائجه الخام.
القواعد التي فرضتها على نفسي:
- لا اقتباس مختلَق: حين يجمّع نموذجٌ ملف HCS، يجب أن تقتبس كل معلومة وكل سؤال المصدرَ حرفياً، وإلا حُذفت. وفي التجارب الحقيقية الأولى، احتفظ هذا التحقّق بنسبة 85 إلى 89 % ممّا اقترحته النماذج.
- أسئلة مكتوبة على حدة: كُتبت أسئلة الاختبار انطلاقاً من المصدر وحده، دون رؤية السياق المجمَّع. وإلا لكان الاختبار منحازاً لصالح HCS.
- مجالات ثقة: مع 24 إلى 30 سؤالاً لكل مستودع، تبقى الفوارق غير مؤكّدة. لذا يُعطى كل فرق مع مجاله عند 95 %.
- حَكَم من عائلة أخرى غير عائلة النموذج الذي يجيب.
- تأكيد مسجَّل مسبقاً: نُشر البروتوكول ومعيار النجاح في المستودع قبل أول استدعاء للنماذج على المستودعات الجديدة.
النتيجة الأولى خيّبت أملي
على خمسة مستودعات عامة (kilo وitsdangerous وanyhow وcobra وky)، ومع أسئلة مستقلّة، كان الحكم الأول واضحاً: لم يكن HCS أفضل بشكل قابل للقياس من ملخّص عادي بالحجم نفسه (+6,3 نقاط، بمجال يتضمّن الصفر). تفوّق بفارق كبير على ملفات README الخاصة بالمشاريع، لكن ليس على ملخّص بسيط.
وعند البحث عن السبب، جاء التشخيص من الأرقام نفسها: في سياق من 2 000 رمز، كانت الإحالات إلى المصادر تشغل 31 إلى 39 % من المساحة، وبقيت ملفات كاملة بلا أي معلومة. فأضفت نمط عرض مضغوطاً: المعلومات وحدها، ومعلومة واحدة من كل ملف مصدر بالتناوب.
وبهذا النمط، على المستودعات الخمسة:
| السياق (2 000 رمز) | الأسئلة المُجاب عنها |
|---|---|
| HCS، العرض المضغوط | 43,8 % |
| ملخّص عادي، بالحجم نفسه | 24,7 % |
| دون سياق | 27,4 % |
| README المشروع، مقطوعاً عند الحجم نفسه | 10,4 % |
التأكيد على ثلاثة مستودعات جديدة
المشكلة واضحة: صمّمت العرض المضغوط بعد أن رأيت هذه المستودعات الخمسة. ونتيجة كهذه قد تكون مجرد تكيّف مع البيانات. ومن هنا جاء التأكيد المسجَّل مسبقاً على ثلاثة مستودعات لم تُستعمل من قبل: express وrequests وlogrus.
| السياق (2 000 رمز) | الأسئلة المُجاب عنها |
|---|---|
| HCS، العرض المضغوط | 46,7 % |
| ملخّص عادي، بالحجم نفسه | 27,8 % |
| README المشروع | 10,0 % |
المعيار المحدّد مسبقاً، أي HCS المضغوط ناقص الملخّص، يعطي +18,9 نقطة، بمجال يمتدّ من +7,2 إلى +30,6: أي فوق الصفر بالكامل، فالنتيجة مؤكّدة. ومع نموذج ثانٍ أصغر ومن عائلة أخرى (ministral-14b من Mistral)، يصمد الفارق: +16,1 نقطة على المستودعات الجديدة و+18,8 على المستودعات الخمسة الأولى.
وعلّمتني نتيجة أخيرة شيئاً: حين يُسمح للنموذج بقراءة المصدر مرة واحدة قبل الإجابة، يكسب نحو 20 نقطة، أيّاً كان السياق الأولي. قراءة المصدر الصحيح أهمّ من شكل الملخّص. ويبلغ HCS ذلك بقراءات أقل، لأن إحالاته تشير إلى الشيفرة الدقيقة، لكن الأفضلية ليست ذات دلالة إحصائية في هذا النمط.
حدود هذه الأرقام
- نموذج واحد (Gemini 3.8 Flash) هو من جمّع الملفات وكتب الأسئلة والملخّصات. وقد يحابي ما كُتب بأسلوبه.
- الأسئلة مولَّدة، من 24 إلى 30 لكل مستودع، ولم تُختبر سوى ميزانية واحدة (2 000 رمز).
- في المشاريع المشهورة جداً، يجيب النموذج دون سياق أحياناً بشكل أفضل بفضل ذاكرته عن الشيفرة العامة. والشيفرة الخاصة لا تمنحه هذه الأفضلية، لكن هذه الحالة لم تُقس.
- تبقى نسب النجاح متواضعة: فالأسئلة تتعلّق بتفاصيل دقيقة (أسماء وقيم ورسائل)، و2 000 رمز لا تغطّي إلا جزءاً صغيراً من المصدر.
ما لم ينجح
أنشر هذه الإخفاقات بالعناية نفسها التي أنشر بها النجاحات، لأنها تبيّن أين تقع الحدود.
- التحسين الذاتي لا يُعمَّم. يضيف الأمر
hcs refineمعلومات لسدّ الأسئلة التي أُخفق فيها. فيرفع الدرجة على الأسئلة التي يحسّن من أجلها، حتى 100 % على مستودع HCS نفسه. لكن على الأسئلة المحجوزة جانباً، انخفضت الدرجة من 50,0 % إلى 40,9 %، مع إجابات خاطئة أكثر، ولم تتحرّك على مستودع ثانٍ (44,4 %). تبقى الوظيفة متاحة كتجربة، وملف README يقول إنها لم تُفد. - تنبيهات التبعيات تُكثر الإنذارات الكاذبة. قد تصبح معلومة عن دالة ما خاطئة حين تتغيّر دالة تستدعيها. يستطيع HCS الإشارة إلى ذلك، لكن على تاريخ المشروع نفسه، كان 17 تنبيهاً من أصل 18 بلا داعٍ.
- كشف حقن الأوامر مصفاة لا ضمانة. بعد الضبط، يلتقط 35 هجوماً من أصل 39 في مجموعة الاختبار. وعلى مجموعة هجمات حُفظت جانباً ولم تُستعمل قطّ في الضبط، لا يلتقط إلا 7 من 15. فتوقّع أن يمرّ نحو نصف الهجمات الجديدة. والتعليمات المرسلة إلى النموذج، التي تنصّ على أن المعلومات ليست أوامر أبداً، هي خطّ الدفاع الثاني.
- النماذج المحلية الصغيرة تقيس بشكل سيئ. نموذج من 7 مليارات معامل يعمل على المعالج كان يجيب «لا أعرف» حتى حين يكون الجواب في سياقه. إنها مفيدة لتشغيل السلسلة دون حصص، لا لإنتاج الأرقام.
- العروض المجانية لا تكفي لكل شيء. جرت التجارب الأولى على العروض المجانية لـ Gemini وGroq، ويتعامل HCS مع حصصها: فيستأنف من حيث توقّف. لكن العرض المجاني لـ Gemini يسمح بنحو 20 طلباً يومياً لكل نموذج، واستعمل الاختبار الرئيسي مفتاحاً مدفوعاً. أما النموذج الثاني في التأكيد فقد اشتغل على Mistral.
كيف بُني
صمّمتُ HCS، ووضعت قواعده، وقرّرت ما يُنشر. أما الشيفرة فقد كُتبت مع وكيل برمجة، هو Claude Code، من أول إيداع (commit) في 21 أكتوبر 2026 إلى الإصدار في 23 أكتوبر.
الدرس الذي أستخلصه يصلح لكل عمل مع وكيل: السرعة لا قيمة لها دون قواعد مكتوبة. يحتوي المستودع على ملف CLAUDE.md يفرض، من بين أمور أخرى، أن يحيل كل رقم منشور إلى نتائج خام، وأن يُوسم كل اختبار لم يُجرَ بذلك، وأن تُكتب الانحيازات بجانب النتائج. وهذا الانضباط هو ما أظهر النتيجة الأولى المخيّبة بدل إخفائها، وما قاد إلى التأكيد المسجَّل مسبقاً. الوكيل ينتج ما تطلبه منه. فإن طلبت أدلّة أنتجها، وقد تناقض ما كنت تأمله.
ويطبّق المشروع منهجه على نفسه: يحتوي مستودعه على ملف project.hcs يصف المشروع ذاته، ويُتحقَّق منه تلقائياً عند كل تعديل.
جرّبه في 5 دقائق
تحتاج إلى Node.js بالإصدار 18.17 أو أحدث. ولا تعتمد الأداة على أي حزمة أخرى.
- التثبيت:
``bash npm install -g @oufrid/hcs-cli ``
- شاهد التحقّق وهو يعمل، دون مفتاح ذكاء اصطناعي، على مستودع HCS نفسه:
``bash git clone https://github.com/Oufrid/HCS.git && cd HCS hcs check project.hcs ``
- جمّع سياق مشروعك الخاص، بمفتاح API مجاني (Gemini أو Groq) أو بنموذج محلي عبر Ollama:
``bash export GEMINI_API_KEY=... hcs models gemini hcs compile --model gemini:<model> --rpm 8 -o project.hcs ``
- اربطه بوكيلك عبر MCP، مثلاً في Claude Code:
``bash claude mcp add hcs -- hcs serve project.hcs ``
تنبيه: التجميع والقياس يرسلان شيفرتك إلى المزوّد الذي تختاره، وبعض العروض المجانية قد تستعمل البيانات المرسلة. لا ترسل إلا شيفرة يحقّ لك مشاركتها، أو استعمل نموذجاً محلياً. أما التحقّق (check) والعرض وخادم MCP فلا تتّصل بأي ذكاء اصطناعي.
تفاصيل الأوامر والإعدادات وطرق الربط موجودة في صفحة مشروع HCS.
ما التالي، وكيف تساعد
جُمّدت الصيغة في الإصدار 1.0: ستبقى الملفات المكتوبة اليوم مقروءة، وكل تطوير يمرّ عبر مقترح علني (RFC). أما الأداة فما تزال تجريبية وستتغيّر.
أكثر ما سيساعدني:
- نتائج على مشاريع حقيقية، ولا سيما الخاصة منها، حيث لا يستطيع النموذج الاعتماد على ذاكرته عن الشيفرة العامة.
- حالات للغات برمجة أخرى: تحديد مواضع الدوال تقريبي ولا يغطّي كل الصيغ.
- ملاحظات على الصيغة، وتصحيحات لوثيقة المقارنة إن كانت أداة ما تقوم بالمهمة أفضل.
كل شيء يجري على المستودع: github.com/Oufrid/HCS. وإن أردت تطبيق هذا النهج على مشروع مقاولة، يمكنك أيضاً التواصل معي.
الأسئلة الشائعة
هل يحلّ HCS محلّ AGENTS.md أو CLAUDE.md؟
لا، بل يكمّلهما. يمكنك الإبقاء على ملفاتك وإضافة ملف .hcs بجانبها. بل إن الأمر hcs audit يفحص ملف AGENTS.md موجوداً: يشير إلى الإحالات المعطوبة، ويستطيع قياس ما ينقله فعلاً بأسئلة ملف HCS.
هل يضمن ملف HCS صالح أن كل شيء صحيح؟
لا. يضمن أن كل اقتباس وُجد في المصدر لحظة التجميع، وأن المصدر المستشهد به لم يتغيّر منذ ذلك الحين. أما إعادة الصياغة غير الأمينة لاقتباس صحيح، أو المصدر الخاطئ في حدّ ذاته، أو التغيير في موضع آخر من الشيفرة يجعل معلومة ما خاطئة، فلا تُكتشف.
هل تغادر شيفرتي جهازي؟
ليس عند التحقّق أو العرض أو الإحصاءات أو تشغيل خادم MCP، فهي لا تستدعي أي نموذج. أما التجميع والقياس فيرسلان الشيفرة أو السياق إلى المزوّد الذي تختاره. ومع نموذج محلي عبر Ollama لا يخرج شيء، لكن النماذج الصغيرة تعطي نتائج ضعيفة.
هل هو جاهز للإنتاج؟
الصيغة نعم: فهي مستقرّة في الإصدار 1.0. أما الأداة فهي في الإصدار 0.3 وتجريبية: التحقّق دون ذكاء اصطناعي وخادم MCP مكتملان ومختبَران، وتجتاز نسخة ثانية مكتوبة بلغة Python مجموعة اختبارات المطابقة نفسها. وتعمل الوظائف التي تستعمل الذكاء الاصطناعي، لكن نتائجها تتوقّف على النموذج، وبعضها، مثل refine، لم يُثبت جدواه.