حلقات الخطأ هذه تكتشف 90% من أخطاء البرمجة

AAI LABS
Computing/SoftwareManagementInternet Technology

Transcript

00:00:00ما الذي يحدث فعلياً عندما تجبر وكيلاً برمجياً على الالتزام بالقواعد؟
00:00:03جميعنا نواجه صراعاً مشتركاً عند العمل مع Claude وغيره من وكلاء البرمجة.
00:00:07فهم يميلون إلى عدم اتباع التعليمات وتجاهل ملف Claude.md تماماً.
00:00:11وحتى عندما حاولنا فرض منهجية التطوير القائم على الاختبار (TDD)، حاول الوكيل تعديل ملفات الاختبار نفسها.
00:00:15لذا، صادفنا هذا الملحق (plugin) الذي بدأ يحظى بشعبية واسعة، حيث حصد 58,000 نجمة في غضون 24 ساعة فقط.
00:00:21لكن هذا يوضح تماماً طبيعة دورة الضجيج المحيطة بأدوات الذكاء الاصطناعي.
00:00:25يعد هذا الملحق بفرض صارم لمنهجيات تطوير البرمجيات داخل سير العمل.
00:00:30لكن السؤال كان: هل يفي فعلاً بهذا الوعد؟
00:00:33لقد رأى فريقنا تدفقات عمل مماثلة من قبل، وتبيّن أن معظمها مجرد زوبعة إعلامية.
00:00:37لذا وضعنا هذا الملحق في بيئة عمل حقيقية لنرى ما إذا كان يستحق التنفيذ في مشاريع واقعية أم أنه مجرد ضجيج.
00:00:43Superpowers هو ملحق يفرض منهجيات تطوير البرمجيات التقليدية مباشرة داخل بيئة التطوير المتكاملة (IDE) التي تستخدمها.
00:00:50قد يظن البعض أن أطر العمل الرشيقة (Agile) الحالية مثل BMAD و OpenSpec تقوم بالشيء نفسه.
00:00:56لكن هذا الملحق مختلف؛ لأنه ليس مجرد نظام وكلاء يستخدم لكتابة مواصفات المشروع.
00:01:01إنه فرض لمنهجية Agile نفسها في سير العمل مع بوابات صارمة تضمن عدم انتقال الوكيل للخطوة التالية حتى تنجح الخطوة الحالية.
00:01:10هذه البوابات عبارة عن نقاط تفتيش صريحة تمنع Claude من الانحراف عما تم توجيهه إليه.
00:01:15الفلسفة الجوهرية لهذا الملحق هي التطوير القائم على الاختبار (TDD) وتفضيل العملية المنهجية على التخمين.
00:01:20فهو يتحقق قبل الادعاء بنجاح المشروع، ويوفر تعليمات مصممة لاستهداف المناطق الشائعة التي يفشل فيها الذكاء الاصطناعي عادةً لإصلاحها.
00:01:28ولا ينتقل إلى الخطوة التالية حتى يحصل على الضوء الأخضر من المستخدم.
00:01:32باختصار، هو يستخدم أفضل الممارسات التي تحدثنا عنها في فيديوهاتنا السابقة بشكل مدمج، مما يلغي الحاجة للإعداد اليدوي كما كنا نفعل.
00:01:40يركز الملحق على منهجية “أحمر-أخضر” الحقيقية في التطوير القائم على الاختبار ومبادئ برمجية أخرى مثل DRY و YAGNI التي تعلمناها سابقاً.
00:01:50الملحق متاح لجميع منصات الذكاء الاصطناعي.
00:01:52وبما أن فريقنا يستخدم Claude Code، قمنا أولاً بنسخ أمر تسجيل المتجر وإضافته للمشروع، ثم قمنا بتثبيت الملحق من المتجر.
00:02:02وبعد التثبيت وإعادة تشغيل Claude Code، أصبح ملحق Superpowers متاحاً للاستخدام في المشروع.
00:02:08بمجرد إعادة التشغيل، أعطيناه أمراً بأننا نريد بناء برنامج لإدارة المشاريع مشابه لـ Trello.
00:02:15قام بتنشيط مهارة “تبادل الأفكار” تلقائياً، وبدلاً من التخمين، استخدم وظائف المهارة لتحديد ما هو موجود في المشروع أولاً.
00:02:24طرح الكثير من الأسئلة لتوضيح طبيعة التطبيق، والجمهور المستهدف، والتقنيات المستخدمة، وناقش المشكلات المحتملة لكل خيار.
00:02:33مثلاً عند اختيار قاعدة البيانات، أشار إلى أن خيارنا قد لا يكون الأنسب لمشاكل أمنية لكونها تعمل في المتصفح، فقمنا بتغييرها.
00:02:44استمر في توضيح كافة التفاصيل حتى شعرنا بالرضا التام عن الخيارات المطروحة.
00:02:48بعد التأكيد، كانت الخطوة التالية هي تقديم ثلاثة نهج مختلفة لنختار واحداً منها لتنفيذه.
00:02:55اخترنا الخيار الذي أعجبنا واقترحنا بعض التعديلات بالتزامن مع الاختيار.
00:02:58بمجرد الانتهاء، قدم لنا تصميم البنية التحتية (Architecture) أيضاً.
00:03:02ثم قدم تصميم تجربة المستخدم (UX)، موضحاً كيفية التعامل مع لوحات المهام.
00:03:06كما قام بتأكيد هيكلية المشروع بالكامل معنا.
00:03:09وبعد الموافقة على التصميم، قام بتوثيق جميع البيانات في مجلد المستندات (docs).
00:03:13وهنا يتفوق هذا الملحق على غيره، لأنه يتضمن تعليمات git مدمجة لأرشفة كل تغيير، وهو ما كانت تفتقر إليه الأطر الأخرى.
00:03:22بمجرد أن وضعت مهارة العصف الذهني الخطط، استُدعيت مهارة “كتابة الخطة” لكتابة خطة التنفيذ وأرشفتها.
00:03:29قامت الخطة بتقسيم التطبيق الضخم إلى مهام فرعية يسهل تنفيذها.
00:03:33قد تظن أن وضع التخطيط المدمج في Claude يقوم بكل هذا بمفرده.
00:03:37لكن الفرق الجوهري هو أن تخطيط Claude Code مخصص فقط لتوجيه الوكيل عما يجب فعله.
00:03:44فهو يسأل فقط عن التقنيات التي يراها ضرورية، ويتخذ القرارات الصغيرة مثل مكتبات واجهة المستخدم بنفسه.
00:03:52في المقابل، Superpowers هو نظام فرض، أي لا يمكنك التقدم حتى تكتمل الخطوة الحالية، مما يضمن تنفيذ الخطة بدقة.
00:04:01بعد انتهاء مرحلة التخطيط، خيّرنا بين طريقتين للتنفيذ، فاخترنا التنفيذ المعتمد على الوكلاء الفرعيين.
00:04:09على الرغم من أن Claude ينشئ وكلاء فرعيين تلقائياً، إلا أن المهارات هنا كانت مختلفة لأنها أنشأت بيئة عمل (git worktree) منفصلة لكل وكيل.
00:04:20يحتاج الوكلاء للعزل في بيئات عمل منفصلة؛ لأنهم إذا عملوا في نفس المجلد، فسيقومون بالكتابة فوق عمل بعضهم البعض.
00:04:28وهذا هو الشيء الأساسي الذي يتعامل معه الملحق تلقائياً وبشكل أصيل.
00:04:31بمجرد الانتهاء من التخطيط، انتقل Claude إلى مرحلة التنفيذ.
00:04:34بدأ بمهمة، وفور انتهائها، أنشأ مهمة فرعية منفصلة للمراجعة للتحقق من التنفيذ مقابل المواصفات.
00:04:41وبعد الأرشفة في git، استخدم مهارة أخرى من مهارات Superpowers وهي “مُراجع الكود”.
00:04:46وفقط عندما يوافق الوكلاء السابقون على جودة الكود، يبدأ في المهمة التالية ويستمر في تحسين المهام السابقة حتى تتحقق الجودة.
00:04:54بعد اكتمال كل مهمة ومراجعتها وأرشفتها، لضمان عدم تداخل المهام، سألنا عما إذا كنا نريد الدمج في الفرع الرئيسي أم إنشاء طلب سحب (PR).
00:05:04طلبنا منه الدمج في الفرع الرئيسي بسرعة.
00:05:06بعدها قام بإزالة كافة بيئات العمل الفرعية ودمج المشروع بالكامل في الفرع الرئيسي.
00:05:11هذه العملية تستهلك الكثير من نافذة السياق (Context Window)؛ ففي حالتنا، استهلكت جولة واحدة حوالي 50% منها، لذا يجب الحذر.
00:05:24المشروع الذي أنشأه كان بسيطاً وبوظائف أساسية.
00:05:27أردنا ترتيب هذه القوائم حسب الحالة الحالية: “قيد الانتظار”، “قيد التنفيذ”، و”مكتمل”.
00:05:32ورغم وجود البطاقات الفردية، أردنا أن تكون هذه القوائم قابلة للتحريك أيضاً.
00:05:36عدنا لـ Claude Code وطلبنا منه معالجة ذلك، لكنه بدأ في البداية بالطريقة التقليدية لـ Claude دون مهارات الملحق.
00:05:42ربما حدث هذا بسبب استهلاك الكثير من السياق، فكان علينا تذكيره باستخدام ملحق Superpowers.
00:05:48بعد تذكيره، بدأ في تنفيذ المهام بنفس الطريقة المنظمة التي اتبعها سابقاً.
00:05:52عند المرور بجميع الخطوات، أنشأ Claude وكلاء للعمل في بيئات منفصلة، وهنا تظهر قوة هؤلاء الوكلاء في اتباع نهج TDD أصيل.
00:06:02يبدأ هؤلاء الوكلاء بكتابة الاختبارات لكل جزء سيتم تنفيذه أولاً.
00:06:05بعد كتابة الاختبارات، يضمن النظام كتابة الكود دون أي تعديل على حالات الاختبار الأصلية حتى ينجح الاختبار.
00:06:13تستخدم مهارات الملحق توجيهات قوية تمنعه من تعديل الاختبارات، مما يبطل كل الأعذار التي يتذرع بها Claude لتجاوز الخطوات.
00:06:23تبدو هذه التوجيهات مثل تعليمات صريحة تقول: “إذا كان هناك احتمال 1% لاستخدام مهارة، فاستخدمها”.
00:06:29ضمن هذا تنفيذ كل مهمة بطريقة مهيكلة وصحيحة.
00:06:32نقطة تجب ملاحظتها هي أن هؤلاء الوكلاء كانوا ينفذون المهام بالتتابع، لذا استغرق الأمر وقتاً أطول من المعتاد مقارنة بأسلوب Claude الأصلي.
00:06:41لكن بما أنه فرض إرشادات صارمة، فقد ضمن أن التطبيق يعمل كما هو مقصود تماماً.
00:06:45كما ذكرنا، يتم استهلاك السياق بسرعة كبيرة مع هذا الملحق، حيث أدت مهام قليلة إلى بقاء 5% فقط من السياق.
00:06:53لذا قبل المتابعة، قمنا بتشغيل أمر “compact” (الضغط) لضمان عدم فقدان السياق أثناء العصف الذهني للمهمة التالية.
00:07:01بمجرد ضغط المحادثة، أعطيناه أمراً بالميزة التالية التي نريد تنفيذها وبدأ العمل بنفس الأسلوب.
00:07:07لكن أفضل ما في هذه الجلسة هو أنه لم ينفذ الأمور بالتخمين، بل استمر في طرح الأسئلة من زوايا متعددة للتأكد من بناء التطبيق كما نريد.
00:07:17هذا الملحق دفع Claude لتوضيح حالات خاصة مثل شكل الأعمدة عندما تكون فارغة، وهو أمر بسيط قد يخمنه Claude وينفذه بمفرده.
00:07:29تتوفر إرشادات استخدام هذا الملحق بشكل أفضل في AI Labs Pro.
00:07:33لمن لا يعرف، هو مجتمعنا الذي أطلقناه مؤخراً حيث تحصل على قوالب جاهزة للاستخدام في مشاريعك لهذا الفيديو والفيديوهات السابقة.
00:07:42إذا وجدت قيمة فيما نقدمه وتريد دعم القناة، فهذه هي الطريقة الأفضل. الرابط في الوصف.
00:07:48من نقاط القوة الأخرى لهذا الملحق هي قدرته على استخدام استكشاف الأخطاء وإصلاحها بشكل منهجي.
00:07:52واجهنا خطأ في حفظ البيانات عند تحديث الصفحة، وأعطينا Claude أمراً غامضاً دون تحديد مكان الخطأ، وطلبنا منه إصلاحه منهجياً.
00:08:01قام بتحميل مهارة “التنقيح المنهجي” للقيام بالمهمة، حيث تم تقسيم العمل إلى أربع مراحل.
00:08:06حددت المرحلة الأولى السبب الجذري من خلال طرح أسئلة علينا حول المشكلة.
00:08:10بناءً على إجابتنا، حاول التقصي وتتبع المسار الذي حددناه، ووجد الملف الصحيح الذي قد يحتوي على الخلل.
00:08:16بعد تحديد السبب، استهدفت المرحلة الثانية عزل الخطأ، بينما ركزت المرحلة الثالثة على تضييق نطاق السبب الفعلي لحدوثه ليتمكن من إصلاحه.
00:08:25أما المرحلة الرابعة فكانت تطبيق الإصلاح، حيث جعل العملية أكثر تنظيماً من مجرد البحث العشوائي في الكود، وأنهى الإصلاح بالاختبار.
00:08:35هناك الكثير من المهام التي لا تتطلب سير عمل الملحق الكامل، حيث يكون استخدامه مبالغاً فيه، مثل تغيير واجهة المستخدم.
00:08:47لذا بالنسبة لهذه الأنواع من المهام التي لا تحتاج للعملية الكاملة، يمكننا تنفيذها بطريقة أبسط.
00:08:51بما أنه لم يكن لدينا هدف محدد لشكل التطبيق، طلبنا منه تحسين الواجهة وعدم الانتقال للتنفيذ، بل الاكتفاء بالعصف الذهني والتخطيط.
00:09:01بدأ بالعصف الذهني وسألنا عن التوجه البصري الذي نريده عبر أسئلة توضيحية حول جوانب مختلفة من التصميم.
00:09:08توقف Claude بعد التخطيط كما طلبنا، وبعدها طلبنا منه تنفيذ الخطة دون استخدام العملية المعقدة للملحق.
00:09:15تم تغيير واجهة التطبيق بالكامل في وقت أقصر بكثير، ومع ذلك، قام بأرشفة التغييرات في git بنفس التنسيق الذي تفرضه العملية المنظمة.
00:09:25تحول التطبيق من تخطيط أساسي بتنسيق بسيط إلى نظام ألوان مُحسن، وحالات تفاعلية للبطاقات، وتنسيق أكثر وظيفية بشكل عام.
00:09:32هذا ما يجعل إطار العمل عملياً؛ تترك لـ Claude حرية التصرف دون قيود في المهام التي يتقنها، وتفعل العملية الكاملة في الحالات التي قد يخطئ فيها.
00:09:43بهذا نصل إلى نهاية الفيديو. إذا أردت دعم القناة ومساعدتنا في الاستمرار، يمكنك فعل ذلك عبر زر “شكراً” (Super Thanks) أدناه.
00:09:51كالعادة، شكراً لمشاهدتكم، وأراكم في الفيديو القادم.

