كل المقالات
ملاحظات ياسر الدبيخيتحرير وتدقيق كلود

أعراف لا يعلّمها أحد: الطبقة الجديدة التي يبنيها عصر الـ AI

لا أحد درّسني الـ Staging ولا الـ Changelog — تعلّمتها من التجربة حتى صارت عُرفاً بين المبرمجين. واليوم أرى الطبقة نفسها تتشكّل من جديد أمام أعيننا، لكن لعصر الـ AI.

الخلاصة في سطور

أعراف لا يعلّمها أحد — علامة v12code على خلفية داكنة

ملاحظة قبل القراءة: هذا المقال في أصله أفكار وملاحظات صوتية سجّلتها بنفسي — تولّى «كلود» كتابتها وتحريرها والتحقّق من أرقامها وإضافة مصادرها. الجوهر رأيي أنا؛ والصياغة شراكة بيني وبينه. أنشر الفكرة وهي حيّة بدل أن أنتظرها حتى تكتمل.

أحد التطبيقات التي أديرها له نسخة كاملة ثانية. ليست جزءاً من الموقع ولا صفحة تجريبية — تطبيق كامل: دومين مستقل، قاعدة بيانات مستقلة، كل شيء. مغلق عن العامة، لا يدخله عميل واحد. وجوده كلّه لغرضٍ واحد: كل إصدار جديد وكل تعديل يمرّ عليه أولاً، قبل أن يلمس النسخة الحقيقية.

لماذا كل هذا العناء؟ لأنّ التطبيق يتعامل مع أرقامٍ تخصّ أموال الناس. جرّب أن تقول لبنكٍ: «سنختبر التحديث الجديد مباشرةً على حسابات العملاء». التعديل الذي يبدو بسيطاً قد يعني نجاح عميلٍ في هدفه أو فشله. هنا يتحوّل الـ Staging من رفاهيةٍ إلى شرط.

والمفارقة: لا أحد فرض عليّ ذلك. لا قانون، لا شهادة، لا مقرّر جامعي. الـ Staging والـ Changelog والـ Repositories والـ Documentation الداخلية — كلها أدوات وقت التطوير، لا يراها المستخدم النهائي أبداً، ولا تُدرَّس في قاعة. تعلّمتها من التجربة، من المقالات، من مراقبة كيف يعمل الناس. وُلد كلّ واحدٍ منها من ألمٍ حقيقي، ثم انتشر، ثم صار عُرفاً: شيئاً يعرفه المبرمجون بينهم دون أن يكتبه أحد في عقد.

هذه ليست ملاحظتي وحدي. فلسفة «العُرف قبل الإعدادات» (Convention over Configuration) التي بُني عليها Rails تقول الشيء نفسه: الأعراف الجيدة تُلغي قراراتٍ تافهة كان يمكن أن تستهلك وقتك، وتجعل الوافد الجديد منتجاً قبل أن يفهم كل شيء. (المصدر)

وما أراه اليوم أنّ الطبقة نفسها تتشكّل من جديد — لكن هذه المرة لعصر الـ AI. ونحن نشاهدها تتصلّب أمام أعيننا.

ملفات السياق: الـ CLAUDE.md والـ AGENTS.md

الوكيل البرمجي — الـ AI coder — لا يعرف مشروعك. يفهم الكود، نعم، لكنه لا يعرف قراراتك: أين السيرفر، ما الذي يُمنع تعديله، ما الـ gotcha الغريبة في ربط Cloudflare بخدمةٍ معيّنة. فظهر الحل: ملفٌ واحد يقرؤه الوكيل في بداية كل جلسة. Claude Code يبحث عن CLAUDE.md، وأدوات أخرى توافقت على معيار AGENTS.md — الذي تستخدمه اليوم أكثر من ستين ألف مشروع مفتوح المصدر، وترعاه مؤسسة تحت مظلّة Linux Foundation. (المصدر)

القاعدة التي استقرّيت عليها: الملف يجب أن يكون كثيفاً — صغيراً، وفيه كل ما يحتاج الوكيل معرفته، ويحيل إلى بقية الـ documents بدل أن يكرّرها. وهذا ليس ملفاً تكتبه مرة وتنساه؛ عدّلت ملفاتي هذه مئات المرات مع تطوّر كل مشروع. وتقريباً كل تطبيقٍ أبنيه صار فيه document داخلية واحدة للـ references: الأشياء الغريبة والنادرة التي لو لم تُكتب لضاع الوكيل يبحث عنها — أو عدّل ما لا يجب أن يُعدَّل.

الـ MCP والـ Skills: من يملك التعريف؟

الـ MCP — الـ Model Context Protocol الذي أطلقته أنثروبيك معياراً مفتوحاً نهاية 2024 — هو بروتوكول يربط الـ AI بالأدوات ومصادر البيانات: بدل أن تبني تكاملاً مخصّصاً لكل خدمة، تتصل عبر معيارٍ واحد، والجهة المزوّدة تعرّف للوكيل ما الوظائف المتاحة وكيف يستدعيها. (المصدر)

الـ Skills شيء آخر: ملفات markdown فيها تعليمات — كيف تنفّذ مهمةً معيّنة، خطوةً خطوة — يقرؤها الوكيل عند الحاجة.

