يمكن للذكاء الاصطناعي أن يساعدك على بناء برنامج بسرعة، لكن تسليم المشروع يفتح سؤالًا أطول عمرًا: هل ستفهم ما بُني عندما يطلب العميل تعديلًا بعد سنة؟
تبدأ قابلية الصيانة من طريقة العمل نفسها: متطلبات تعرف ما تعنيه، وقرارات يمكنك الرجوع إلى أسبابها، وكود تراجعه وتختبره، وتوثيق يتغيّر مع المشروع. هذه هي الفكرة التي أبدأ منها كورس «صفّنا»، وأشرحها في الحلقة الأولى قبل أن نفتح مساحة العمل.
شاهد الحلقة الأولى
المدة: نحو 30 دقيقة. أقدّم في الحلقة المشروع والمنهج والأدوات التي سأستخدمها خلال السلسلة. يبدأ العمل على إعداد المستودع ووثائقه في الحلقة الثانية.
عندما يعود العميل بطلب تعديل
تخيّل أنك سلّمت برنامجًا، ثم عدت إليه بعد أشهر لإضافة ميزة. ستحتاج إلى فهم أكثر من أسماء الملفات: لماذا بُنيت هذه الخطوة بهذه الطريقة؟ ما القاعدة التي تحكمها؟ وهل التعديل المطلوب يغيّر اتفاقًا سابقًا أو يؤثر في جزء آخر؟
إذا بقيت الإجابات في ذاكرتك أو في محادثات متفرقة، ستبدأ بجمعها من جديد. أما حين تكون المتطلبات والقرارات وسجل العمل مرتبطة بالمشروع، فيصبح لديك ما ترجع إليه قبل أن تطلب من أداة الذكاء الاصطناعي تعديل الكود.
لهذا أقيّم العمل بأسئلة عملية: هل أستطيع فهمه؟ هل أستطيع اختبار سلوكه؟ هل يشرح التوثيق ما هو موجود فعلًا؟ وهل أعرف أثر التغيير قبل قبوله؟ سرعة إنشاء الملفات لا تجيب عن هذه الأسئلة وحدها.
متى يكفي النموذج الأولي؟
النموذج الأولي مفيد عندما تريد تجربة فكرة أو توضيح وظيفة صغيرة قبل الاستثمار فيها. يمكن أن يساعدك على معرفة إن كان المسار يستحق المتابعة.
أما البرنامج الذي سيسلَّم لعميل ويعتمد عليه مستخدمون، فيحتاج إلى قرارات ومراجعة تناسب هذا الاستخدام. عندها تصبح مسؤولًا عن فهم ما ينفّذه البرنامج، والتحقق منه، والقدرة على تغييره لاحقًا. في الحلقة أوضح لماذا يختلف هذان الهدفان، وكيف يؤثر هذا الفرق في طريقة استخدام أدوات البرمجة بالذكاء الاصطناعي.
ما الذي سنبنيه في صفّنا؟
«صفّنا | Saffna» مشروع منصة مفتوحة المصدر لتواصل المدرسة مع أولياء الأمور والطلبة. نستخدمه لمتابعة بناء مشروع له مستخدمون ومتطلبات وقرارات مترابطة، من مستودع فارغ إلى تطبيق Laravel يمكن تشغيله محليًا واختباره وتوثيقه.
المشروع محدود بتواصل المدرسة وما يتصل به من مستخدمين وصفوف وواجبات ورسائل. لن نحوله إلى نظام يشمل كل عمليات المدرسة مثل الموارد البشرية والرواتب. هذه الحدود تساعدنا على رؤية كيفية بناء نظام مترابط من دون أن يصبح نطاقه مفتوحًا بلا نهاية.
ستأتي خطوات التنفيذ مع تقدم العمل في الحلقات. أما هذه الحلقة فتعطيك الصورة التي تحتاج إليها لتعرف لماذا نعمل بهذه الطريقة، وما الذي تتابعه لاحقًا.
لمن يناسب هذا الكورس؟
يناسبك الكورس إذا كنت مبرمجًا مستقلًا، أو مطوّرًا، أو تعمل ضمن فريق برمجي صغير وتريد تنظيم استخدام الذكاء الاصطناعي في بناء المشاريع. تحتاج إلى أساس في تطوير البرمجيات، وقدرة على قراءة الكود ومراجعة سلوكه.
لا تحتاج إلى خبرة سابقة في Laravel. أشرح في الحلقة سبب اختياري له مع أنه لم يكن من التقنيات التي عملت بها من قبل. لكن التعامل مع تقنية جديدة بمساعدة الذكاء الاصطناعي يظل معتمدًا على قدرتك على الفهم والتحقق؛ لذلك فالكورس ليس مدخلًا لتعلّم أساسيات البرمجة.
كيف تتوزّع أدوار الأدوات؟
أستخدم خمس أدوات، ولكل منها وظيفة محددة في طريقة العمل:
| الأداة | دورها في المنهج الذي أشرحه |
|---|---|
| Codex | المساعدة في تنفيذ العمل ضمن المطلوب والقرارات التي أحددها، مع مراجعة الناتج |
| GitHub | حفظ ملفات المشروع وتاريخ تغييراته والرجوع إلى مراحل العمل |
| VS Code | تصفّح الملفات وقراءة الكود ومراجعة تنظيمه |
| ClickUp | تنظيم المهام وحفظ سياق التنفيذ والتغييرات والنتائج في سجل يمكن الرجوع إليه |
| Calendar | تخصيص وقت للعمل واختيار ما سأركّز عليه خلال اليوم |
الشرح يبيّن كيف أستخدم هذه الأدوات معًا. ويمكنك الاستفادة من طريقة التفكير مع أدوات أخرى، مع مراعاة اختلاف قدراتها. هذه الحلقة لا تتضمن شرح تثبيت الأدوات أو إعداد تكاملاتها.
ما الذي يستحق أن يبقى في سجل المهمة؟
اسم المهمة يوضح المطلوب، لكنك ستحتاج لاحقًا إلى معرفة ما جرى أثناء تنفيذها أيضًا: ما الذي تغيّر؟ ولماذا؟ وما الذي اختُبر؟ وما الملاحظة التي أدت إلى تعديل جديد؟
في الحلقة أشرح أهمية تعليقات المهام في حفظ هذا التسلسل. عندما تعود إلى مشروع قديم، يساعدك السجل على فهم كيف وصل العمل إلى حالته الحالية، بدل الاعتماد على ما يتذكره كل شخص.
أسئلة قبل أن تبدأ
هل سنكتب تطبيق Laravel في الحلقة الأولى؟
لا. هذه مقدمة للمشروع والمنهج والأدوات. في الحلقة الثانية نبدأ من مساحة عمل فارغة ونجهّز قواعد المشروع ووثائقه قبل تنفيذ التطبيق.
هل الكورس مجاني بالكامل؟
نعم. المحتوى التعليمي مجاني، ولا توجد تكملة مدفوعة تُحجب فيها الخطوات الأساسية. خدماتي الاستشارية منفصلة عن متابعة الكورس والاستفادة منه.
هل يمكن استخدام صفّنا مباشرة في مدرسة؟
الهدف التعليمي هو الوصول إلى تطبيق يعمل محليًا مع الاختبارات والتوثيق. تشغيله في مدرسة فعلية يحتاج إلى مراجعة مستقلة للأمن والخصوصية والبيانات والتشغيل. اقرأ README في المستودع لمعرفة المرحلة الحالية وحدودها قبل استخدام الملفات.
ابدأ من ملفات المشروع
افتح مستودع صفّنا على GitHub، واقرأ README لمعرفة ما أُنجز وما الذي ما زال مخططًا له. ثم تابع الحلقات بالترتيب من مكتبة الفيديوهات.
ولقراءة الفكرة من زاوية أخرى، تجد مقال Using AI to Build Products Is Serious Work, Not Vibe Coding باللغة الإنجليزية.
إذا كنت تريد تطبيق هذه الطريقة على مشروعك أو داخل فريقك وتحتاج إلى مساعدة تناسب وضعك، تعرّف إلى خدمات الاستشارات وإدارة المشاريع.