Key Takeaway

يعمل ملحق Superpowers كإطار عمل حازم يحول وكلاء الذكاء الاصطناعي من أدوات تخمينية إلى مطورين منهجيين يلتزمون بصرامة ببروتوكولات الاختبار والأرشفة.

Highlights

تقديم ملحق Superpowers الذي يفرض منهجيات برمجية صارمة على وكلاء الذكاء الاصطناعي مثل Claude.

الاعتماد الكلي على منهجية التطوير القائم على الاختبار (TDD) لضمان جودة الكود ومنع التخمين.

استخدام بيئات عمل منفصلة (git worktree) لكل وكيل فرعي لمنع تداخل الكود والكتابة فوق العمل.

توفير مهارات متخصصة مثل "العصف الذهني" و"المُراجع" و"التنقيح المنهجي" لرفع كفاءة التطوير.

القدرة على حل المشكلات المعقدة وتقليل الأخطاء بنسبة تصل إلى 90% من خلال بوابات التحقق الصارمة.

إمكانية التبديل بين الوضع المنظم للمهام الحساسة والوضع الحر للمهام البسيطة مثل تحسين واجهة المستخدم.

التنبيه إلى استهلاك نافذة السياق (Context Window) بسرعة وضرورة استخدام أوامر الضغط (compact).

