00:00:00تتوفر مجموعة واسعة من الأدوات التي يمكنك استخدامها في الهندسة القائمة على الوكلاء، أي للعمل على الأكواد البرمجية
00:00:06بمساعدة الذكاء الاصطناعي. ومن بين الأكثر شهرة هذه الأيام بالطبع Cloud Code وOpen Code وCursor
00:00:13وVisual Studio Code مع GitHub Copilot. وبالطبع هناك أيضاً Google Anti-Gravity،
00:00:18وCodex وGemini CLI، وأتعلمون؟ هذه هي الأدوات التي استخدمتها بكثرة خلال
00:00:24الأشهر القليلة الماضية ببساطة لأنني أرغب باستمرار في اختبار ما هو متاح
00:00:29ومدى كفاءة عمل هذه الأدوات. لقد بنيت مشاريع فعلية مثل buildmygraphic.com ومشاريع أخرى
00:00:35من المقرر إطلاقها قريباً، بالإضافة إلى العديد من المشاريع الداخلية. كما أعددت دورات كاملة
00:00:41مثل هذه الدورة التي حدثتها مؤخراً حيث أتعمق في Cursor وGitHub Copilot، أو هذه الدورة
00:00:46التي أصدرتها بالأمس حيث أتعمق في Cloud Code. لكن في هذا الفيديو، أريد أن أعطيكم
00:00:53نظرة عامة على هذه الأدوات، وقدراتها المختلفة، ورأيي الشخصي فيها. وأول
00:00:59فرق مهم بالطبع هو أنه يمكننا تقسيمها إلى معسكرين إن صح التعبير.
00:01:05لأن لدينا أدوات سطر الأوامر (CLIs) أو واجهات المستخدم الطرفية (TUIs)،
00:01:12ولدينا بيئات التطوير المتكاملة (IDEs). وللإنصاف، أداة Open Code تمتلك وضع ويب أيضاً، لذا يمكنك تشغيل
00:01:23خادم محلي على نظامك ثم استخدام واجهة ويب للعمل مع Open Code. لكن
00:01:31الوضع الافتراضي الذي استخدمتها فيه هو وضع TUI، وهو نفس نوع الوضع الموجود
00:01:37في Cloud Code. حيث تقوم بتشغيل Open Code بعد تثبيته في أحد مشاريعك، ثم
00:01:44تتفاعل معه من داخل سطر الأوامر أو الطرفية الخاصة بك. تماماً كما هو الحال مع
00:01:49Cloud Code افتراضياً. وتجدر الإشارة إلى أن كلاً من Open Code وCloud Code يمتلكان
00:01:57تكاملات مع بيئات التطوير، لذا يمكن دمجهما مع تلك البيئات وعرض تغييرات الكود أو معاينات
00:02:04للتعديلات المقترحة داخل البيئة، أو السماح لك بالتفاعل معها هناك. هذه التكاملات
00:02:12موجودة، لكن من الإنصاف القول إنها محسنة ومبنية أساساً ليتم استخدامها
00:02:19من سطر الأوامر أو الطرفية. هذا ما أعنيه عندما أقول إنها أدوات CLI أو TUI.
00:02:25أحد الأسباب المهمة وراء بناء Cloud Code وOpen Code بشكل أساسي
00:02:32للطرفية أو كإضافات لبيئات التطوير الحالية بدلاً من كونها نسخاً معدلة من VS Code مثل
00:02:40Cursor أو Windsor على سبيل المثال، هو أن هذا يمنح المطورين مرونة أكبر.
00:02:49فلا يحتاجون للقلق بشأن كل الميزات التي تتطلبها بيئة التطوير، بل يمكنهم
00:02:55التركيز على بناء وكلاء جيدين وأدوات تساعدك على توليد وتعديل الكود بالذكاء الاصطناعي. وبالطبع،
00:03:04أحد العيوب إذا أردت تسميتها كذلك، هو أن بيئات التطوير هذه توفر
00:03:10أكثر من مجرد وكلاء ذكاء اصطناعي وواجهات دردشة للتفاعل معها. Cursor مثلاً يمتلك
00:03:18ميزة إكمال تلقائي مذهلة تتيح لك التنقل بسرعة في قاعدة الأكواد عبر الضغط على مفتاح TAB
00:03:26وتطبيق التعديلات في ملف كامل وحتى عبر عدة ملفات. وأستطيع القول إن GitHub Copilot لديه
00:03:34إكمال تلقائي جيد. هو بالتأكيد أقل كفاءة من Cursor في رأيي، لكنه جيد أيضاً،
00:03:39والأهم من ذلك أنه موجود، بينما مع أدوات CLI مثل Cloud Code وOpen Code لا يوجد
00:03:46إكمال تلقائي في محررك، على الأقل ليس مدعوماً بهذه الأدوات. إنها بدلاً من ذلك وكلاء أو أدوات
00:03:55قائمة على الوكلاء، مما يعني أنك تتفاعل مع دردشة تقوم بتشغيل الذكاء الاصطناعي.
00:04:02هذه هي طبيعة تلك الأدوات، وبالطبع Cursor وVS Code مع GitHub Copilot يوفران ذلك أيضاً
00:04:08بالإضافة للإكمال التلقائي. لديك ذلك الشريط الجانبي في VS Code حيث يمكنك التفاعل مع GitHub Copilot،
00:04:14والأمر نفسه في Cursor بالطبع، لكن مع Open Code وCloud Code، هذه هي طريقتك الأساسية
00:04:21والوحيدة للتفاعل في النهاية. وبما أنها في النهاية وكلاء ذكاء اصطناعي أو بما أنها
00:04:28تتعلق بالهندسة القائمة على الوكلاء، فإن أحد أهم الأسئلة هو: ما هي نماذج الذكاء الاصطناعي
00:04:34التي تدعمها هذه الأدوات المختلفة؟ بالنسبة لـ Cloud Code، فهي تعتمد بشكل أساسي على نماذج Anthropic،
00:04:42أعني Haiku وSonnet وبالطبع Opus. ولأن Cloud Code من إنتاج نفس الشركة
00:04:51المصنعة لهذه النماذج، Anthropic، فإن التكامل بينهما ممتاز جداً
00:04:57وهذه النماذج بحسب تجربتي تميل للعمل بشكل رائع في Cloud Code. وأقول هذا لأن
00:05:02نفس هذه النماذج متاحة أيضاً في الأدوات الأخرى؛ فعند استخدام GitHub Copilot يمكنني بالطبع اختيار
00:05:10نماذج Anthropic تلك أيضاً، لكنها تعمل في بيئة تشغيل مختلفة. فهي تعمل في بيئة
00:05:17GitHub Copilot أو Cursor أو Open Code، وكل هذه البيئات جيدة،
00:05:23لكن ذلك المزيج بين Cloud Code ونماذج Anthropic جيد بشكل استثنائي في
00:05:29تجربتي. ومع ذلك، تجدر الإشارة إلى أنه تم الإعلان مؤخراً
00:05:35عن أن Cloud Code يتكامل أيضاً مع Ollama. وإذا كنت لا تعرف Ollama، فهي أداة يمكن
00:05:41استخدامها لتشغيل نماذج ذكاء اصطناعي مفتوحة على جهازك، إذا كان نظامك قوياً بما يكفي لذلك بالطبع.
00:05:49لذا يمكنك نظرياً استخدام Cloud Code مع نماذج مفتوحة، مما يجعل استخدامه مجانياً تقريباً لأنها تعمل على
00:05:54جهازك الخاص ولن تدفع سوى تكلفة الكهرباء. العيب هو أن هذه النماذج،
00:06:01على الأقل حالياً، ليست بنفس كفاءة نماذج Anthropic، خاصة نموذج Opus مثلاً،
00:06:08وحتى لو كانت كذلك، فنحن نتحدث عن نماذج تحتاج إلى ذاكرة رسومية (GPU RAM) ضخمة
00:06:16وموارد أجهزة قوية جداً بشكل عام لتعمل بكفاءة، لذا
00:06:22لن تعمل على حاسوبك المحمول أو Mac Mini أو ما شابه. هذا أمر جدير بالملاحظة ولكن
00:06:29الدعم موجود، وبالطبع اعتماداً على جهازك وتطور النماذج المفتوحة مستقبلاً،
00:06:35قد يكون هذا خياراً قابلاً للتطبيق. إذاً لدينا دعم Ollama هنا أيضاً. كما يمكنك استخدام
00:06:42Ollama مع Open Code وCursor، وجميع تلك الأدوات الأخرى تدعم أيضاً العديد من
00:06:51النماذج الأخرى. أعني في Open Code إذا كتبت فقط “models” ستجد قائمة طويلة جداً من النماذج للاختيار
00:06:59منها من مزودين مختلفين، والأهم من ذلك، من اشتراكات مختلفة قد تملكها.
00:07:05كان هناك وقت يمكنك فيه استخدام Open Code مع اشتراك Cloud Code Max
00:07:12مثلاً، وكان بإمكانك استخدام نماذج Anthropic تلك في Open Code عبر ذلك الاشتراك،
00:07:17وهو ما كان رائعاً لأنني شخصياً أفضل واجهة المستخدم، وفي جوانب كثيرة،
00:07:24سلوك Open Code على Cloud Code. أعتقد أن Open Code برنامج مذهل حقاً،
00:07:30وهو مفتوح المصدر بالمناسبة، سأعود لذلك لاحقاً، لكن Anthropic منعت ذلك
00:07:36ولم يعد بإمكانك استخدام اشتراك Cloud Code Max في Open Code. لكن يمكنك مثلاً استخدام
00:07:43اشتراك GitHub Copilot الخاص بك. فيمكنك استخدام ذلك الاشتراك هنا مع Open Code وبالطبع
00:07:50مع GitHub Copilot، وهذا أمر جيد جداً لأنك ستحصل على نظام الاشتراك
00:07:54الذي قد تكون تدفع ثمنه بالفعل، ويمكنك تجربة تلك النماذج في Open Code بجانب استخدامها
00:08:00بالطبع في GitHub Copilot داخل VS Code مثلاً، لذا فهذا أمر رائع. لكن بغض النظر
00:08:06عن نظام الدفع الذي تستخدمه، فلديك إمكانية الوصول لنماذج عديدة في هذه الأدوات الثلاث، باستثناء Cloud Code.
00:08:13لقد ذكرت للتو أن Open Code مفتوح المصدر. وميزة ذلك بالطبع هي الشفافية التامة في التطوير،
00:08:20والتطوير القائم على المجتمع، والابتكار السريع، رغم أنني سأقول إن هذا ينطبق على كل هذه الأدوات تقريباً.
00:08:25ربما يتأخر GitHub Copilot قليلاً لكنهم سريعون جداً في اللحاق بالركب وتطبيق كل الميزات التي
00:08:32قد تضيفها الأدوات الأخرى، ومع ذلك فمن الجميل أن يكون Open Code بديلاً مفتوح المصدر
00:08:38ومدفوعاً بالمجتمع. ومع ذلك، يقدم Open Code اشتراكاً أيضاً. هناك Open Code Black الذي يوفر
00:08:43فئات مختلفة تماماً مثل اشتراكات Anthropic أو GitHub Copilot أو Cursor
00:08:50ليعطيك قدراً من الاستخدام المضمن، بحيث لا تضطر للدفع مقابل
00:08:55الاستخدام الفعلي، بل تدفع رسوماً ثابتة مقابل استخدام محدد مسبقاً. هذا متاح هنا
00:09:02أيضاً على الرغم من كون Open Code مفتوح المصدر. إذاً لدينا اشتراكات مدفوعة متاحة لـ Cloud Code،
00:09:07وOpen Code، وCursor يمتلكها أيضاً، وهناك أيضاً خطط اشتراك لـ GitHub Copilot.
00:09:14بالنسبة لـ Cloud Code فأنت بحاجة لاشتراك مدفوع، أما في Open Code فهو اختياري،
00:09:20وكما ذكرت يمكنك استخدام اشتراك GitHub Copilot في Open Code كخيار متاح.
00:09:26ما يجدر ذكره هنا هو أن Open Code هو الأداة الوحيدة التي تحتاج أن تكون مربحة، حسب تقديري على الأقل،
00:09:31لأنها ليست شركة ضخمة مدعومة برأس مال استثماري أو ما شابه، وليست Microsoft كما في
00:09:39حالة GitHub Copilot، لذا عليهم إيجاد نموذج يحققون منه المال عبر تلك
00:09:46الاشتراكات. بينما Cloud Code وCursor وأظن أيضاً GitHub Copilot في النهاية،
00:09:52كلها مدعومة مادياً بشكل كبير من شركاتها لأنها إما ممولة من صناديق استثمارية أو من Microsoft، لذا ستحصل
00:09:58على الأرجح على استخدام أكبر من خطط Cloud Code وCursor وGitHub Copilot عما قد تحصل عليه
00:10:05من Open Code، لكن هذا يعتمد بالطبع على النماذج التي تستخدمها وما إلى ذلك،
00:10:11وقد لا يمثل مشكلة في الواقع. والآن دعونا نتحدث عن الميزات. ما هي الميزات المدعومة؟
00:10:17الإجابة المختصرة هي: إذا وُجدت ميزة جيدة في نموذج ما، فالبقية يسارعون لتبنيها.
00:10:22يبدو لي أن Cloud Code كان هو المحرك للعديد من الميزات الجديدة، وكذلك كان Cursor
00:10:29إلى حد ما، بينما مال GitHub Copilot للتأخر قليلاً. لكن إذا نظرنا للميزات، والتي بالمناسبة
00:10:38أغطيها بالكامل في دورة Cloud Code التي أطلقتها مؤخراً وفي دورة الذكاء الاصطناعي للمطورين التي ذكرتها،
00:10:45إذا نظرنا لميزات مثل “الوكلاء الفرعيين” (sub-agents) وميزات مثل “مهارات الوكلاء” (agent skills)، سنجدها مدعومة
00:10:50من قبل كل هذه الأدوات، وستجد توثيقاً لها في Open Code
00:10:57ولدى جميع المزودين الآخرين، فكلهم يوفرون هذه الميزات. الشيء الوحيد الجدير
00:11:04بالملاحظة ربما هو أنه في حالة Open Code، مصطلح “الوكلاء” يشمل شيئين؛
00:11:12فهو مزيج من أوضاع مختلفة يمكنك تشغيل Open Code فيها، ووكلاء يمكن إسناد العمل إليهم.
00:11:19أما في حالة Cloud Code، فالوكيل هو مجرد وكيل فرعي يتم استدعاؤه لأداء
00:11:26مهمة محددة، مثل استكشاف التوثيق مثلاً. وفي Open Code لديك وكلاء مختلفون
00:11:34يمكنك التنقل بينهم عبر مفتاح Tab للتبديل بين وضع التخطيط (plan mode) ووضع التعديل (edit mode)،
00:11:42فلديك وكيل للتخطيط وآخر للتعديل. في Cloud Code تُسمى هذه الأشياء “أوضاعاً”، وهذا أمر
00:11:47يستحق الذكر، لكن في النهاية ستجد كل هذه الميزات مثل الوكلاء والمهارات في كل هذه الأدوات،
00:11:53وإذا كانت مفقودة في إحداها، فتأكد أنها ستدعم قريباً. الأمر نفسه ينطبق
00:12:01على ميزات الذاكرة أو ملفات القواعد (rules files)، فهي مدعومة في كل هذه الأدوات لتتمكن من إعداد ملفات
00:12:05تضع فيها قواعد عامة يجب اتباعها دائماً، أو تشارك فيها بعض الدروس المستفادة
00:12:13التي يجب أن تؤخذ بعين الاعتبار في جميع جلسات الدردشة. هنا في Cloud Code، هو ملف Cloud MD،
00:12:18ويمكنك أيضاً إعداد بعض القواعد في مجلد خاص بالقواعد، أما في Open Code فسيكون ملف
00:12:24agents MD وأيضاً ملف Cloud MD، فهو يدعم الاثنين. ملف agents MD هو من الناحية النظرية
00:12:31معيار مفتوح مدعوم بالفعل في Cursor أيضاً، لذا لدينا agents MD في Cursor
00:12:40وكذلك في GitHub Copilot. كما يمتلك Cursor قواعد خاصة به (cursor rules)، ولدى GitHub Copilot
00:12:50قواعده الخاصة أيضاً (GitHub Copilot rules). هنا في Cloud Code ستكون قواعد Clod الخاصة بي، وهي
00:12:57غير متوافقة مع البقية، وهذا هو الجزء المزعج هنا كما ترون؛ فمن الناحية النظرية ملف agents MD
00:13:06يفترض أن يكون متوافقاً ومشاركاً، لكن Cloud Code تتصرف مثل شركة Apple ولا تدعم agents MD،
00:13:12بدلاً من ذلك لديها Clod MD، والمدعوم من Open Code ولكن ليس من الأدوات الأخرى حسب علمي.
00:13:18نعم، هذا أمر مزعج نوعاً ما. وبشكل عام أيضاً، عندما يتعلق الأمر بمهارات الوكلاء هذه مثلاً،
00:13:24فهي مدعومة من قبل جميع النماذج المختلفة ولكن يجب تخزينها في مجلدات
00:13:29مختلفة تماماً؛ فمثلاً عند استخدام Open Code ستقوم بتخزين مهاراتك في مجلد
00:13:34OpenCode skills أو Clod skills، فهو يدعم ذلك من أجل التوافق. وإذا كنت تعمل مع Clod
00:13:41فإن مجلد Clod skills فقط هو المدعوم. ومع Cursor يكون مجلد cursor skills أو أيضاً Clod skills أو
00:13:48Codex skills من أجل التوافق، ولكن ليس OpenCode skills. ومع Visual Studio Code وGitHub
00:13:58Copilot، المجلد هو .GitHub skills أو أيضاً Clod skills. إذاً Clod skills يعمل في كل مكان، ولكن كما
00:14:05ترون، لا نزال في مرحلة يتطور فيها الكثير من الأشياء، حيث يحاول كل مزود
00:14:13أن يكون له إعداداته وتهيئته الخاصة ويفرضها على الآخرين. نعم، هذا سيتغير حتماً
00:14:20في المستقبل وأنا متأكد أنه خلال عام أو عامين سيصبح كل شيء أكثر معيارية، لكن الآن
00:14:28هناك الكثير من المجلدات المختلفة والكثير من الأشياء التي يجب البحث عنها في التوثيق، وبالطبع الأشياء
00:14:34تتغير باستمرار، وعندما ينشر هذا الفيديو قد تكون بعض الأمور قد اختلفت بالفعل.
00:14:39هذه الأدوات تدعم أيضاً خوادم MCP، بحيث يمكنك مثلاً تثبيت
00:14:45خادم Playwright لمنحها إمكانية الوصول للمتصفح، كما أن لديها إمكانية جلب البيانات من الويب (web fetch) لإرسال
00:14:51طلبات ويب، لتتمكن مثلاً من إخبارها بالذهاب إلى صفحة توثيق معينة وقراءة
00:14:57المحتوى منها. هذا مفيد بالطبع، ولذلك في النهاية، من منظور
00:15:02الميزات البحتة وبحسب خبرتي، لا توجد فروقات كبيرة. نعم، قد تختلف إعدادات التهيئة،
00:15:08وقد توجد ميزة متخصصة جداً في أداة دون الأخرى، ولكن عندما يتعلق الأمر
00:15:14بالميزات الرئيسية التي يوجد إجماع على جودتها، فهي مدعومة عادة
00:15:18في جميع الأدوات، وكما ذكرت سابقاً، إذا أضيفت ميزة جيدة وكانت مفقودة في أداة ما،
00:15:24فتأكد أنها ستُضاف هناك قريباً جداً أيضاً. ولكن ماذا عن جودة هذه
00:15:28الأدوات؟ ما هو حكمي عليها؟ أي واحدة يجب أن تستخدم؟ وأي واحدة تعطي أفضل النتائج؟
00:15:34أعتذر، ولكن في النهاية جميع هذه الأدوات جيدة. أعلم أنها إجابة مملة جداً، ولكن ماذا عساي أن أفعل؟
00:15:40كلها جيدة. لقد استخدمتها جميعاً ولا توجد أداة هنا يمكنني القول عنها إنها سيئة.
00:15:48كما قلت في البداية، بحسب تجربتي، Claude Code يعمل بشكل رائع جداً خاصة عند استخدامه مع Opus
00:15:54لأنه يعمل في بيئة من إنتاج نفس الشركة التي صنعت النماذج، يمكنك أن تشعر بأنك تحصل
00:16:00على نتائج جيدة حقاً من Claude Code مع نماذج Anthropic تلك. وسأقول أيضاً
00:16:07إنه كانت هناك فترة شعرت فيها أن GitHub Copilot أعطى نتائج جيدة جداً مع نماذج Anthropic تلك،
00:16:13بل وأفضل إلى حد ما، ولكن هذا أمر شخصي جداً وقد يعتمد على المشروع المحدد الذي تعمل عليه.
00:16:18الآن، ما يعجبني بالتأكيد هو أنه مع Open Code وCursor وGitHub Copilot يمكنني أيضاً
00:16:24استخدام نماذج أخرى، لأن هناك مثلاً نموذج GPD 5.2 codecs، أظن أن هذا هو اسمه.
00:16:30إنه نموذج مذهل للبرمجة وغير متوفر في Claude Code، لكنه متوفر في
00:16:39تلك الأدوات الأخرى، وهو نموذج أحبه كثيراً. أحب استخدامه مثلاً للمهام
00:16:46الأكثر تعقيداً، وهنا أنتقل إلى Open Code. لدي اشتراك في GitHub Copilot لذا يمكنني استخدامه
00:16:53من خلال ذلك الاشتراك، أو مع اشتراك Cursor يمكنك استخدامه في Cursor، وهذا هو الوقت
00:16:58الذي سأنتقل فيه عندما أريد استخدام نموذج غير متوفر في Claude Code. وسأكون
00:17:04صريحاً أيضاً، أحياناً أو في مهام معينة أفضل استخدام بيئة تطوير (IDE) لأنني أعلم أنني سأحتاج
00:17:09للقيام بمزيد من التعديلات بنفسي لأنني أريد رؤية واضحة للفروقات (diff view). وبالطبع Cursor وGitHub Copilot
00:17:15بمجرد انتهائهما من التغييرات يعطيانك نظرة عامة جيدة عما تغير ويمكنك قبول
00:17:22أو رفض هذه التغييرات تعديلاً بتعديل، وهناك مهام معينة أحب فيها الحصول على ذلك،
00:17:28لذا ستكون هذه هي الحالات التي أستخدم فيها بيئات التطوير هذه بدلاً من ذلك. وإذا كنا نتحدث فقط عن جودة
00:17:34الكود، فمرة أخرى وكما ذكرت، لا يمكنني حقاً القول إن أداة واحدة أسوأ من البقية، فهذا ذكاء اصطناعي،
00:17:41وقد حصلت على نتائج سيئة جداً معها جميعاً كما حصلت على نتائج جيدة معها جميعاً. والجزء الأهم
00:17:49سيكون دائماً صياغتك للأوامر (prompt) والسياق الذي توفره، واستخدامك لميزات مثل الوكلاء
00:17:55والمهارات؛ فالمهارات على وجه الخصوص يمكن أن تكون مفيدة جداً لتوفير معرفة إضافية، ولكن هذا ينطبق
00:18:02بالطبع على كل هذه الأدوات، وتلك هي مهمتك كمطور. لأننا لا نتحدث هنا عن
00:18:08مجرد كتابة كود بشكل عشوائي، بل نتحدث عن هندسة قائمة على الوكلاء حيث تستغل مهاراتك
00:18:13كمطور، وتحاول إعطاء الذكاء الاصطناعي معلومات يمكنه العمل بها، وحيث
00:18:18تراجع الحل الذي توصل إليه الذكاء الاصطناعي، وهنا يمكن لكل هذه الأدوات القيام بعمل جيد.
00:18:23review the solution the AI came up with and here all these tools can do a good job.