00:00:00هناك العديد من محررات الأكواد البرمجية المدعومة بالذكاء الاصطناعي، ولكل منها مجموعة من الأدوات والمزايا التي تجعلها متميزة.
00:00:04يُعتبر 'كولود كود' (Claude Code) هو الأفضل بلا منازع، خاصة مع نموذج 'أوبوس' (Opus)، لكن تكلفته مرتفعة.
00:00:09من ناحية أخرى، يُعد 'كيرسر' (Cursor) المفضل لدى المبرمجين الذين يحبون رؤية الكود جنباً إلى جنب مع إجراءات المساعد الذكي، لكنه لا يخلو من المشاكل.
00:00:16أطلقت جوجل أيضاً 'أنتي جرافيتي' (Anti-Gravity) مع نموذج 'جميناي 3' (Gemini 3)، والذي سرعان ما نال شهرة واسعة بين المطورين بسبب كفاءة النموذج وتوفره مجاناً.
00:00:23رغم أنه أحدث من كل من 'كولود كود' و'كيرسر'، إلا أنه نجح في تطبيق الكثير من الأمور بشكل أفضل من 'كيرسر'.
00:00:28ومنذ أن بدأ البرمجة بالذكاء الاصطناعي في التطور الملحوظ، بدأ الكثيرون في ابتكار سير العمل الخاص بهم باستخدام هذه الأدوات.
00:00:35لكن السر في أي سير عمل ناجح هو مدى كفاءته في إدارة السياق (Context).
00:00:39سابقاً، أصدرت شركة 'أنثروبيك' بيئة تحكم (Harness) مصممة للمهام الطويلة، وهذه المرة، أصدر 'كيرسر' بيئة تحكم خاصة به تهدف لتحسين استخدامه بشكل كبير عبر استغلال كامل قدراته.
00:00:50بما أن المبادئ المذكورة في المقال تنطبق إلى حد كبير على جميع المساعدين الأذكياء، سأقوم بتطبيق هذه المبادئ على أداة 'أنتي جرافيتي' من جوجل.
00:00:57قد لا تكون الأفضل بعد، لكنها تمتلك ميزات تميزها عن غيرها.
00:01:01لدينا الكثير لنتحدث عنه اليوم، فمع إضافة بيئة التحكم هذه، تحسن أداء 'أنتي جرافيتي' بشكل ملحوظ.
00:01:28وأخيراً، هناك طريقة تفاعلك كمستخدم معه، وكيفية صياغة الأوامر (Prompts)، ومتابعة الاستجابات.
00:01:38تكمن أهمية بيئة التحكم في أن النماذج المختلفة تستجيب لنفس الأمر بطرق متباينة، حيث أن لكل نموذج نقاط قوة ويبدع أكثر في البيئة التي تدرب عليها.
00:01:48على سبيل المثال، النموذج الذي تدرب في بيئة تعتمد على سطر الأوامر (Shell) قد يفضل طبيعياً استخدام أداة GREP على أداة بحث مخصصة.
00:01:54هذا الأمر مهم لأننا نعلم أن بعض النماذج، مثل 'كولود'، تبدع في الأوامر المكتوبة بصيغة XML، بينما تعمل نماذج أخرى بشكل أفضل مع صيغة Markdown.
00:02:00لذلك، من الضروري أن تكون بيئة التحكم التي نستخدمها مصممة خصيصاً للنموذج الذي نعمل معه.
00:02:04يُعد التخطيط قبل التنفيذ أمراً جوهرياً لضمان أن الكود يلبي توقعاتك.
00:02:10يميل المبرمجون ذوو الخبرة إلى التخطيط قبل توليد الكود لأن ذلك يجبرهم على التفكير بوضوح فيما يتم بناؤه، ويعطي المساعد الذكي أهدافاً ملموسة للعمل عليها.
00:02:18ميزة التخطيط في 'أنتي جرافيتي' هي أكثر ما يعجبني لأن تعديل الخطة سهل جداً عبر التعليقات.
00:02:24عندما بدأت في وضع التخطيط، قام الأداة بتحليل تعليماتي وقاعدة الكود الموجودة بدقة، ثم أنشأت خطة مفصلة.
00:02:30رغم أن قراءة الخطة كانت مملة، إلا أنه من الضروري مراجعتها بعناية لضمان توافق التنفيذ مع الرؤية، لذا تأكد من قراءتها بدقة.
00:02:38لإجراء أي تغييرات، كان عليّ فقط التعليق على أي سطر لا يتوافق مع هدفي، وسرعان ما قامت الأداة بدمج التغيير في الخطة المعدلة.
00:02:46من الضروري الاستمرار في التنقيح حتى تصبح الخطة مثالية.
00:02:49بمجرد الانتهاء، يمكن للمساعد الذكي تنفيذ كل شيء بشكل مستقل.
00:02:52حتى لو لم يطابق التنفيذ ما كنت تريده، فمن الأفضل العودة إلى وضع التخطيط وتعديل الخطة بدلاً من استخدام أوامر المتابعة.
00:03:00بعد ذلك، يحتاج المساعد الذكي للعمل ضمن السياق الصحيح.
00:03:03لكن قبل ذلك، إليكم كلمة من راعينا.
00:03:05شركة 'لوما آي آي' (Luma AI) وأداتهم الجديدة 'دريم ماشين، راي 3 موديفاي' (Dream Machine, Ray3 Modify).
00:03:08إذا كنت قد عملت مع فيديوهات الذكاء الاصطناعي، فأنت تعرف حجم الإحباط؛ تنشئ شيئاً رائعاً، ولكن بمجرد محاولة تغيير الأسلوب أو المشهد، تتشوه الشخصية، وتصبح الحركة غريبة، وتجد نفسك عالقاً في إعادة التوليد.
00:03:18أداة 'راي 3 موديفاي' تحل هذه المشكلة.
00:03:20لأول مرة، تشعر أن فيديو الذكاء الاصطناعي موجه حقاً وليس مجرد تخمين.
00:03:23يمكنك أخذ مقطع موجود، حتى لو كان أداءً واقعياً، وتحويل العالم أو الإضاءة أو النمط السينمائي مع الحفاظ على هوية الشخصية والحركة والانفعالات العاطفية كما هي.
00:03:33يظل الأداء ثابتاً، بينما يتطور المظهر تماماً كما تريد.
00:03:36من خلال مراجع الشخصيات والإطارات الرئيسية القابلة للتعديل، يمكنك التحكم فيما يظل ثابتاً وما يتغير عبر اللقطات.
00:03:42مثالي لسير العمل الهجين، والأفلام القصيرة، وفيديوهات الأغاني، وأعمال المفاهيم السينمائية.
00:03:47وحتى الإنتاجات الصغيرة.
00:03:48بصراحة، يبدو هذا كأنه مرحلة ما بعد الإنتاج الحقيقية المعتمدة على الذكاء الاصطناعي.
00:03:51توقف عن التخمين. وابدأ في الإخراج.
00:03:53اطلع على 'راي 3 موديفاي' في التعليق المثبت أو امسح رمز QR واكتشف ما هو ممكن.
00:03:58بمجرد إتقان التخطيط، ستكون مهمتك هي تزويد كل مساعد ذكي بالسياق اللازم لإتمام المهمة.
00:04:04من الأخطاء الشائعة التي يقع فيها الناس هي ميلهم للإشارة يدوياً لكل ملف (tagging).
00:04:08لست بحاجة للقيام بذلك يدوياً، حيث تمتلك هذه الأدوات أدوات بحث قوية يمكنها جلب السياق عند الطلب.
00:04:13الإشارة اليدوية للملفات تحمل كل شيء في السياق، حتى لو لم تكن كل الأسطر مطلوبة.
00:04:18يمكن للمساعدين الأذكياء استخدام 'grep' لتحميل المقاطع المحددة التي يحتاجون إليها فقط.
00:04:21على سبيل المثال، إذا أردت إجراء تغيير في صفحة التسجيل، فإن الإشارة للملف ستحمل المكون بأكمله الذي يتجاوز 200 سطر في السياق، مما يضخمه دون داعٍ.
00:04:30رغم أن الأسطر المطلوبة فعلياً هي دالة واحدة فقط من حوالي 50 سطراً، إلا أن باقي الأسطر غير الضرورية سيتم تضمينها أيضاً.
00:04:38بدلاً من الإشارة للملف يدوياً، اعتمد على أداة البحث الخاصة بالمساعد للبحث عن الدالة التي يحتاجها.
00:04:43ليس عليك القيام بكل شيء في محادثة واحدة.
00:04:45ابدأ محادثة جديدة لأي مهمة جديدة، أو عندما يبدأ أداء المساعد في الارتباك أو تكرار نفس الأخطاء.
00:04:52ببساطة، ابدأ محادثة جديدة بمجرد إكمال وحدة منطقية واحدة من العمل.
00:04:57على سبيل المثال، أبدأ محادثة جديدة لكل ميزة جديدة أريد تنفيذها وأبدأ بالتخطيط لها كما أرغب.
00:05:04بهذه الطريقة، تكون جميع المهام معزولة ومرتبة تماماً حسب حاجتي.
00:05:07الحالة الوحيدة التي لا تحتاج فيها لبدء محادثة جديدة هي عندما تعمل على نفس الميزة، أو تحتاج لنفس السياق من النقاش، أو عند تصحيح أخطاء ميزة قام المساعد بتنفيذها للتو.
00:05:16خارج هذه الحالات، من الأفضل تقليل 'الضوضاء' عبر بدء محادثة جديدة.
00:05:21فعالية استجابات المساعد هي في الواقع دليلك لمعرفة متى يجب عليك بدء محادثة جديدة.
00:05:26إذا أردت الرجوع إلى أي تفاصيل من محادثات سابقة، يمكنك القيام بذلك عبر الإشارة إليها مباشرة في الدردشة وذكر تلك المحادثة، بدلاً من إعادة شرحها للمساعد من جديد.
00:05:35هذا يسمح للمساعد بالتعرف على سياق المحادثة بذكاء، مما يجعله يقرأ بشكل انتقائي من سجل الدردشة ويأخذ فقط السياق الذي يحتاجه.
00:05:43يمكن توسيع قدرات المساعد الذكي باستخدام مجموعة من القواعد والمهارات.
00:05:47يمكنك تخصيص سلوكه عبر تحديد قواعد لمشروعك، وهي إرشادات محددة أو أفضل الممارسات التي تريد من المساعد اتباعها باستمرار.
00:05:55يجعل 'أنتي جرافيتي' إضافة هذه التخصيصات أمراً بسيطاً، سواء على النطاق المحلي أو العام.
00:06:00لإضافة إرشاد ما، ما عليك سوى تضمين القاعدة ضمن نطاق المشروع.
00:06:03يتم تخزين هذه القواعد في مجلد '.agent'، والذي يحتوي على مجلد قواعد (rules) به ملفات markdown للتعليمات.
00:06:09على سبيل المثال، أضفت قاعدة في هذا المشروع لجعل الواجهة الأمامية متوافقة مع معايير VCAG.
00:06:13بمجرد إضافة القاعدة وتكليف 'أنتي جرافيتي' بمهمة، يولد المساعد خطة تدمج تلك القاعدة، بما في ذلك وسوم التسمية (label tags) مع المدخلات وغيرها من التفاصيل، لجعل الصفحة كاملة متوافقة مع VCAG.
00:06:24يمكنك إضافة أي عدد من القواعد التي يحتاجها مساحة عملك لتوجيه وتوسيع قدرات المساعد.
00:06:29وبالمثل، تمت إضافة مهارات المساعد في 'أنتي جرافيتي' باتباع نفس المعيار المفتوح الذي وضعته 'أنثروبيك'، والذي يحتوي على تعليمات وبرمجيات ومعرفة خاصة بالمجال.
00:06:38يتم تحميل المهارات ديناميكياً عندما يقرر المساعد أنها ذات صلة، مما يحافظ على إدارة السياق بشكل جيد.
00:06:43توجد جميع المهارات في مجلد '.agent' الخاص بـ 'أنتي جرافيتي'.
00:06:47تتضمن كل مهارة ملف '.md' متخصصاً يحتوي على الاسم، ووصفاً لما يدخل في السياق، وكل التفاصيل حول كيفية استخدام المهارة.
00:06:55يتم تخزين الوصول إلى المراجع والبرمجيات الأخرى في مجلداتها المخصصة.
00:06:59استخدام المهارات في 'أنتي جرافيتي' بسيط للغاية، حيث تكتفي بتحديد المهارة المطلوبة والمهمة التي تريد تنفيذها.
00:07:05طلبت من 'أنتي جرافيتي' استخدام مهارة 'متخصص الاختبارات' لكتابة حالات اختبار لمشروعي، واستغرق الأمر بعض الوقت لإنشاء خطة اختبار كاملة باستخدام إرشادات المهارة.
00:07:14كما استخدم أيضاً جميع المكتبات التي ذكرتها في المراجع، جنباً إلى جنب مع البرمجيات وكل الإرشادات المحددة في المهارة لتنفيذ المهمة.
00:07:21أصبحت النماذج أفضل في تحليل الصور، لذا يجب أن نعتمد على قدراتها بشكل أكبر ونضمنها في أوامرنا لتعزيز فهمها.
00:07:29بدلاً من شرح التصميم الذي تريد تنفيذه بالكلمات، يمكنك فقط التقاط صورة للشاشة للجزء الذي تريده.
00:07:35اذهب إلى 'أنتي جرافيتي'، وألصق لقطة الشاشة، واطلب منه تنفيذ هذا القسم تماماً كما في الصورة.
00:07:41باستخدام قدرات تحليل الصور، يمكنه فهم الصورة تماماً وتنفيذها.
00:07:45من أكثر الأشياء التي أستخدم الصور لأجلها هي تصحيح أخطاء واجهة المستخدم، لأنه من الأسهل شرح مشاكل الواجهة بلقطة شاشة بدلاً من مجرد وصف الخطأ بالكلمات.
00:07:54لذا كلما واجهت أي مشاكل في واجهة المستخدم، التقط صورة، وأعطها لـ 'أنتي جرافيتي'، وسيقوم بإصلاحها لي.
00:08:00بدلاً من الغوص العشوائي في الكود، نحتاج لاتباع أفضل ممارسات تطوير البرمجيات في التطوير المعتمد على الذكاء الاصطناعي أيضاً.
00:08:06هناك بعض طرق العمل الشائعة التي تنجح مع المساعدين الأذكياء؛ أولها 'التطوير القائم على الاختبار' (TDD)، حيث يكتب المساعد الاختبارات أولاً ثم يكتب الكود الذي يجتاز تلك الاختبارات.
00:08:15السبب في نجاح التطوير القائم على الاختبار مع مساعدي الذكاء الاصطناعي هو وجود هدف واضح يسعون لتحقيقه، فهم يعرفون معايير النجاح، ويمكنهم التحسن تدريجياً في ذلك الاتجاه.
00:08:26لذا عند إعداد واجهة النظام الخلفية (backend)، لم أكن قد كتبت أي كود، بل أعطيت أمراً يطلب من المساعد كتابة اختبارات لمسار المصادقة (auth route) ووصف المدخلات والمخرجات وسلوك الاختبار، وذكرت صراحة ألا يكتب كود الاختبارات في هذه المرحلة.
00:08:40بمجرد أن كتب المساعد حالات الاختبار وكنت راضياً عنها، طلبت منه تشغيل تلك الاختبارات.
00:08:45بالطبع فشلت هذه الاختبارات في البداية لعدم وجود تنفيذ فعلي للكود بعد.
00:08:49بعد اكتمال الاختبارات، قمت بحفظها في Git للاحتفاظ بسجل في حال حاول المساعد تعديل الاختبارات.
00:08:55ثم طلبت من المساعد كتابة كود الواجهة البرمجية (endpoint)، مع تعليمات صريحة بعدم تعديل الاختبارات.
00:09:01واصلنا التكرار حتى اجتازت جميع الاختبارات، حيث كنت أطلب منه التحقق مراراً وتكراراً حتى ينجح كل اختبار.
00:09:07بهذه الطريقة، يكون لدى المساعدين هدف واضح للعمل نحو تحقيقه.
00:09:10عندما تبدأ العمل على قاعدة كود جديدة مع مساعد ذكي، عليك طرح نفس أنواع الأسئلة التي قد تطرحها على زميل لك في الفريق.
00:09:16هذا يسمح للمساعد بالبحث في قاعدة الكود باستخدام grep والبحث الدلالي، وإيجاد الإجابات، وفهم كيفية عمل المشروع أثناء محاولته الرد عليك.
00:09:24أطرح أسئلة حول تفاصيل قاعدة الكود والمسارات حتى يتمكن المساعد من استيعاب هيكلية المشروع ووظائفه.
00:09:30بهذه الطريقة، عندما أعطيه ميزة جديدة لتنفيذها، يكون قد عرف بالفعل هيكل المشروع، مما يسهل عليه المهمة.
00:09:37يُعد 'جيت' (Git) مهماً ليس فقط كأداة للتحكم في الإصدارات، بل كقاعدة معرفية لمساعد البرمجة أيضاً.
00:09:43لقد أكدنا بالفعل على أهمية استخدام 'جيت' في فيديوهات سابقة.
00:09:47تعديلات 'جيت' الواضحة لا توفر قاعدة معرفية للمساعد فحسب، بل تساعد أيضاً في إدارة الميزات، وتتبع آخر نسخة مستقرة، واستعادة التغييرات إذا قام المساعد بتعديل شيء لم ترغب فيه.
00:09:58لتسهيل عملي مع 'جيت'، أستخدم مجموعة من الأوامر القابلة لإعادة الاستخدام والتي نسميها 'سير العمل' (workflows) في 'أنتي جرافيتي'.
00:10:04بالنسبة لعملية الحفظ (committing)، أفضل تنسيقاً منظماً، لذا أتأكد من أن سير عمل الحفظ يفرض أن تتبع رسائل الحفظ هذا التنسيق، بل وأضع أمثلة للمساعد ليتبعها.
00:10:13قبل الحفظ، يتم إجراء فحوصات أمنية ومراجعة للكود لضمان أن التعديلات نظيفة ومتوافقة مع معاييري.
00:10:20يمكنك أيضاً إنشاء مجموعات من الأوامر لإدارة طلبات السحب (pull requests)، وبيئات العمل (worktrees)، والفروع (branches) وغيرها، مما يجعل سير عمل 'جيت' بالكامل أكثر اتساقاً وكفاءة.
00:10:28استدعاء سير العمل هذا بسيط للغاية؛ فقط اكتب اسمه، وسيقوم بتنفيذ جميع الخطوات تلقائياً.
00:10:34يمكنك استخدام أوامر أخرى، مثل 'إصلاح المشكلات' أو 'المراجعة'، لإجراء مراجعات للكود وتشغيل سير عمل لتحديث التبعيات، بناءً على احتياجات قاعدة الكود المحددة.
00:10:43قد يبدو هذا بديهياً، لكن الكود المولد بالذكاء الاصطناعي يحتاج بالتأكيد إلى مراجعة فهو ليس مثالياً دائماً.
00:10:48من الممارسات المهمة هي مراقبة المساعد أثناء عمله.
00:10:51إذا رأيته يتجه في مسار خاطئ، فقم بمقاطعته فوراً وإعادة توجيهه نحو هدفك.
00:10:56بمجرد انتهاء المساعد، ستحتاج لإجراء مراجعة باستخدام المساعد نفسه.
00:11:00في مشاريعي، غالباً ما أستخدم سير عمل مخصصاً لمراجعة الكود يدمج جميع أفضل الممارسات مع 'جيت'.
00:11:06فهو يبرز المشكلات بناءً على خطورتها، ويسرد جميع الفحوصات التي يجب إجراؤها على الكود للتأكد من صحته، ويمكنه أيضاً تضمين أدوات فحص التنسيق (linters) والاختبارات لتشغيلها بعد المراجعة.
00:11:15هذا يضمن أن الكود ذو جودة عالية وموثوق.
00:11:18بما أن معظم المشاريع تُدار باستخدام أنظمة التحكم مثل 'جيت هاب' (GitHub)، فإننا نستخدم 'باغ بوتس' (BugBots) لإجراء تحليل متقدم بالذكاء الاصطناعي لرصد المشكلات واقتراح التحسينات مع كل طلب سحب.
00:11:28هناك العديد من الأدوات المدعومة بالذكاء الاصطناعي التي تساعد في مراجعة الكود، مثل CodeRabbit و Sentry وغيرها.
00:11:33حتى 'جيت هاب' نفسه يحتوي على ميزات مراجعة كود مدمجة لكل طلب سحب، مما يساعد في إدارة سير عمل الفريق.
00:11:38لتحديد مشاكل الهيكلية (architecture)، يمكننا طلب رسم مخطط 'ميرميد' (mermaid diagram) من المساعد.
00:11:43باستخدام هذه المخططات، يمكننا تحليل المشكلات الرئيسية واكتشافها بصرياً.
00:11:47هذه المخططات مفيدة بشكل خاص لأن المرئيات أسهل في الفهم وتعمل كتوثيق واضح لهيكلية المشروع.
00:11:54تشغيل المساعدين بالتوازي أمر بالغ الأهمية، فهو لا يحسن أداء نماذج الذكاء الاصطناعي فحسب، بل يوفر الكثير من الوقت مقارنة بانتظار مساعد واحد لإكمال المهمة.
00:12:05هذا النهج يمكن أن يحسن المخرجات بشكل كبير.
00:12:07غالباً ما أستخدم عدة مساعدين يعملون في وقت واحد، مع تكليف كل واحد منهم بمهمة مختلفة، كما أستخدم عدة نماذج لأن كل نموذج يتفوق في مهام معينة.
00:12:16يعمل المساعدون بشكل مستقل ولا ينبهونك إلا إذا احتاجوا لمدخلات، مما يسمح لهم بالعمل في آن واحد.
00:12:22بما أن مساعدي 'أنتي جرافيتي' يتشاركون في نفس مساحة العمل وليسوا معزولين، أتركهم يعملون في فروع (branches) منفصلة.
00:12:28بمجرد إكمال مهامهم واجتياز الفحوصات التي حددتها للمشروع، أقوم بدمج ميزاتهم في الفرع الرئيسي.
00:12:34أحياناً نواجه أخطاء برمجية لا نعرف كيفية إصلاحها.
00:12:38في مثل هذه الحالات، يكون 'وضع التصحيح' (debug mode) هو الحل الأمثل.
00:12:40بدلاً من مجرد تخمين الإصلاحات، يحاول وضع التصحيح فهم الخطأ المحتمل ويولد جمل تسجيل (logging) للكود، مما يساعد في تقليل الأخطاء ويجعل عملية التصحيح أكثر منهجية.
00:12:50رغم عدم وجود وضع تصحيح أصلي في 'أنتي جرافيتي'، يمكننا تنفيذ واحد باستخدام مهارة 'وضع التصحيح'.
00:12:56تحتوي هذه المهارة على جميع التعليمات لتصحيح السلوك غير المتوقع في الكود.
00:13:00وهي تتبع نهجاً قائماً على الأدلة، وتضع فرضيات، وتوفر خطة مفصلة متعددة المراحل للتعامل مع المشكلة وحلها.
00:13:08يتم توجيهها بواسطة برمجيات ومراجع محددة لتحسين فعاليتها، مما يجعل وضع التصحيح أكثر موثوقية.
00:13:14كلما واجهت أي نوع من الأخطاء، أستخدم ببساطة وضع التصحيح وأترك المساعد يكتشف الخلل باتباع الإرشادات الموجودة في ملف skill.md، مما يجعل عملية تصحيح الأخطاء سلسة للغاية.
00:13:25وبهذا نصل إلى نهاية هذا الفيديو.
00:13:27إذا كنت ترغب في دعم القناة ومساعدتنا في الاستمرار في تقديم مثل هذه الفيديوهات، يمكنك القيام بذلك عبر زر 'شكراً' (Super Thanks) أدناه.
00:13:33كما هو الحال دائماً، شكراً لكم على المشاهدة وأراكم في الفيديو القادم.