Timeline

مقدمة وتحديات العمل مع وكلاء الذكاء الاصطناعي

يبدأ المتحدث باستعراض الصراع الشائع الذي يواجهه المبرمجون عند التعامل مع وكلاء مثل Claude، حيث يميل هؤلاء الوكلاء إلى تجاهل التعليمات المحددة في ملفات الإعداد. يوضح الفيديو كيف أن فرض منهجية التطوير القائم على الاختبار (TDD) يدوياً غالباً ما يفشل لأن الوكيل يحاول التلاعب بملفات الاختبار نفسها. تبرز الحاجة هنا إلى أداة تفرض القواعد بشكل صارم، ومن هنا يتم تقديم ملحق Superpowers الذي حقق انتشاراً واسعاً فور إطلاقه. يهدف هذا القسم إلى التمييز بين "الضجيج الإعلامي" للأدوات الجديدة وبين الفعالية الحقيقية في بيئات العمل الواقعية. يشير المتحدث إلى أن الفريق قرر اختبار الملحق بشكل عملي للتأكد من قدرته على معالجة هذه الانحرافات السلوكية للذكاء الاصطناعي.

فلسفة ملحق Superpowers وآلية العمل

يتم شرح الهوية الأساسية لملحق Superpowers باعتباره نظاماً لفرض منهجيات Agile داخل بيئة التطوير المتكاملة (IDE). على عكس الأطر الأخرى التي تركز فقط على كتابة المواصفات، يستخدم هذا الملحق "بوابات" صارمة تمنع الوكيل من الانتقال لخطوة جديدة قبل نجاح الحالية. تعتمد الفلسفة الجوهرية على مبادئ TDD ومنهجية "أحمر-أخضر"، بالإضافة إلى مبادئ برمجية شهيرة مثل DRY و YAGNI. يوضح الفيديو أن الملحق يوفر تعليمات تستهدف نقاط الضعف التقليدية للذكاء الاصطناعي لإجبارها على الإصلاح بدلاً من التجاوز. هذا النظام يلغي الحاجة للإعداد اليدوي المرهق ويجعل أفضل الممارسات البرمجية جزءاً أصيلاً من سير العمل الآلي.