والفرق الجوهري بينهما هو من يملك التعريف. في الـ MCP الجهة المزوّدة هي التي تحدّد القدرات؛ أنت تستهلكها. أمّا الـ skill فملفٌ عندك: تعدّله، تصقله مع كل استخدام، يكبر معك. ولهذا أرى الـ skills أكثر مرونةً في يد من يبني — الـ MCP يعطيك القوة، والـ skill يعطيك الملكية.

أضف إليهما الـ SOPs — إجراءات التشغيل القياسية (Standard Operating Procedures) مكتوبةً بصيغةٍ يتبعها الوكيل — وترتيب الملفات نفسه بشكلٍ يقرؤه الـ AI بسرعة. كلّ هذا في النهاية شيءٌ واحد: context. النموذج اللغوي يعمل على السياق؛ وهذه الطبقة كلّها وُجدت لتغذيته به بشكلٍ موثوق — تماماً كما وُجدت الـ documentation لتغذّي الموظف الجديد.

مخطط: طبقة أعراف الأمس — Staging وChangelog والتوثيق الداخلي — تقابلها طبقة عصر الذكاء الاصطناعي الجديدة: ملفات السياق والـ Skills والـ MCP، وكلاهما وُلد من الحاجة لا من قانون

الطبقة الجديدة لن يعلّمك إياها أحد — مثل القديمة تماماً

عاملها كموظفٍ جديدٍ التحق بفريقك: لا يكفي أن «يفهم الكود» — يحتاج نظاماً يدخل منه. واليوم صار الأمر عندي طبيعياً لدرجةٍ تخيف: أشعر أنّ من البديهي أن يعرف الوكيل ما الذي يجري في مشروعي. لكنه لا يعرف شيئاً من هذا بدون تلك الملفات. البداهة هذه هي بالضبط علامة العُرف حين يكتمل — كما صار الـ Staging بديهياً عندي بعد أن كان ترفاً.

الأعراف القديمة أخذت عقوداً لتتصلّب. هذه الطبقة تتشكّل في سنوات — والـ MCP نفسه لم يُخلق إلا لأنّ هذه البيئة الجديدة احتاجته. من يعمل بأدوات الـ AI بجدّية سيحتاج هذه الطبقة كما يحتاج المبرمج الـ changelog والـ staging: لن يفرضها عليه أحد، وسيتعلّمها كما تعلّمنا — من التجربة، حتى تصير عُرفاً لا يُناقَش.

أسئلة كلود

هذا القسم من إعداد «كلود». بعد كتابة المقال، اختبر محرّكُ الذكاء الاصطناعي الذي أبني به عملي الحجّةَ، وطرح ما قد يطرحه القارئ الفطن من أسئلة. لم أُجب عنها بعد — سأجيب حين أتفرّغ، في تحديثٍ للمقال أو في التعليقات. هذا الحوار بيننا جزءٌ من الفكرة نفسها.

١. الأعراف القديمة تصلّبت من أسفل إلى أعلى: ملايين المبرمجين تقاربوا عليها عبر عقود، ولم تربح منها جهةٌ بعينها. أمّا هذه الطبقة فتدفعها الشركات المزوّدة نفسها وخلال سنواتٍ قليلة. كيف تفرّق بين عُرفٍ وُلد من حاجةٍ حقيقية وبين lock-in يلبس ثوب العُرف — وأيّ عنصرٍ من طبقة اليوم تراهن أنت أنه سيموت؟

سيجيب ياسر عندما يتفرّغ — تابعوا تحديث المقال أو التعليقات.

٢. تقول بنفسك إنّ الموقع البسيط لا يحتاج Staging — الطبقة تُستحق عند حدٍّ معيّن من الخطورة. ما الحدّ المكافئ هنا؟ متى يكون ملف السياق والـ skills عبئاً على مشروعٍ صغير أكثر منه عوناً، وما «الحد الأدنى» الذي تكتبه لمشروع عطلة نهاية أسبوع؟

سيجيب ياسر عندما يتفرّغ — تابعوا تحديث المقال أو التعليقات.

٣. مبرمجٌ سيفتح وكيلاً على مشروعه لأول مرة صباح الاثنين: ما الذي يكتبه في أول نسخةٍ من ملف السياق — وما الذي يتركه عمداً؟ وبعد مئات التعديلات على ملفاتك أنت: ما الخطأ الذي كانت تقع فيه نسختك الأولى وأخذ منك كل هذه التعديلات لإصلاحه؟

سيجيب ياسر عندما يتفرّغ — تابعوا تحديث المقال أو التعليقات.

المصادر

اقرأ التالي

الدورة المجانية — ٥٤ درس فيديو في ٢٩ يومًا

دورة مجانية بالبريد: من الصفر إلى برنامجك الأول

٥٤ درس فيديو قصير — درس واحد كل يوم (٥–٢٠ دقيقة)، ٢٩ يومًا من HTML إلى الذكاء الاصطناعي، حتى تبني برنامجًا حقيقيًا وتنشره برابط ترسله لمن تشاء. مجانًا بالكامل.

دروس قصيرة بالبريد، ثم مقال واحد يوميًا. بدون إزعاج، وإلغاء الاشتراك بنقرة واحدة.