بدء مشروع عملي: العصف الذهني والتخطيط

يستعرض هذا الجزء عملية تثبيت الملحق في Claude Code والبدء ببناء تطبيق لإدارة المشاريع مشابه لـ Trello. فور البدء، يقوم الملحق بتنشيط مهارة "تبادل الأفكار" التي تمنع Claude من البدء بالتخمين العشوائي، بل تجبره على طرح أسئلة دقيقة حول الجمهور المستهدف والتقنيات. يظهر الملحق ذكاءً في نقد الخيارات التقنية، مثل التحذير من ثغرات أمنية في قواعد البيانات التي تعمل داخل المتصفح. بعد التوافق، يتم تقديم ثلاثة خيارات للهيكلية (Architecture) وتصميم تجربة المستخدم (UX) قبل البدء في التنفيذ. ينتهي هذا القسم بتوثيق كل هذه الخطوات في مجلد خاص واستخدام أوامر git للأرشفة بشكل تلقائي ومنظم.

مرحلة التنفيذ واستخدام الوكلاء الفرعيين

ينتقل الفيديو لشرح كيفية تقسيم المهام الضخمة إلى مهام فرعية يسهل التحكم بها من خلال مهارة "كتابة الخطة". يتميز Superpowers عن نظام التخطيط الافتراضي في Claude بأنه يفرض التنفيذ الدقيق ولا يسمح للوكيل باتخاذ قرارات جانبية دون موافقة. يتم استخدام تقنية (git worktree) لإنشاء بيئات معزولة لكل وكيل فرعي، مما يضمن عدم تداخل الكود أو مسحه عند العمل المتوازي. بعد كل مهمة، يتم استدعاء مهارة "مُراجع الكود" للتحقق من الجودة مقابل المواصفات الأصلية قبل الدمج في الفرع الرئيسي. يشير المتحدث إلى أن هذه العملية تستهلك جزءاً كبيراً من نافذة السياق، مما يتطلب مراقبة مستمرة للموارد المتاحة.

الاختبار الصارم ومعالجة الأخطاء المنهجية

في هذا القسم، يتم اختبار الملحق في إضافة ميزات جديدة مثل تحريك القوائم وترتيبها، مع تذكير Claude بالالتزام بمهارات Superpowers. يبرز دور الملحق في منع Claude من تعديل الاختبارات الأصلية لتناسب كوده الخاطئ، وهو عيب شائع في نماذج اللغة الكبيرة. يتم تقديم مهارة "التنقيح المنهجي" التي تعالج الأخطاء عبر أربع مراحل: تحديد السبب الجذري، عزل الخطأ، تضييق النطاق، ثم تطبيق الإصلاح النهائي. يوضح المثال العملي كيف تمكن النظام من إصلاح خطأ في حفظ البيانات عبر تتبع مسار الملفات بدقة بدلاً من البحث العشوائي. يثبت هذا النهج أن البطء النسبي في التنفيذ يعوضه دقة متناهية في النتيجة النهائية وخلوها من العيوب.

المرونة في الاستخدام والنتائج النهائية

يختتم الفيديو بتوضيح أن استخدام العملية الكاملة للملحق قد يكون مبالغاً فيه لبعض المهام البسيطة مثل تعديل واجهات المستخدم. يوضح المتحدث كيف يمكن مطالبة Claude بتنفيذ تحسينات بصرية بأسلوب أكثر حرية مع الاحتفاظ بمزايا الأرشفة المنظمة في git. أدى هذا النهج المختلط إلى تحويل التطبيق من شكل بدائي إلى واجهة احترافية بتنسيق ألوان متطور وتفاعلية عالية في وقت قياسي. تكمن قوة الإطار في منح المطور القدرة على اختيار مستوى الرقابة المطلوب بناءً على تعقيد المهمة. ينتهي المقطع بدعوة المشاهدين لدعم القناة واستكشاف القوالب الجاهزة في المجتمع الخاص بالفريق لمزيد من الاستفادة.

Community Posts

View all posts