00:00:00في كل يوم، يبدو أن هناك ميزة جديدة في Cloud Code، أو درساً تعليمياً جديداً، أو شيئاً آخر
00:00:04تشعر بأنك تتأخر عنه. وهذا أمر مربك للغاية إذا كنت قد بدأت للتو،
00:00:09خاصة إذا لم تكن قادماً من خلفية تقنية. ولكن اليوم سأساعدك
00:00:13في حل هذه المشكلة وأريك المفاهيم التي سأبدأ بها لو كنت سأبدأ من جديد،
00:00:19وبشكل جديد تماماً اليوم. سنغطي 35 مفهوماً عبر أربعة أقسام مختلفة،
00:00:25بدءاً بالأشياء التي يجب أن تعرفها في البداية وانتهاءً بالأشياء المتقدمة جداً
00:00:30للمستخدمين المحترفين التي لا تحتاج لمعرفتها الآن، ولكن يجب أن تعلم أنها موجودة على الأقل.
00:00:34وفي النهاية، سيكون لديك خارطة طريق واضحة يمكنك البدء بها على الفور
00:00:39والبدء في تحقيق تقدم حقيقي. وأول مفهوم سنغطيه هو ما هو الفرق
00:00:45الفعلي بين تطبيق الويب cloud.ai، واجهة الـ Chat GPT هذه، وبين Cloud Code نفسه؟
00:00:53الأمر بسيط نسبياً. هذان النظامان يستخدمان نفس العقل. فلدي Opus 4.6 يعمل داخل
00:01:00Cloud Code. وهنا في قائمة الدردشة، لدي Opus 4.6. والفرق هو أنه عندما أستخدم
00:01:06Cloud Code، فإن هذا العقل يملك جسداً. يملك يدان. يمكنه القيام بأشياء نيابة عني، سواء
00:01:11كان ذلك كتابة كود، أو الوصول إلى رسائل البريد الإلكتروني الخاصة بي، أو التفاعل مع جهاز الكمبيوتر الخاص بي.
00:01:16هذا هو الفرق الأكبر. Cloud Code يمكنه فعل أشياء لي بشكل عام. والآن،
00:01:22المفهوم رقم اثنين هو تثبيت Cloud Code. ولحسن حظنا، هذا بسيط نسبياً.
00:01:26إذا بحثت في جوجل عن تثبيت Cloud Code، فسينقلك ذلك إلى وثائق Cloud Code.
00:01:31وكل ما علينا فعله هو نسخ ولصق سطر واحد من الكود في الـ Terminal أو إذا كنت تستخدم
00:01:37Windows، في شيء مثل PowerShell. والسطر الذي ستختاره يعتمد على نظام
00:01:42التشغيل الخاص بك. فإذا كنت تستخدم Mac OS أو Linux أو WSL، فستنسخ هذا. وإذا كنت
00:01:47تستخدم Windows PowerShell، فستنسخ هذا. وللعثور على الـ Terminal أو العثور على PowerShell،
00:01:52ستذهب ببساطة إلى قائمة البحث. نفس الشيء في Mac. أنا على Windows أكتب PowerShell. سيعطيك
00:01:57واجهة مخيفة كهذه. ستقوم بلصقه وتشغيل هذا الأمر، ثم سيمر
00:02:02بك عبر معالج الإعداد. الأمر بسيط للغاية. سيطلب منك تسجيل الدخول وسوف
00:02:06تستخدم خطة اشتراكك الفعلية. وبعد تشغيل الإعداد ولإطلاق Cloud Code فعلياً،
00:02:11يمكنك ببساطة كتابة claud. وسوف ترى شيئاً كهذا. والآن ننتقل إلى المفهوم
00:02:17الثالث، وهو أين نستخدم Cloud Code فعلياً؟ لأن هناك الكثير من الخيارات في الواقع.
00:02:22لأنه بينما يمكنني استخدام Cloud Code في الـ Terminal هكذا، يمكنني أيضاً استخدام تطبيق سطح المكتب
00:02:27أيضاً. هذا أيضاً Cloud Code. ولدينا هنا أيضاً co-work. ماذا عن co-work؟
00:02:32وماذا عن الدردشة؟ أو ماذا عن شيء مثل VS code وهو IDE، بيئة تطوير متكاملة،
00:02:38حيث لدي الـ Terminal هنا، مثل وضع PowerShell هذا،
00:02:44ولكن لدي القدرة على النظر إلى ملفاتي ولدي نافذة أخرى هنا، أليس كذلك؟ الأمر كله
00:02:48مربك للغاية. مرة أخرى، خاصة إذا لم تكن معتاداً على أي من هذا. حسناً، الحقيقة هي أن ذلك
00:02:53لا يهم كثيراً. في نهاية المطاف، أقوى نسخة هي النسخة التي تتيح لك
00:02:58العمل في الـ Terminal، سواء كان ذلك باستخدام شيء مثل VS code، والذي سأريك كيف
00:03:01تفعله اليوم، أو كنت تستخدم الـ Terminal الخام، كما هو الحال في PowerShell أو شيء من هذا القبيل.
00:03:06ولكن عندما تبدأ، إذا كان كل ذلك كثيراً عليك وكنت تقول، مهلاً، أريد فقط
00:03:11واجهة سهلة الفهم داخل تطبيق سطح المكتب Cloud Code، أو حتى co-work لمعظم المستخدمين،
00:03:19فإن 99٪ من الأشياء التي سيفعلونها يمكن القيام بها في أي من هذه المساحات. لن تفقد
00:03:23أي شيء. ومع ذلك، فإنني أحثك على تجربة الـ Terminal، على الأقل في البداية،
00:03:29امنحها أسبوعاً أو أسبوعين. وإذا وجدت في نهاية تلك الفترة أنك لا تزال تشعر بأن
00:03:34هذا أكثر من اللازم ولا يناسبك، فامضِ قدماً وانتقل إلى تلك المساحات الأخرى، سواء كانت
00:03:38Cloud Code أو حتى cowork، لأنه يمكنك دائماً الانتقال من الـ Terminal إليها.
00:03:43لكن الأمر أصعب قليلاً إذا اعتدت على شيء له، كما تعلم، حواجز حماية.
00:03:47ثم حاولت الانتقال إلى شيء أكثر قوة. وبقدر ما هو سهل بالنسبة لي أن أقول ذلك، فإن الـ Terminal
00:03:53ليس مخيفاً كما يبدو، لأنه في نهاية المطاف هو مجرد نافذة أوامر. سنقوم فقط
00:03:58بإعطاء أوامر لـ Cloud Code داخل الـ Terminal بنفس الطريقة التي تدردش بها مع GPT على تطبيق
00:04:03الويب. وكما قلت، سنستخدم VS code اليوم لأنني أعتقد أنه جسر سهل نحو
00:04:08بيئة الـ Terminal. وهذا ما يسمى IDE، بيئة تطوير متكاملة.
00:04:13لا يزال هو الـ Terminal، ولكنه مجرد وسيلة أكثر وداً لعرضه لأنه يمكنك أن ترى هنا
00:04:18لدي علامة التبويب المستكشف هذه. فعندما نبدأ العمل داخل ملف، فإن كل شيء أقوم بإنشائه
00:04:22داخل الملف يمكنني رؤيته هنا ويمكنني فتحه هنا وسيكون الأمر أكثر وضوحاً
00:04:27لاحقاً في الفيديو. الآن، استخدام VS code (Visual Studio Code) مجاني تماماً. إذا بحثت عن VS code في
00:04:32جوجل وضغطت على الرابط الأول، فسيتم نقلك إلى هنا. محرر الأكواد المفتوح المصدر بالذكاء الاصطناعي. ستقوم
00:04:37بتحميله فقط، وتشغيل معالج التثبيت. وهذا كل ما عليك فعله
00:04:41من هناك. فقط ابحث عن VS code، وانقر عليه، وسيتم نقلك إلى صفحة كهذه.
00:04:46ستذهب إلى "File"، ثم "Open Folder"، وبعد ذلك سنقوم بإنشاء مجلد جديد اليوم.
00:04:52هذا المجلد هو المكان الذي سنعمل فيه. تماماً كما تعمل في أي مشروع آخر على
00:04:56جهاز الكمبيوتر الخاص بك. سأذهب إلى مجلد جديد. سأسمي مجلدي "test-35". أنقر عليه،
00:05:02اختر المجلد. وسترى صفحة كهذه. بعد ذلك، أريدك أن تذهب إلى الأعلى حيث توجد
00:05:08الأزرار الثلاثة، اضغط على Terminal، واذهب إلى New Terminal. والآن أصبح الـ Terminal مفتوحاً هنا في
00:05:13الأسفل، تماماً كما كان الحال عندما استخدمنا PowerShell. والآن لفتح Claud، يمكنني كتابة claud.
00:05:18وها نحن ذا. Cloud Code يعمل الآن. لذا دعونا نتحدث عن المفهوم رقم أربعة،
00:05:25وهو الصلاحيات. في الوقت الحالي ستلاحظ أنه يجب أن يكون فارغاً في الأسفل. ولكن إذا ضغطت
00:05:30على shift tab، سترى بعض الخيارات تظهر. ماذا تعني كل هذه الأشياء؟ حسناً، هذه هي
00:05:35الصلاحيات المختلفة. فكر فيها كما لو كانت إعدادات أمان لما يمكن لـ Claud فعله وما
00:05:40لا يمكنه فعله لجهاز الكمبيوتر الخاص بك، أو للملفات الموجودة على جهازك دون إذنك. الآن، عندما يكون
00:05:46المكان فارغاً، نكون على إعداد الصلاحيات الافتراضي. وهذا يعني أنه سيطلب إذنك
00:05:50بشكل صريح لتعديل الملفات. إذا أردت تفعيل "Accept Edits"، فسيقوم بتعديل الملفات تلقائياً دون طلب
00:05:56الإذن. لذا فإنه أسرع قليلاً. ولكن إذا كان سيستخدم أي أوامر bash، وهذا يعني
00:06:00أوامر الـ terminal، أي تغييرات على جهاز الكمبيوتر الخاص بك، مثل تحميل تبعية معينة
00:06:05أو برنامج وتثبيته، فسيطلب إذنك للقيام بذلك. ثم لدينا وضع التخطيط،
00:06:09الذي سنتحدث عنه في ثانية. الآن هناك صلاحية ثالثة في الواقع. ولكن للقيام بذلك،
00:06:14تحتاج إلى فتح Claud بطريقة معينة. لذا إذا قمنا بكتابة exit/، فسيخرجنا ذلك من Cloud code.
00:06:20والآن إذا كتبت claud ثم dash dash dangerously skip permissions،
00:06:26فسيفتح Claud بشكل طبيعي، ولكن سترى إعداداً جديداً هنا يسمى bypass permissions on.
00:06:33هذا يعني أنه يمكنه تعديل الملفات وحذف الملفات وتحميل الأشياء دون إذني. يبدو الأمر
00:06:38مخيفاً في البداية، ولكن بمرور الوقت ستفهم أن هذا هو المكان الذي ينتهي به المطاف بمعظم الناس لأنه
00:06:44أسرع بكل بساطة. سأقول إنني لم أواجه أبداً مشكلة مع Cloud code بحذف أي ملفات لم
00:06:49أخبره بها. رغم وجود تلك القصص النظرية دائماً، إلا أنه في المجمل،
00:06:54هذا سيوفر عليك الكثير من الوقت بمجرد أن تعتاد عليه. ولكن إذا لم تكن مرتاحاً
00:06:57لذلك بعد، ولا تريده أن يتصرف بجنون، فاجعل الإعداد على accept edits on. الآن، إذا ضغطت shift tab
00:07:01بضع مرات، فسينقلنا ذلك إلى وضع التخطيط، وهو المفهوم الأخير الذي سنغطيه في هذا القسم
00:07:06من الأساسيات الجوهرية. وضع التخطيط يعني أنه عندما أخبر Cloud code بفعل شيء مثل لنبني
00:07:11موقعاً إلكترونياً، فإنه لن يذهب فقط ليفعل ذلك بمفرده. بل سيفكر في الأمر في الواقع.
00:07:18سيضع سلسلة من الخطوات التي نحتاج إلى تنفيذها أولاً. وما ستراه هنا على
00:07:23الأرجح هو أنه سيعود إلينا ببعض الأسئلة. إنه يوجهنا بشكل أساسي
00:07:28للحصول على فكرة أفضل عما نريد بناءه. لذا فإن وضع التخطيط هو الطريقة الأولى لك للحصول
00:07:35على نتائج أفضل من Cloud code لأنه سيضمن أن أمرك (prompt) ليس سيئاً. فالأمر
00:07:39الذي ستضعه سيكون به عدد من الثغرات، وسيقوم وضع التخطيط بسد تلك الثغرات
00:07:44لأن Claud سيطرح علينا أسئلة للقيام بذلك بالضبط. فهو يسأل عن نوع
00:07:49الموقع الإلكتروني. سنقول صفحة هبوط. ويسأل عن التقنيات المستخدمة (stack). وإذا لم أكن أعرف، فسنختار
00:07:56الخيار الأول. ولغرضنا، سنقول إن هذا لمشروع شخصي ثم سنرسله.
00:08:04أردت فقط تخصيص لحظة للتحدث عن دورة Cloud code المتقدمة الخاصة بي لأنها الطريقة الأولى
00:08:08للانتقال من الصفر إلى مطور ذكاء اصطناعي، خاصة إذا لم تكن قادماً من خلفية تقنية.
00:08:13كل شيء في هذه الدورة مخصص للمبتدئين ونحن نركز على حالات استخدام حقيقية لمساعدتك في تعلم كيفية
00:08:20إتقان أداة الذكاء الاصطناعي المذهلة هذه. أقدم تحديثات جديدة كل أسبوع. وإذا كنت ترغب في
00:08:25الحصول عليها، فما عليك سوى التوجه إلى chase AI plus، هناك رابط في التعليق المثبت. لذا فإن هذا هو الوقت المثالي
00:08:30للتحدث عن المفهوم رقم ستة، وهو عقليتك عند استخدام Cloud code في صفحة التخطيط،
00:08:35وهذا وقت رائع لمناقشة هذا الأمر. الآن، يطرح عليّ حالياً بضعة أسئلة أخرى حول
00:08:40موقعنا الإلكتروني. ونقول إننا نريد جعله عن هذا التطبيق الوهمي المسمى Argus، وهو تطبيق
00:08:46استخبارات وسائل التواصل الاجتماعي. وسيقوم بإنشاء صفحة الهبوط هذه لنا. ولكن عندما يتعلق الأمر بالعقلية،
00:08:51تحتاج إلى البدء في التفكير في Cloud code كمتعاون. ومن السهل جداً القيام بذلك في
00:08:57مرحلة التخطيط، لأن لديك هذا الأخذ والرد، ولكن المكان الذي يتعثر فيه الناس هو في هذا
00:09:01الأخذ والرد. فهم سيفعلون فقط ما يقوله Cloud code، ولن يطرحوا عليه
00:09:06الأسئلة. وأحد الأمثلة على قيامنا بذلك بطريقة خاطئة كان عندما سألنا عن
00:09:11مجموعة التقنيات التي نريد استخدامها؟ قلنا فقط، مهلاً، سنستخدم Next.js و Tailwind.
00:09:15هل تعرف ما هو Next.js و Tailwind؟ على الأرجح لا. إذا لم تكن قد فعلت شيئاً كهذا من قبل،
00:09:20ففي كثير من الأحيان سيعطيك Cloud code توصية ومن الأفضل لك اتباعها.
00:09:26ولكن إذا كنت تريد حقاً تعلم Cloud code وفهم أساسيات البناء باستخدام الذكاء الاصطناعي،
00:09:31فعندها تحتاج إلى التوقف ومطالبة Cloud code بشرح هذه المفاهيم لك. وهذه هي الطريقة التي
00:09:37ستتعلم بها فعلياً ولن تكون مجرد نسخة من مبرمج يعتمد على الحدس فقط، لأن عليك
00:09:42أن تسأل نفسك إذا كان البناء بهذه السهولة، فما الفرق بينك وبين الشخص
00:09:48الموجود في الشارع والذي يمكنني استبدالك به؟ لأنه يمكنه طرح نفس هذه الأسئلة أيضاً والضغط فقط على
00:09:51قبول، قبول، قبول، ابنِ لي صفحة هبوط. ما سيميزك عن البقية
00:09:55ويبني مهاراتك حقاً على مستوى أساسي هو سؤال Cloud code هذه الأسئلة ليشرح
00:10:00الأشياء لك. إنه المعلم الصبور اللامتناهي وعلينا أن نعامله على هذا الأساس. إليك الخطة
00:10:06التي عاد بها Cloud code لصفحة الهبوط الخاصة بنا. وهذا ما يمكنك توقعه عند استخدام وضع التخطيط.
00:10:10سيعطيك مخططاً تفصيلياً للغاية لما يخطط للقيام به قبل أن يقوم بالتنفيذ
00:10:15فعلياً. وسترى بعض الخيارات هنا. سترى "yes, and bypass permissions"، وهو ما يعني أنه
00:10:20سيقوم بتشغيل ما خطط له ولن يطلب الإذن. "Yes, manually approve edits".
00:10:25لذا سيبدأ في إنشاء الأشياء، ولكنه سيطلب إذنك في كل مرة يريد فيها مثلاً
00:10:29إنشاء أو تعديل ملف، وهو أمر مزعج للغاية. ثم لدينا هذا الخيار، "no refine with ultra plan".
00:10:34الآن "ultra plan" ستكون في القسم الرابع عندما ننتقل إلى بعض الأشياء الخاصة بالمستخدمين المحترفين، وبعض هذه
00:10:39الميزات عالية المستوى داخل Cloud code. ولكن في الوقت الحالي، سنقول فقط "yes,
00:10:43bypass permissions". وهكذا، سيبدأ في بناء موقعنا الإلكتروني لنا.
00:10:46وما تراه هنا على اليسار هو كل الملفات التي يقوم ببنائها. هذا هو الجميل
00:10:50في VS code، خاصة عندما تبدأ لأول مرة. كل الأشياء التي يتم بناؤها موجودة
00:10:55هنا. لذا فالأمر كما لو أنني ذهبت فعلياً إلى مستكشف الملفات الخاص بي، وفتحت "test-35"
00:11:01ونظرت إلى ما بداخله. سأرى نفس الأشياء. والآن، أحد الملفات التي أنشأها Cloud code كان
00:11:05ملف claud.md الذي تراه هنا على اليسار. وهذا ما سنتحدث عنه في المفهوم
00:11:10رقم سبعة. ما هو ملف claud.md؟ حسناً، سيكون هذا موجوداً داخل كل
00:11:16مشروع يتم إنشاؤه بواسطة Cloud code، وفكر فيه كدليل التعليمات لـ Cloud code
00:11:21فيما يتعلق بهذا المشروع المحدد. هذا شيء يخبر Cloud code ببعض
00:11:26الاصطلاحات والقواعد المعينة. تريده أن يتبعها دائماً وطوال الوقت عند العمل داخل
00:11:32هذا المجلد المحدد. وسيقوم Cloud code بإنشاء هذا تلقائياً عندما يقوم ببناء
00:11:36مشروعك. لذا لا يتعين عليك لمس هذا كثيراً، واعلم أن هناك الكثير من التقنيات
00:11:41فيما يتعلق بـ claud.md. بعض الناس مثلي سيقولون إن القليل هو الأفضل. وآخرون يقولون ضع أكبر قدر
00:11:46ممكن من المعلومات هنا التي تعتقد أنها ذات صلة وهي بمثابة قواعد خارج الصندوق.
00:11:50كل ما تحتاج لفهمه في البداية هو أن هذا موجود وأياً كان ما تضعه هنا،
00:11:56فإن Cloud code سيرجع إليه في كل مرة تخبره فيها بفعل أي شيء. لذا فهي أداة
00:12:02قوية جداً، ولكنك تريد التأكد من أن ما تضعه هنا، إذا قمت بتعديله، هو مهم حقاً
00:12:07وينطبق فعلياً على كل أمر تقريباً. لقد أنشأ Cloud code صفحة الويب الخاصة بنا. وقال إن خادم
00:12:12التطوير قد بدأ هنا على localhost. والـ Localhost هو بمثابة صفحة ويب داخلية. إذا نقرت على هذا،
00:12:18فسيأخذك إلى صفحة الويب وأنا داخل متصفح Chrome الآن، ولكنه غير متصل بالإنترنت.
00:12:22هذا كله محلي. لذا فهذا هو ما بناه لنا. قبيح للغاية. وطوال هذا الفيديو،
00:12:27سأعطيك نصائح وتقنيات مختلفة لجعله أفضل فعلياً، ولكن فقط افهم
00:12:31أن هذا هو المكان الذي يتواجد فيه حالياً. ويمكننا التفاعل معه تماماً كما نفعل مع
00:12:34صفحة ويب عادية. ولكن قبل أن ندخل في ذلك، دعونا نتحدث عن أحد أهم مفاهيم
00:12:40Cloud code ونماذج اللغة الكبيرة بشكل عام. وهو المفهوم رقم ثمانية،
00:12:44نافذة السياق (the context window). يمكن رؤية نافذة السياق إذا كتبنا context/. وما
00:12:51نراه هنا هو مقدار ما استخدمناه من نافذة السياق. في هذه الحالة، استخدمنا 48,000 رمز (token)
00:12:57من أصل مليون رمز. وربما تتساءل: "تشيس، ماذا يعني ذلك بحق السماء؟ أنا حتى لا
00:13:01أفهم ما هي الرموز (tokens)، ناهيك عما يعنيه ذلك حقاً. 50,000 من مليون. حسناً، عما
00:13:06تتحدث؟" الرموز هي عملة نماذج اللغة الكبيرة و Cloud code. فكل
00:13:12كلمة واحدة هي رمز. لذا فكل كلمة هنا قدمناها لـ Cloud code داخل الأمر وكل
00:13:17كلمة رد بها علينا تساوي رمزاً واحداً. كلمة واحدة، رمز واحد. الأمر يختلف قليلاً في الواقع،
00:13:23ولكن فليكن هذا نموذجك العقلي. كل استدعاءات الأدوات التي يستخدمها تكلف رموزاً. كل الكود الذي
00:13:28أنتجه يكلف رموزاً. كل ما يفعله يكلف رموزاً. ونافذة السياق هي ميزانيتنا.
00:13:34بالنسبة لـ Cloud code، هي مليون رمز. وهي تختلف لكل نظام ذكاء اصطناعي.
00:13:42لماذا يجب أن نهتم بهذا؟ حسناً، أولاً، إذا امتلأت، فإن جلستنا تنتهي نوعاً ما، وربما
00:13:47واجهت هذا مع روبوتات الدردشة على مر السنين حيث تقول فجأة: "مهلاً، ليس لدي
00:13:50مساحة كافية." الجلسة تنتهي. يحدث ذلك عندما تملأ نافذة السياق بالكامل. ولكن
00:13:55المهم ليس مجرد ملء نافذة السياق. بل هي فكرة المفهوم رقم تسعة،
00:14:01وهي تدهور السياق (context rot). وهي الفكرة القائلة بأنه كلما ملأت نافذة السياق بمزيد من المحادثات،
00:14:07والمزيد من المهام لـ Cloud code، فإن الفعالية الفعلية لـ Cloud code تنخفض. فكلما استخدمته أكثر،
00:14:15كلما ساء أداؤه، مما يعني أننا نريد مراقبة مكاننا في نافذة السياق الخاصة بنا.
00:14:22خاصة وأنه يمكننا إعادة ضبطها في أي وقت. يمكنني العودة تقريباً إلى نقطة الصفر وقتما شئت.
00:14:27هذا له ثمن، أليس كذلك؟ عندما أستخدم روبوت دردشة عادياً، لنقل داخل claud.ai و
00:14:33بدأت دردشة جديدة، يكون ذلك مؤلماً لأن كل ما تحدثنا عنه، أريده أن
00:14:38يتذكره. أريده أن يتذكر محادثتي. لا أريد البدء من جديد. هذا سيء.
00:14:42ولكن إذا بدأت من جديد، فإن Cloud code يعمل بشكل أفضل. فماذا عليّ أن أفعل؟ حسناً،
00:14:47لحسن الحظ، البدء من جديد داخل Cloud code ليس مثل البدء من جديد داخل روبوت دردشة. إنه
00:14:51في الواقع أفضل بكثير لأن Cloud code، حتى لو بدأت من جديد ويمكنني البدء من جديد ببساطة عن طريق
00:14:57كتابة clear/، تمت إعادة ضبط جلستي الآن. Cloud code يعيش داخل هذا المجلد. إنه موجود على
00:15:03جهازي. إنه في روبوت دردشة في السحابة. كلما تحدثت إليه مرة أخرى وسألته أسئلة حول
00:15:08موقعي الإلكتروني، لا يهم أننا بدأنا دردشة جديدة لكل الأغراض والمقاصد لأنه يمكنه
00:15:13ببساطة النظر داخل قاعدة الكود. يمكنه النظر في كل هذه الملفات. لديه claud.md. لديه القدرة،
00:15:18تماماً مثل أي إنسان، على الدخول إلى المجلد ورؤية ما هو موجود. وبالتالي، وبسبب
00:15:25ذلك، أريد دائماً إعادة ضبط نافذة السياق الخاصة بي إذا استطعت. لأنه لماذا أريد
00:15:30العمل مع نسخة أسوأ من Cloud code عند 500,000 رمز من أجل الحفاظ على استمرار المحادثة
00:15:35بينما يمكنني جعله يتذكرها على أي حال، أليس كذلك؟ لذا لا توجد سلبيات تذكر لإعادة الضبط باستمرار.
00:15:42علاوة على ذلك، كلما ملأت نافذة السياق، تصبح أوامرك أغلى ثمناً. أنت
00:15:48تستهلك المزيد من استخدامك لأن كل أمر يرسل أساساً كل ما سبقه. والآن هناك نظام تخزين مؤقت (caching)،
00:15:53والذي يخفف نوعاً ما من بعض تلك المشاكل. ولكن النقطة تبقى، إذا كنت هنا عند الرمز رقم 800,000،
00:15:58فهذا يكلفني فعلياً لكل أمر أكثر مما لو كنت عند الرمز رقم 50 ألف أو 100 ألف. وترى الكثير من الناس
00:16:04يشتكون من استخدام Cloud code. وهذا ليس السبب الوحيد لشكواهم. ولكن في
00:16:10جزء كبير منه، يرجع ذلك إلى أن الكثير من الناس لا يعرفون كيفية إدارة نافذة السياق بشكل صحيح.” لذا فهم
00:16:13يستهلكون المزيد من الاستخدام و Cloud code لا يعمل بشكل جيد. لذا يمكنك أن ترى أهمية أن، أ، تضع
00:16:18عينك دائماً على السياق، وب، إعادة ضبطه دائماً عندما يكون ذلك منطقياً. وكقاعدة عامة، لا تريد حقاً
00:16:25تجاوز 200,000 رمز إذا كنت تستطيع تجنب ذلك. ستكون هناك حالات تتطلب،
00:16:30كما تعلم، نافذة أطول لسبب ما. ولكن إذا وصلت إلى 20٪، فعليك أن تسأل نفسك،
00:16:36هل أحتاج للبقاء في هذه الجلسة؟ إذا لم يكن لديك سبب وجيه جداً، فيجب عليك إعادة ضبطها. ولإعادة
00:16:42الضبط، كل ما عليك فعله هو ما رأيته هنا، وهو clear/. وإذا كان
00:16:47هناك شيء في المحادثة تريد نقله معك، فقط اطلب من Cloud code كتابة ملخص سريع
00:16:52عما كنتم تتحدثون عنه، ويمكنك نسخه ولصقه في الجلسة التالية. الآن، ما
00:16:56يمكنك رؤيته هنا بالنسبة لي، وهذا سيكون المفهوم رقم تسعة، هو شريط الحالة (status line). فهنا،
00:17:00يمكنك أن ترى أنه مكتوب "test-35". ويمكنك رؤية النموذج الفعلي الذي أستخدمه، ويمكنني رؤية نافذة
00:17:06السياق الخاصة بي في جميع الأوقات، والتي تقول 2٪ هنا، وربما لا يظهر ذلك عندك الآن. ولكن يمكنك
00:17:11إنشاء ذلك بنفسك حتى لا تضطر باستمرار لكتابة context/. يمكنك فقط النظر هنا
00:17:16أنفسكم، لذا لن تضطروا إلى كتابة forward slash context باستمرار. يمكنك فقط النظر
00:17:20هنا بالأسفل ومعرفة مكانك الحالي، مما يجعلك مسيطراً على الأمر. للقيام بذلك، ستقوم
00:17:26ببساطة بكتابة forward slash status line. وسوف تكتب أمراً يقول شيئاً مثل،
00:17:31"مهلاً، أريدك أن تنشئ لي سطر حالة ثابتاً تماماً. يتضمن،
00:17:37كما تعلم، المجلد الذي أعمل فيه، والنموذج الذي أستخدمه، واستهلاك نافذة السياق الحالي". بمجرد فعل ذلك،
00:17:44سيقوم بإنشاء ذلك لك، وسيتعين عليك فقط إعادة تشغيل Claude Code، وسيكون لديك
00:17:48سطر حالة خاص بك. لقد تناولنا لتونا الكثير من المفاهيم هناك. السياق، ونافذة السياق،
00:17:53والقدرة على المسح، وفساد السياق، وسطر الحالة. خذ هذه الأشياء معاً، وبصراحة، ستكون
00:17:59متقدماً بمراحل على الأشخاص الذين يستخدمون Claude Code لفترة طويلة لأن الناس لا يلتزمون
00:18:03بهذا المبدأ بدقة كما ينبغي. الآن دعونا نتحدث عن بعض أوامر slash
00:18:08الأخرى بينما نحن هنا، وهذا هو مفهومنا التالي، وهو rewind. لنفترض أنك قمت
00:18:13بإجراء slash clear. لقد كنت حريصاً جداً على التأكد من أن نافذة السياق نظيفة قدر الإمكان،
00:18:17لكنك أدركت، أوبس، لم يكن ينبغي لي فعل ذلك. كان هناك شيء آخر أردت القيام به.
00:18:22حسناً، إذا قمت بكتابة forward slash rewind، فيمكنني فعلياً العودة إلى الجلسات السابقة داخل Claude Code.
00:18:30لذا يمكنني العودة إلى ما قبل إجراء forward slash clear وإعادة تلك المحادثة أساساً
00:18:35إلى حيث كنت أو إلى المحادثة التي قلت فيها، مرحباً. سيشمل هذا أيضاً تغييرات الكود.
00:18:41لذا إذا كنا نتحدث مع Claude Code وأجرينا بعض التغييرات على موقعنا الفعلي،
00:18:45ولنقل إنها لم تعجبني، يمكنني عمل forward slash rewind. إنها طريقة سهلة للعودة
00:18:49أساساً إلى حيث كنت لأنه يمتلك نقاط الحفظ التلقائي هذه. المفهوم رقم 14 هو مفهوم آخر
00:18:54ستحتاج لمعرفته، وهو forward slash model. يتيح لي forward slash model التبديل
00:18:59بين جميع نماذج Claude Code المختلفة. لدينا Opus 4.6، و Sonnet 4.6، و Sonnet مع
00:19:06سياق مليون توكن بالإضافة إلى Haiku. لذا ما ستحتاج إلى فعله هنا يعتمد فقط على الخطة
00:19:10التي تشترك بها. إذا كنت في الخطة الاحترافية (pro)، بـ 20 دولاراً شهرياً، فمن المرجح أنك سترغب في الالتزام
00:19:14بنموذج Sonnet طوال الوقت. إذا كنت تستخدم max 5x، يمكنك استخدام Opus كثيراً. يعتمد الأمر على مقدار
00:19:20استخدامك الفعلي له. إذا كنت تستخدم 20x، يمكنك استخدام Opus بجنون طوال الوقت. النموذج
00:19:25سيعتمد فقط على المستخدمين. هذا هو جوهر الأمر. كم تدفع
00:19:29لشركة Anthropic؟ عندما يتعلق الأمر بـ Haiku، فمن المحتمل ألا تحتاج لاستخدامه على الإطلاق. إنه
00:19:34نموذج رخيص للغاية، يكاد يكون مجانياً. وحالات استخدامه محددة جداً ومتخصصة. لذا ما لم
00:19:41تكن تعرف ما تفعله، فلا داعي للعب بـ Haiku. وستلاحظ أيضاً بعض
00:19:44الأوامر الأخرى المتعلقة بالنموذج مثل effort. هذا يعبر عن مقدار التفكير الذي يبذله Claude Code. وسوف
00:19:48يكون افتراضياً على الوضع التلقائي (auto). ومرة أخرى، هذا يعتمد نوعاً ما على الاستخدام لأن
00:19:53مستوى التفكير الأعلى يعني توكنز أكثر، واستخداماً أكثر. لذا يعتمد الأمر فقط على مهمتك. الآن، المفهوم الأساسي الأخير الذي أريد
00:19:58التحدث إليكم عنه هو Git. لقد تحدثنا عن rewind، صح؟ القدرة على امتلاك هذه الأنواع من
00:20:05نقاط الحفظ المدمجة مع Claude Code. حسناً، هناك نوع آخر من نقاط الحفظ وهو Git.
00:20:11Git هو في الأساس نوع آخر من نقاط الحفظ، ولكنه سيكون على جهاز الكمبيوتر الخاص بك. وهو
00:20:16يحفظ مكانك بالضبط من حيث الكود الذي بنيته. لذا أقترح بشدة أن تستخدم هذا
00:20:22كلما كان ذلك ممكناً. Claude Code متطور جداً وذكي عندما يتعلق الأمر بـ Git. لذا يمكنك فقط
00:20:28قول شيء مثل "لنقم بعمل Git commit لهذا". وإذا قلت Git commit، فإنه يحفظه. هذا سيكون
00:20:36مفيداً لاحقاً لأننا عندما نبدأ في استخدام أشياء مثل GitHub، حسناً، نريد أن نأخذ أي نقطة حفظ
00:20:41لدينا في الكود الخاص بنا ونرفعها إلى السحابة على GitHub. وللقيام بذلك، يجب أن تكون قد قمت
00:20:48بعمل commit للكود. لذا فكر في Git commit كنقطة حفظ. Rewind رائع، صح؟ Rewind رائع في
00:20:54سياق Claude Code، ولكن مع نضوجنا وبدء تفكيرنا في، مهلاً، كيف سأقوم
00:20:59بإخراج هذا الكود إلى العالم في النهاية؟ نحتاج إلى البدء في استخدام Git. وهذا
00:21:04حجر زاوية رائع. وهو بمثابة نقطة حفظ ثانوية بجانب rewind. لذا يمكنك أن تشعر بمزيد من
00:21:09الثقة في أن الكود الخاص بك لن يتلاشى أو يختفي ببساطة. نحن الآن في القسم
00:21:15الثالث، وهو مجموعة الأدوات (the toolkit). هذا هو المكان الذي سنبدأ فيه بإحضار بعض الأدوات الخارجية،
00:21:19أشياء مثل CLIs و MCPs، بالإضافة إلى تقديم المهارات (skills)، والتي تعد واحدة من أقوى
00:21:25ميزات Claude Code. ولم يكن من الممكن أن يأتي ذلك في وقت أفضل لأن موقعنا قبيح. أعني،
00:21:31انظروا فقط إلى هذا الشيء. هذا هو تعريف "سخف الذكاء الاصطناعي" (AI slop)، ممل، مسطح، وتدرجات أرجوانية. كيف
00:21:37يمكننا إصلاح هذا؟ أعني، من الواضح أنه كان بإمكاننا إعطاؤه أمراً أفضل، ولكن هناك بعض الأدوات
00:21:42التي يمكن أن تساعدنا تحديداً في شيء مثل تصميم الواجهات الأمامية (front end design). لذا المفاهيم الثلاثة التالية هي
00:21:46المهارات (skills)، ومتجر المهارات، ومهارة صانع المهارات (skill creator skill). المهارات هي مجرد
00:21:52أوامر نصية. إنها مجرد طريقة لإخبار Claude Code بالقيام بشيء محدد بطريقة محددة. ما
00:21:57ننظر إليه هنا هو مهارة تصميم الواجهة الأمامية الرسمية من Anthropic. وكما ترون،
00:22:02هي مجرد نص، لا يوجد كود معقد، لا يوجد شيء مجنون، مجرد أمر نصي. لذا فإن مهارة
00:22:10تصميم الواجهة الأمامية هي نفس الشيء تماماً كما لو أخذت هذا الشيء بالكامل، ونسخته، ولصقته في Claude Code
00:22:15وقلت، مهلاً، صمم واجهة أمامية أفضل مما فعلته للتو واستخدم هذه الأنواع من
00:22:20الإرشادات، لكني لا أريد نسخها ولصقها في كل مرة. لذا بدلاً من ذلك، سأستخدم
00:22:25شيئاً مثل مهارة تصميم الواجهة الأمامية إما عن طريق كتابة forward slash front end design، أو فقط بالقول
00:22:31بلغة طبيعية بسيطة، استخدم مهارة تصميم الواجهة الأمامية. ثم أعطيه أمري. لذا دعني أريك
00:22:36كيفية القيام بذلك. الآن، أول شيء عليك فعله هو تثبيت مهارة تصميم الواجهة الأمامية. هناك
00:22:40عدد من الطرق للقيام بذلك. الطريقة الأولى هي ببساطة كتابة slash plugin. أمر slash plugin
00:22:46سيظهر متجر تصميم الإضافات (plugin design marketplace). ويمكنني الذهاب إلى استكشاف الإضافات، وهو ما تراه هنا.
00:22:52ويمكنني فقط البحث عن مهارة تصميم الواجهة الأمامية. بمجرد رؤيتها، تختارها ثم
00:22:57تقوم بتثبيتها ويمكنك التأكد من تثبيتها بمجرد الانتقال إلى قسم التثبيت (installed).
00:23:02ويمكنك أن ترى هنا، إضافة تصميم الواجهة الأمامية. الآن، بمجرد تثبيت الإضافة، ستعطيك
00:23:07نوعاً من الرسائل تطلب منك القيام بشيء مثل reload plugins. ستقوم بتشغيل ذلك وسوف يتم
00:23:12تثبيت الإضافة. ولكن عند هذه النقطة، تكون المهارة مثبتة في Claude Code. و Claude Code يعرف أن
00:23:19المهارة موجودة. عليك فقط استدعاؤها. وكما قلت، هناك طريقتان للقيام بذلك. يمكنك
00:23:24دائماً استدعاؤها باستخدام forward slash متبوعاً باسم تلك المهارة، في هذه الحالة، front end design.
00:23:30يمكنني قول شيء مثل "استخدم مهارة تصميم الواجهة الأمامية" وسوف يستخدمها. أو أنه ذكي بما يكفي،
00:23:38إذا قلت شيئاً مثل، "مهلاً، نحن نعمل على الواجهة الأمامية لصفحة الويب هذه، لنقم بـ X و Y و Z".
00:23:43فهو ذكي بما يكفي ليلتقط تلك الجملة ويقول، "أوه، نحن نعمل على تصميم الواجهة الأمامية. أوه،
00:23:46لدي مهارة لذلك. دعني أذهب واستدعيها". وأخيراً، Claude Code ذكي بما يكفي لتثبيت
00:23:51هذه المهارات. إذا قمت بنسخ رابط URL هذا من GitHub، هذا موجود على حساب GitHub الرسمي لـ
00:23:58Claude Code. لذا يمكنني نسخ هذا الرابط ولصقه في Claude Code وقول، "مهلاً، أريد تثبيت هذه المهارة.
00:24:05هل يمكنك القيام بذلك من أجلي؟" وسيقوم بتعديل إعداداته من تلقاء نفسه لإضافة ذلك. آخر شيء سأتحدث
00:24:10عنه بخصوص المهارات قبل أن نرى هذا عملياً ثم ننتقل إلى مهارة صانع المهارات هو أن المهارات يمكن أن
00:24:15تكون على مستوى المستخدم وعلى مستوى المشروع. حالياً نحن في مشروع 35 test، ولكن
00:24:21ماذا لو أنشأت مشروعاً آخر وكان لرسائل بريدي الإلكتروني، كان مشروع البريد الإلكتروني الخاص بي.
00:24:27هل سيكون لهذا المشروع وصول إلى مهارة Claude Code؟ هذا يعتمد. عادة نعم. عندما أقوم بتثبيت
00:24:33شيء مثل مهارة تصميم الواجهة الأمامية، فسيتم تثبيتها على مستوى المستخدم.
00:24:37أنت هو المستخدم، مما يعني أن أي مشروع ينشئه هذا المستخدم سيكون لديه وصول لهذه المهارات.
00:24:42لدينا القدرة على امتلاك مهارات على مستوى المشروع. لذا يمكنني إنشاء أو استخدام مهارة محددة فقط
00:24:48لهذا المشروع، فقط لموقعنا، صح؟ ربما لا تريد استخدامها في أي مكان آخر أبداً.
00:24:53لذا فقط افهم أن لديك تلك المرونة. والآن دعونا نضع هذا قيد العمل. لقد قمت بكتابة
00:24:57forward slash front end design. وقلت، أعد إنشاء جمالية الواجهة الأمامية، استخدم لوحة ألوان
00:25:02Anthropic، مثل الطيني (terracotta)، وما إلى ذلك، وأعطِ البطاقات بعض الثقل البصري، والظلال، وما إلى ذلك.
00:25:07ابتعد عن تصميم "سخف الذكاء الاصطناعي" القياسي. لذا دعونا نرى ما سيفعله هذه المرة باستخدام المهارة.
00:25:14إليك ما حصلنا عليه. وهذه قفزة هائلة للأمام مقارنة بالإصدار الأول. الآن،
00:25:19هل هذا مثالي؟ مطلقاً لا. هل ما زال يبدو وكأنه من إنشاء الذكاء الاصطناعي؟ نعم. ولكن انظر إلى الفجوة بين
00:25:26الإصدار الأول والإصدار الثاني. وهذا بفضل واحدة من أبسط
00:25:30الأدوات الموجودة. واحدة من أبسط المهارات، وهي مهارة تصميم الواجهة الأمامية. والآن دعونا
00:25:34مهمة متكررة، سترغب في تحويلها إلى مهارة. وعندما نقوم بتحويل
00:25:38صانع المهارات (skill creator skill)، وهي مفهومنا التالي. مهارة صانع المهارات ليست جيدة فقط لأنها
00:25:44مدربة على إنشاء مهارات عالية الجودة، بل لأنها تتيح لنا تعديل وتحسين المهارات الحالية
00:25:49وقياس أداء المهارة. بمرور الوقت، ومع استخدامك لـ Claude Code أكثر فأكثر، ستجد
00:25:55نفسك تفعل نفس الأشياء مراراً وتكراراً. لكل منا سير عمل معين. في أي وقت تحدد فيه
00:26:01نوعاً من سير العمل، أو مهمة متكررة، فأنت تريد تحويلها إلى مهارة. وعندما نحول
00:26:06شيئاً ما إلى مهارة وننشئ مهارة مخصصة، فإننا نريد دائماً استخدام أداة صانع المهارات،
00:26:11لأنها ستخبرنا فعلياً ما إذا كان الأمر يستحق إنشاء مهارة في المقام الأول.
00:26:16قدرتها على قياس أداء المهارة هائلة. ستقوم تلقائياً بتشغيل اختبار AB لترى،
00:26:22هل هذه المهارة أفضل حتى من عدم القيام بأي شيء على الإطلاق؟ وهي تتيح لنا اختبار تحسين المهارة.
00:26:26لذا إذا قمت بتعديل مهارة، فستختبرها مقابل الإصدار الأصلي. وعندما أقول تختبرها،
00:26:31فهي تجري اختبارات متعددة وتعيد لنا بيانات فعلية قابلة للقياس. هذا أمر ضخم.
00:26:37من أجل استخدام مهارة صانع المهارات، تماماً مثل مهارة تصميم الواجهة الأمامية، يمكنك إما
00:26:41نسخ هذا الرابط وإدخاله في Claude Code، أو يمكنك التوجه إلى متجر الإضافات، والعثور على مهارة
00:26:46صانع المهارات هنا، وتثبيتها، وإعادة تحميل إضافاتك، وستكون جاهزاً تماماً. والآن دعونا نتحدث عن
00:26:51بعض الأدوات الخارجية التي يمكننا جلبها إلى Claude Code مع المفهومين رقم 20 و 21، وهما MCPs
00:26:58وأدوات CLI. لذا فإن MCPs هي طريقة لنا لربط Claude Code بنوع من البرامج الخارجية.
00:27:04لدى Claude Code قسم كامل من وثائقه مخصص لأدوات MCP ويسرد
00:27:11نوع الأداة التي يمكنك الاتصال بها، بالإضافة إلى الأمر الذي تحتاج لنسخه ولصقه في Claude Code
00:27:16لتثبيتها. فلدينا أشياء مثل Linear، و Hugging Face، و Cloudflare، و Figma، و Guru، و Monday،
00:27:23و Notion. والقائمة تطول وتطول. ومع وجود خادم MCP بيننا وبين هذه البرامج
00:27:30مثل Notion، يمكنني حينها التحدث إلى Claude Code بلغة طبيعية وقول، "مهلاً، افعل X و Y و Z
00:27:37داخل Notion." وسوف يفعل ذلك نيابة عنا، تماماً كما لو كنا داخل Notion،
00:27:42ونقوم بتنفيذ تلك المهام يدوياً. لذا فإن استخدام أدوات MCP هذه يتطلب بضعة أشياء. أولاً، تحتاج إلى
00:27:48الأمر المحدد. وكما قلت، يمكن العثور على أشهر هذه الأوامر هنا داخل وثائق
00:27:52Claude Code، والتي يمكنك العثور عليها إما عن طريق البحث عن Claude Code docs MCP أو مجرد طلب ذلك من
00:27:58Claude Code. وبعد ذلك ستقوم بنسخ هذا الأمر ثم ستقوم بلصقه
00:28:02داخل المبنى الطرفي (terminal). الآن، الطريقة الأسهل للقيام بذلك فعلياً هي قول شيء مثل،
00:28:09"قم بإعداد خادم MCP لـ Notion من أجلي". سيقوم Claude Code بكل هذا نيابة عنك. سيقوم بالبحث
00:28:17في الويب لمعرفة نوع الأوامر التي يحتاج لتشغيلها. ثم سيعود إليك
00:28:22بقائمة من الأشياء التي يتعين عليك القيام بها. لأنه بالنسبة لي لإعداد MCP لـ Notion أو PayPal أو Stripe
00:28:30أو Supabase، أحتاج لامتلاك بيانات الاعتماد. وهذا يعني أنني بحاجة للذهاب إلى موقع ويب مثل Supabase
00:28:36وهناك مفاتيح سرية محددة أحتاج لجلبها إلى Claude Code أو وضعها في مجلد
00:28:42الإعدادات. قد يبدو هذا معقداً نوعاً ما إذا لم تكن قد فعلت ذلك من قبل، ولكن خمن من هو
00:28:47الخبير في هذه الأشياء؟ هذا صحيح، إنه Claude Code. سيقوم Claude Code حرفياً بإرشادك خلال الأمر خطوة
00:28:51بخطوة حيث يقول لك، "انقر على هذا الرابط، اذهب إلى هذه الصفحة، انسخ هذا والصقه". لذا فإن Claude Code
00:28:58سيقوم بكل العمل الشاق نيابة عنك عندما يتعلق الأمر بـ MCPs. ومع ذلك، فإن MCPs بدأت تفقد
00:29:04أهميتها نوعاً ما. على الرغم من أن MCPs حظيت بضجة هائلة خلال العام ونصف الماضيين تقريباً،
00:29:09إلا أنها بدأت تُستبدل بـ CLIs. أداة CLI هي أداة واجهة سطر الأوامر. تماماً كما
00:29:17يعيش Claude Code في المبنى الطرفي، تعيش هذه البرامج أيضاً في المبنى الطرفي. ولأن كلاً من Claude
00:29:23Code وهذه البرامج يعيشون في المبنى الطرفي، فهما مثاليان لبعضهما البعض. بالمقابل، الـ MCPs
00:29:28لديها الكثير من الأعباء الإضافية (overhead)، مما يعني أنه عندما تقارن MCP مقابل CLI، فإن MCP يميل لأن يكون
00:29:33أبطأ وأقل كفاءة في استهلاك التوكنز. لذا ففي 90% من حالات الاستخدام، إذا كان هناك CLI متاح، فأنت تريد استخدامه
00:29:41بدلاً من الـ MCP. ومثال رائع على ذلك هو Playwright MCP. أداة Playwright هي أداة إذا
00:29:48ربطنا Claude Code بها، فستقوم بأتمتة المتصفح من أجلنا. فالأمر يشبه قيام Claude Code
00:29:52بالتحكم في المتصفح نيابة عنا، وتسجيل الدخول إلى المواقع، واختبار الأشياء. إنها رائعة. ولديها CLI
00:29:57و MCP. والـ CLI أفضل بكثير. إنه أكثر كفاءة في استهلاك التوكنز بنسبة 90% تقريباً. وأسهل لـ Claude Code
00:30:04في الاستخدام. وهي دراسة حالة مثالية لديناميكية CLI مقابل MCP. الآن، كيف نستخدم الـ CLIs؟ حسناً،
00:30:10أنت تعرف تماماً ما سأقوله لك. هناك أوامر محددة لاستخدام الـ CLIs. أو ماذا
00:30:15نفعل؟ نذهب إلى Claude Code ونقول، قم بإعداد الـ CLI من أجلي. الآن، أشياء مثل CLIs و MCPs، إذا
00:30:22لم تكن تستخدم أذونات التجاوز (bypass permissions)، ولم تبدأ Claude Code مع ميزة التجاوز الخطير للأذونات،
00:30:27فسوف يطلب منك القيام بأشياء من المحتمل أن تخبرك بفتح نافذة مبنى طرفي جديدة
00:30:31ولصق هذه الأوامر. إذا كانت أذونات التجاوز مفعلة، فلن يفعل كل هذا من أجلك. الآن، جزء من هذا مخيف نوعاً ما، صح؟
00:30:35Claude Code يدخل ويقوم بتحميل شيء ما على جهاز الكمبيوتر الخاص بي، ويقوم بتثبيته وتشغيله، هذا مخيف. ومع ذلك،
00:30:40إذا كنت تستخدم CLI مشهوراً نوعاً ما، وهو بالتأكيد تم فحصه من قبل المجتمع، فلا ينبغي أن تخاف كثيراً من هذا.
00:30:47و Playwright CLI مثال رائع. السؤال الذي يطرح نفسه حينها هو ما هي الـ CLIs التي يجب أن أستخدمها؟ والحقيقة هي،
00:30:51لا يمكنني إخبارك بأي CLIs تستخدمها. الأمر يعتمد كلياً على حالة الاستخدام. هل تحتاج لأتمتة المتصفح؟
00:30:57ربما. هل تحتاج لشيء مثل Supabase للمصادقة لإعداد عمليات تسجيل الدخول لموقعك؟
00:31:03ربما، وربما لا. الفخ هنا والفخ الذي يقع فيه الكثير من الناس هو أنهم، بعد سماعهم
00:31:08عن الـ CLIs والـ MCPs، يذهبون في رحلة بحث عميقة ويبحثون عن كل CLI يمكنهم استخدامه،
00:31:15وكل MCP قد يكون ذا صلة بهم، ويقومون بتثبيتها جميعاً واستخدامها بجنون. القليل هو الكثير
00:31:20عندما يتعلق الأمر بـ Claude Code، على الأقل في رأيي. لذا بمرور الوقت، ستصبح أكثر
00:31:25إلماماً ببعض هذه الـ CLIs والـ MCPs وسيصبح من الواضح جداً متى يكون استخدامها منطقياً بالنسبة لك.
00:31:32إذا كنت قد بدأت للتو، فأعتقد أنه يكفي أن تعرف أن الـ CLIs والـ MCPs موجودة. والأهم
00:31:37من ذلك، أنه يمكننا جعل Claude Code يقوم بتثبيتها واستخدامها من أجلنا. بل وفي كثير من الحالات،
00:31:44يقوم بإنشاء مهارات تساعد Claude Code على استخدامها. لذا إذا كنت تعرف فقط أن هذا متاح، فهذا كافٍ
00:31:50إذا كنت في بداية رحلتك. أما إذا كنت أكثر خبرة قليلاً، فحينها
00:31:56الأمر مجرد مسألة استخدام Claude Code أكثر وأيضاً سؤال Claude Code عما إذا كان هناك MCP موجود
00:32:00لحالة الاستخدام هذه؟ هل يوجد CLI لحالة استخدام ما؟ أوه، بالمناسبة، لا يا Claude Code. اذهب واستخدم بحث الويب الخاص بك
00:32:06وتأكد من أن هذا هو الحال لأن هذه الأشياء تتغير طوال الوقت. ففي كل يوم هناك
00:32:12CLI جديد يصدر. وفي كل يوم هناك MCP جديد يخرج. لذا لن أجلس هنا
00:32:17وأعطيك، كما تعلم، الثلاثين أداة التي يجب أن تعرفها، على الرغم من أن لدي بعض المحتوى الذي
00:32:21يتناول بعض هذه الأشياء. فقط افهم أنها موجودة وأن Claude Code يمكنه العثور عليها،
00:32:26وتثبيتها واستخدامها من أجلك. هذه هي أنواع "القوى الخارقة" التي يمتلكها Claude Code.
00:32:31لأن ما أريد التحدث عنه في المفهوم 22 هو فكرة الـ few shot prompting. ما هو
00:32:36الـ few shot prompting؟ الـ few shot prompting هو فكرة أنني عندما أعطي أمراً لـ Claude Code، كما هو الحال مع
00:32:43تصميم الواجهة الأمامية، فأنا لا أعطيه مجرد أمر. أنا لا أعطيه مجرد مهارة. أنا في الواقع سأعطيه
00:32:50أمثلة متعددة لما أريده أن يفعله من أجل الحصول بشكل أفضل على المخرجات التي أرغب بها. وعندما نتحدث
00:32:55عن شيء مثل تصميم الواجهة الأمامية، يمكننا تقديم ما هو أفضل من مجرد لقطات الشاشة. يمكننا إعطاؤه
00:33:02كوداً فعلياً، كود HTML حقيقياً موجوداً في الخلفية يمكن لـ Claude Code استخدامه ليقدم لنا
00:33:07شيئاً أفضل مما نسعى إليه. ماذا أعني بذلك؟ حسناً، كما تعلمون، لقد أخبرنا صفحة الويب الخاصة بنا
00:33:14في الأصل أننا كنا نسعى لنوع من لوحة ألوان Anthropic أو تصميمها. حسناً، أولاً، يمكنني أخذ
00:33:17لقطات شاشة لما أسعى إليه. لنضف بعضاً من هذه البطاقات. لنحصل على التذييل (footer)، ولكن يمكننا
00:33:23النظر إلى الكود الفعلي. لذا إذا قمت بالضغط على control U، فما لدينا هنا هو الـ HTML. فإذا قمت حينها بنسخ
00:33:29كل هذا وجلبته إلى Claude Code، فهذا في جوهره شكل من أشكال الـ few shot prompting حيث
00:33:39لدي لقطات شاشة بالإضافة إلى الكود لتوجيه Claude Code بشكل أفضل للحصول على ما أريد. وهذا مثالي
00:33:45لتصميم الواجهة الأمامية. لذا قلت، هل يمكننا جعل الواجهة الأمامية تطابق جمالية Anthropic بشكل أفضل؟
00:33:50إليك كود HTML من موقعهم بالإضافة إلى لقطات شاشة. لقد قمت بلصق كل كود الـ HTML الذي كان مكوناً من 2000 سطر،
00:33:56ثم قمت بسحب وإفلات لقطات الشاشة. لذا دعونا نرى كيف يعمل ذلك. وإليكم ما
00:34:01عاد به. وهو بالتأكيد يتمتع بروح Anthropic أكثر بكثير من حيث الألوان. الآن،
00:34:06هل هو نسخة طبق الأصل مئة بالمئة؟ هل لا يزال هناك الكثير من العمل الذي يتعين القيام به؟ نعم. تماماً كما كان الحال من قبل
00:34:13مع أداة تصميم الواجهة الأمامية. ولكن النقطة المهمة هي أنه باستخدام أشياء مثل الـ few shot prompting، يكون لديك
00:34:18تحكم أكبر في المخرجات. أي شيء يمكننا القيام به للابتعاد عن مجرد "أعطِ الأمر وتمنَّ الأفضل" والشعور بأن
00:34:23لدينا نوع من السيطرة فيما يتعلق بالمخرجات. هذا أمر ضخم. والـ few shot prompting هو واحد من
00:34:30أفضل الطرق للقيام بذلك. ولكن جزءاً من مشكلة جعل Claude Code يبرمج الأشياء بينما نحن أنفسنا
00:34:37لسنا مبرمجين هو أننا لا نعرف حقاً ما إذا كان ما ينشئه Claude Code صحيحاً أم لا.
00:34:42أعني، يمكنني النظر إلى المخرجات والحكم عليها بناءً على نتائجها النهائية. ولكن هل ما أنشأه في
00:34:48الخلفية صحيح على الإطلاق؟ قد يكون مجرد كلام غير مفهوم. وبالنسبة لمعظمنا، لن يكون لدينا أدنى فكرة.
00:34:54وهذا يقودنا إلى مفهومنا التالي، وهو الـ adversarial prompting والـ adversarial code review.
00:34:58الآن، الـ adversarial code review يعني ببساطة النظر إلى الكود وإخباري بالخطأ الموجود فيه. والآن،
00:35:05عندما تفعل هذا، هناك بعض الأشياء التي تريد وضعها في الاعتبار. أولاً فكرة أن
00:35:13الذكاء الاصطناعي بشكل عام -و Opus و Sonnet جزء من هذا- ينظرون بعين الرضا لكودهم
00:35:18الخاص. فكل ما ينشئونه يعتقدون أنه جيد. لذا إذا قلت له، مهلاً، انظر إلى الكود
00:35:24وأخبرني بما هو خطأ، فقد يعود ببعض الأشياء، ولكن في المجمل، سيعتقد أن ما
00:35:29فعله صحيح. وهذا لا ينبغي أن يكون مفاجئاً حقاً. لذا إذا أردت التأكد من أن ما
00:35:35كتبته كان صحيحاً، فهناك خياران. الأول هو أنه يمكنني فتح مبنى طرفي آخر ويمكنني
00:35:39تشغيل Claude Code مرة أخرى. بحيث يكون لدي Claude Code في مبنيين طرفيين ولدي جلسة مختلفة
00:35:46بأن أفتح نافذة أوامر (terminal) أخرى وأقوم
00:35:51بتشغيل Cloud Code مجددًا. بحيث يكون لدي جلستان مختلفتان
00:35:56من Cloud Code. ألقِ نظرة على الكود الذي أنشأناه داخل هذه الشيفرة. وأخبره أن يكون
00:36:01هجوميًا. أخبره أن ينظر بعين فاحصة. أخبره: "تخيل أنك
00:36:05شخص مهووس على Reddit يكره الذكاء الاصطناعي، وأخبرني بالخطأ في هذا الكود"، تمام؟
00:36:10هذه هي الطريقة الأولى. الطريقة الثانية هي استخدام ذكاء اصطناعي مختلف تمامًا لإجراء المراجعة.
00:36:16والطريقة المثلى لذلك هي استخدام إضافية Codex لـ Cloud Code. شركة OpenAI،
00:36:22صناع ChatGPT وCodex، لديهم إضافة لـ Cloud Code. فإذا كنت تدفع
00:36:26اشتراك ChatGPT بقيمة 20 دولارًا شهريًا، يمكنك استخدامها. في الواقع، يمكنك استخدامها مجانًا
00:36:34أيضًا، لكنني أعتقد أن النموذج يكون أقل كفاءة، ولكن يمكننا تثبيت هذا تمامًا مثلما نثبت أي مهارة
00:36:39ونجعل Codex يراجع الكود الخاص بنا. ولديهم أمر محدد للمراجعة
00:36:44الهجومية. فإذا كنت شخصًا يقول: "أنا لا أصدق ما يقوله Opus"
00:36:50وأريد عينًا ثانية ليست Opus أيضًا، فإضافة Codex مثالية.
00:36:55كيف تثبتها؟ بسيط جدًا. خذ هذا الرابط، والقهِ في Cloud Code وقل:
00:37:00"أريد تثبيت إضافة Codex" وسيقوم بتوجيهك. وبعد ذلك ستقوم بكتابة
00:37:04codex review/ أو codex adversarial review/. وأعتقد أن هذا
00:37:10مهم جدًا، خاصة إذا كنت تقوم بشيء معقد. نحن نصمم هنا واجهة
00:37:15أمامية مثل صفحة هبوط، والأخطاء المحتملة فيها محدودة.
00:37:20لكن كلما زاد تعقيد المشروع وحجمه، زادت استفادتك من
00:37:25المراجعة الهجومية. وهذا رائع، خاصة إذا لم تكن قادمًا من خلفية
00:37:32تقنية ولا تعرف ما الذي تم بناؤه. فعلى الأقل تريد من شخص
00:37:37يعرف ما يحدث، أي نموذج آخر، أن يخبرك ما إذا كان العمل جيدًا أم لا.
00:37:41نحن الآن في القسم الرابع، قسم "المستخدم المحترف" (Power User). كل ما تحدثنا عنه
00:37:46حتى الآن هو شيء يجب أن تسعى لإتقانه خلال أسابيعك الأولى.
00:37:52إذا تمكنت من التعود على كل شيء حتى الآن، فستكون
00:37:55متقدمًا كثيرًا عن مستخدم Cloud Code العادي. أما كل ما سنناقشه
00:38:00الآن، فهو للمستخدم المحترف، لشخص أكثر خبرة.
00:38:04لا تحتاج لبدء تنفيذ هذه الأشياء فورًا، لكن يجب أن تعرف بوجودها
00:38:11لأنك مع زيادة خبرتك ستصطدم ببعض العوائق.
00:38:15وبعض ما ستتعلمه هنا يمكن أن يساعدك. لذا فقط اعلم أنها موجودة،
00:38:22واعلم أن هناك إمكانيات تتجاوز كل ما اعتبرناه أساسيًا في Cloud Code.
00:38:26وأول مفهومين سنتطرق إليهما هما الأوامر المخصصة (custom slash commands).
00:38:32فعندما أكتب /، كما أدركتم الآن، تظهر مجموعة أوامر
00:38:38تحفز Cloud Code للقيام بشيء ما، مثل clear، صح؟ تحدثنا عن ذلك
00:38:46بخصوص تلف السياق وبدء جلسة جديدة، ولكن يمكننا إنشاء أوامرنا الخاصة.
00:38:52غالبًا ما تكون على شكل مهارة (skill). لذا تستخدم منشئ المهارات المخصصة
00:38:56لإنشاء مهارات تستدعيها بأمر يبدأ بـ /.
00:39:01أحد الأوامر المفضلة لدي هو YT-Pipeline. هذا هو سير عمل
00:39:06أبحاث اليوتيوب الخاص بي، لأن المهارات في Cloud Code لا تقتصر فقط
00:39:13على أشياء بسيطة مثل مطالبة نصية لتصميم واجهة تقول:
00:39:18"عندما ننشئ تصميمًا، تأكد من فعل س وص وع".
00:39:22المهارات المخصصة والأوامر المخصصة يمكن أن تكون سير عمل كاملاً. يمكنها أن تخبر
00:39:28Cloud Code: "أريدك أن تفعل (أ) ثم (ب) ثم (ج) ثم (د)".
00:39:36تصبح كأنها أتمتة خاصة بها. وهذا ما يفعله أمري المخصص.
00:39:41وهو يستخدم مهارات فرعية، فهي مهارة من مستوى أعلى تستدعي مهارات إضافية تحتها.
00:39:46وتستخدم أدوات مثل واجهات سطر الأوامر (CLIs). لذا فإن أوامرك ومهاراتك المخصصة
00:39:53يمكن أن تكون معقدة جدًا، لكنها توفر عليك الكثير من الوقت.
00:40:00كما قلت، هذا يستخدم NotebookLM. يذهب إلى اليوتيوب.
00:40:04ويستطيع استخدام تطبيق NotebookLM الفعلي عبر Cloud Code لمساعدتي في البحث.
00:40:10لذا، أي شيء تفعله ويتضمن خطوات متعددة تكررها عدة مرات يوميًا،
00:40:15يجب أن تحوله إلى أمر مخصص يبدأ بـ /.
00:40:19الأوامر المخصصة يمكن أن تكون أيضًا أشياء مثل الـ Hooks. الـ Hooks داخل Cloud Code
00:40:25تخبر البرنامج أن يفعل شيئًا قبل أمر معين أو بعده.
00:40:31وهذه يمكن أن تزيد الإنتاجية بشكل هائل. الـ Hook المفضل لدي
00:40:39هو الذي يصدر صوتًا في كل مرة ينتهي فيها من تنفيذ أمر ما.
00:40:43ربما لم تتمكن من سماعه في هذا الفيديو، ولكن في كل مرة ينهي فيها
00:40:48Cloud Code أمرًا، أحصل على تنبيه صوتي. الآن، لماذا قد ترغب في ذلك؟
00:40:53حسنًا، مع الوقت ستدرك، خاصة عندما يكون لديك عدة نوافذ مفتوحة
00:40:59أو عندما ينفذ مهمة طويلة وتنسى الأمر وتجد نفسك تتصفح
00:41:07الهاتف بلا هدف في الانتظار. من الرائع وجود إشارة صوتية
00:41:14تقول لك: "لقد انتهيت، لنعد للعمل". سأفعل ذلك تمامًا لو كنت مكانك.
00:41:20وإنشاء هذه الأشياء بسيط جدًا. فقط قل: "أنشئ Hook مخصص" أو "أنشئ
00:41:26Hook يصدر صوتًا عندما ينتهي Cloud Code من مهمة ما". بهذه البساطة.
00:41:32ويمكن أن يكون هذا الـ Hook أي شيء، ليس بالضرورة صوتًا.
00:41:38يمكن أن يرسل لك بريدًا إلكترونيًا في كل مرة يكمل فيها مهمة، تمام؟
00:41:44Cloud Code قابل للتخصيص بشكل لا نهائي، والأوامر والـ Hooks المخصصة وسيلة رائعة لذلك.
00:41:49الآن، المفهوم التالي الذي سنتحدث عنه هو الوكلاء الفرعيون (sub agents) وفرق الوكلاء.
00:41:54بينما تعمل داخل Cloud Code، يمكنه في أي وقت وبشكل مستقل
00:41:58أن يولد وكلاء فرعيين للقيام بمهام نيابة عنه. لنتخيل أنني
00:42:02كنت أبحث عن مهارات Cloud Code وأردت أن يذهب البرنامج
00:42:06إلى الويب ويجد لي معلومات عنها. حسنًا، يمكنه تشغيل وكيل فرعي.
00:42:11وكل ما يفعله هذا الوكيل هو البحث في الويب. لذا فإن Cloud Code ينشئ
00:42:16نسخة ثانية من نفسه، تمامًا مثلما فتحت أنت نافذة أوامر ثانية،
00:42:23ويخبر تلك النسخة الفرعية: "اذهبي وابحثي في الويب من أجلي".
00:42:28ويمكنه فعل ذلك لأي عدد من المهام التي يريدها. وأحيانًا سينشئ عدة
00:42:32وكلاء فرعيين للقيام بعدة أشياء في نفس الوقت.
00:42:39أنت كإنسان لا تتفاعل حقًا مع هؤلاء الوكلاء الفرعيين، فلديهم مهمة محددة،
00:42:44ينجزونها، ثم يعودون بالمعلومات إلى نسخة Cloud Code الرئيسية.
00:42:51لديك القدرة على إنشاء وكلاء فرعيين بنفسك، لكن في الغالب،
00:42:58Cloud Code يفعل هذا تلقائيًا عند الحاجة. أنت فقط بحاجة لفهم
00:43:06كيفية عمله نظريًا لأنك تضيع وقتك إذا أنشأتهم يدويًا.
00:43:12لكن هذا النظام قد يكون له بعض السلبيات. لنقل إنني طلبت من Cloud Code
00:43:19إنشاء صفحة ويب أكثر تعقيدًا من التي عملنا عليها. فقام بإنشاء ثلاثة
00:43:24وكلاء فرعيين من تلقاء نفسه. أنشأ وكيلاً لتصميم الواجهة، كما فعلنا.
00:43:29وأنشأ وكيلاً آخر للتحقق من الهوية (authentication)، مثل صفحة تسجيل الدخول،
00:43:35وأنشأ وكيلاً ثالثًا للمدفوعات، مثل Stripe.
00:43:40المشكلة هي أن هؤلاء الوكلاء لا يتحدثون مع بعضهم البعض.
00:43:46مصمم الواجهة لا يتحدث مع مسؤول الهوية، والأخير لا يتحدث مع مسؤول المدفوعات،
00:43:50وهذا قد يسبب مشكلة لأننا نريد أن نكون جميعًا على وفاق.
00:43:55ومع ذلك، في نموذج الوكيل الفرعي القياسي، كل واحد منهم في صومعة منعزلة.
00:44:01يفعلون شأنهم الخاص ثم يعودون لجلسة Cloud Code الرئيسية. وهنا
00:44:06يجب على البرنامج الرئيسي محاولة فهم ما إذا كان كل شيء يتطابق فعلاً.
00:44:12هنا يأتي دور "فرق الوكلاء" (agent teams). وهي مشابهة من حيث إن
00:44:17Cloud Code سيولد هؤلاء الوكلاء، لكنهم الآن يتحدثون مع بعضهم البعض.
00:44:21فيمكن لمصمم الواجهة التحدث مع مسؤول الهوية، ومسؤول الهوية
00:44:26يتحدث مع مسؤول المدفوعات، والأخير يتحدث مع مصمم الواجهة.
00:44:30وغالباً ما سيقوم البرنامج بتوليد وكيل إضافي وظيفته بالكامل هي
00:44:35تنسيق ما يفعله هؤلاء الثلاثة، تمام؟ كأنه يعمل كمدير متوسط لفريق.
00:44:43إنه يحاول محاكاة إعداد فريق بشري حقيقي، مما يعني أن نسختك
00:44:48الأساسية من Cloud Code لا تضطر لتنسيق كل شيء بنفسها.
00:44:52كل شيء يتم على مستوى الوكلاء الفرعيين. هذا رائع ومتقدم أكثر
00:44:57من الوكلاء الفرعيين العاديين، لكنه ليس مجانيًا.
00:45:02لأن هذا التنسيق وجعل الثلاثة يتحدثون معًا يستهلك المزيد من الرموز (tokens).
00:45:09علاوة على ذلك، هذه ميزة تجريبية. ماذا أعني بميزة تجريبية؟
00:45:14أعني أنك بحاجة لتفعيلها صراحة داخل ملف settings.json الخاص بك.
00:45:20كيف تفعل ذلك؟ يمكنك الذهاب إلى dot cloud وتعديله بنفسك، أو،
00:45:24كما تعلمون، انسخ هذه الصفحة أو الرابط واذهب لـ Cloud Code
00:45:30واطلب منه تفعيل فرق الوكلاء نيابة عنك. وبمجرد فعل ذلك،
00:45:36لاستخدامها فعليًا، يجب أن تخبر البرنامج صراحة أنك تريد استخدامها.
00:45:41في المثال هنا، قالوا: "أنشئ فريق وكلاء". لن يفعل ذلك تلقائيًا.
00:45:48مهما قلت، يجب أن تقول: "أنشئ فريق وكلاء". لنرى هذا عمليًا.
00:45:54سنقول: "أنشئ فريق وكلاء للعمل على صفحة الويب هذه، وكيل لتصميم الواجهة،
00:45:58ووكيل لإنشاء نموذج اشتراك للنشرة الإخبارية، ووكيل للبحث
00:46:02عن أفكار لمدونة". مرة أخرى، يجب أن تكون محددًا.
00:46:10تستطيع أن ترى فريق الوكلاء الذي أنشأه. لديه مصمم واجهة وتظهر مهمته،
00:46:15ومطور النشرة، وباحث المدونة. وفي جلسة Cloud Code الرئيسية
00:46:20ستحصل على تحديثات كلما أكمل الوكلاء مهامهم.
00:46:23وبينما هم يعملون، لنتحدث عن الجلسات المتعددة. لأننا أشرنا لها سابقًا.
00:46:27وهذا شيء ربما تراه في كل مكان، أشخاص بفتح تسع نوافذ أوامر
00:46:34في وقت واحد، وكلها تعمل على نفس المشروع. هذا شيء يمكنك فعله.
00:46:39يمكنني فتح أي عدد أريده من نوافذ الأوامر للعمل على Cloud Code.
00:46:44بمعنى ما، يمكنني إنشاء فريق الوكلاء الخاص بي يدويًا. نافذة هنا
00:46:50تعمل على الواجهة، ونافذة هناك تعمل على النموذج، وهكذا.
00:46:57عندما يتعلق الأمر بهذه الجلسات المتعددة، هناك أشياء يجب التفكير فيها،
00:47:02بشكل أساسي ما تحدثنا عنه بخصوص فرق الوكلاء في البداية، وهو:
00:47:06"هل نجعل كل نسخ Cloud Code تعمل على نفس الورقة وتغير أشياء
00:47:12مختلفة في نفس الوقت؟". لو كان لديك ثلاثة بشر على مكتب واحد
00:47:17يعملون على نفس التقرير في مفكرة واحدة، يمكنك رؤية المشاكل المتوقعة.
00:47:23علاوة على ذلك، سأقول من تجربتي الشخصية، لا يمكنك تشغيل إلا عدد
00:47:27محدود من النوافذ قبل أن يصبح تشتت السياق كبيرًا، فتشعر بأنك منتج
00:47:33بإعطاء الكثير من المطالبات، لكن هل أنت مركز حقًا على مهمة معينة؟
00:47:37هل تنجز شيئًا فعليًا؟ هل تتقدم بأي شكل ذي معنى؟
00:47:43أرى أنه بعد نافذتين، ربما ثلاث، نصبح كأننا نلهو فقط.
00:47:49رأيي الشخصي في هذا الأمر هو أن هناك الكثير من الأشياء المفيدة في هذه
00:47:56بفعل شيء ما، ولسنا نعمل بأقصى طاقة. لكن إذا كنت ستسلك طريق
00:48:01النوافذ المتعددة والعمل على مهام كثيرة معًا، ستحتاج لحل تلك المشكلة.
00:48:07ثلاثة أشخاص على مفكرة واحدة سيسببون مشاكل. كيف نحل ذلك؟
00:48:13حسنًا، إحدى الطرق هي استخدام Git Worktrees. فهي تحاول حل المشكلة.
00:48:20بدونها، لدينا ثلاثة أشخاص وثلاثة وكلاء في نفس المشروع،
00:48:25يعدلون على عمل بعضهم ويحدث تعارض. لكن مع Worktrees،
00:48:30بدلاً من وجودهم على مكتب واحد، لكل واحد مكتبه الخاص ونسخته
00:48:35الخاصة من الملفات. ينجزون عملهم وفي النهاية يتم دمج كل شيء.
00:48:40وحمن الذي يتأكد من توافق كل شيء عند جمعه؟ إنه Cloud Code.
00:48:46لاستخدام Worktrees، ستفتح البرنامج كالمعتاد، لكنك ستستخدم
00:48:51علامة worktree-- ثم تختار اسمًا لها. مثل front end design.
00:48:55فتكون: clod --worktree ثم الاسم. وتكرر ذلك لكل نافذة إضافية.
00:49:03وكما ترى هنا، واحدة اسمها main وواحدة front end وواحدة tests.
00:49:08ستعمل عليها بالتوازي، وفي النهاية تعود لجلسة البرنامج الرئيسية
00:49:13وتقول: "ألقِ نظرة على هذه الـ Worktrees، لندمجها ونتأكد من سلامتها".
00:49:20هذا مفهوم متقدم، خاصة لمستخدمي Git، فإذا كنت مبتدئًا
00:49:26فلا ترتبك وتبدأ باستخدامه فورًا. لننتقل لمفهوم احترافي آخر،
00:49:31وهو أطر العمل (frameworks). أشياء مثل GSD (أنجز العمل)،
00:49:37وBMAT، وإلى حد ما Superpowers. الفكرة هي أن هناك مستودعات
00:49:42على GitHub تعمل كطبقة تنظيمية حول Cloud Code وتغير كيفية
00:49:47عمله على مستوى أساسي. هو لا يزال نفس البرنامج، ولا تزال
00:49:53في نافذة الأوامر، لكن هذه البرامج تغير طريقة تخطيطه لبعض الأمور
00:49:59وطريقة تنفيذه لها وطريقة تسجيله لتقدمه. والفكرة هي أنه باستخدام
00:50:03طبقات التنظيم هذه، فإنها تساعد Cloud Code على فعل شيء ما.
00:50:10وغالبًا ما تساعده في التعامل مع المهام والمشاريع المعقدة.
00:50:14رأيي الشخصي هو أن هناك الكثير من الأشياء المفيدة فيها،
00:50:18لكنك تحتاج لخبرة معينة لتفهم متى يكون استخدامها منطقيًا.
00:50:24لأنه كما هو الحال مع الـ CLIs والـ MCPs، قد تشعر كطفل في متجر حلوى
00:50:29وتعتقد أنك بحاجة لاستخدام كل طبقة تنظيم موجودة لمجرد الاستخدام.
00:50:37وكأنك على بعد طبقة واحدة فقط من إتقان Cloud Code حقًا.
00:50:41لا أعتقد أن هذا هو الحال، خاصة مع مرور الوقت. عندما ظهر GSD
00:50:47لأول مرة، كانت طريقته في التعامل مع تلف السياق عبقرية حقًا،
00:50:52خاصة بالمقارنة مع كيفية تعامل Cloud Code معه الآن.
00:50:58لكن الكثير من الأشياء الأساسية الرائعة في GSD وأطر العمل الأخرى
00:51:04ولكن يجب أن يكون جهاز الكمبيوتر الخاص بي قيد التشغيل، ويجب أن يكون تطبيق Cloud Code مفتوحاً
00:51:09بشكل أو بآخر. لذا افهموا أنها ليست مجرد مهمة مجدولة بغض النظر عن الظروف،
00:51:14لكن Cloud Code لديه القدرة على إنشاء مهام مجدولة على نظام ويندوز. لدي واحدة تقوم
00:51:21بتشغيل واجهة برمجة تطبيقات GitHub وتسحب المشاريع الشائعة لهذا اليوم. كل صباح
00:51:27لا علاقة لذلك بنسخة Cloud Code للويندوز، فجهازي ونظامي هما من يقومان بذلك، ولكن
00:51:32Cloud Code هو من كتب النص البرمجي. والآن لم يتبقَ لدينا سوى بضعة مفاهيم، وأحدها
00:51:37الذي أشرت إليه في البداية هو "خطة ألترا" (Ultra Plan). ما هي خطة ألترا؟ حسناً، إنها
00:51:43تشبه "وضع الخطة" (Plan Mode)، ولكنها بمثابة وضع خطة فائق وتعمل في السحابة. فإذا كتبت
00:51:48ultra plan/ وقلت: "ضع خطة لتحقيق أرباح لتطبيقنا"، فسيقول: "مهلاً،"
00:51:54وفق جدول زمني، حتى لو لم نكن متواجدين. وفي المهام المجدولة،
00:51:59لدينا بعض الخيارات وكل هذا يصب في المحفزات، وهي فكرة التكرار (loop).
00:52:04فباستخدام أمر loop، يمكنني جعل البرنامج يفعل شيئًا كل فترة
00:52:11زمنية محددة. ولكن هناك بعض المحاذير. أولاً، الأمر مرتبط بالجلسة.
00:52:16يجب أن تكون هذه النافذة تحديدًا مفتوحة ليعمل الأمر. ثانيًا، هناك حد
00:52:21أقصى للمؤقت، وهو سبعة أيام حاليًا. في البداية كان ثلاثة أيام
00:52:26والآن أصبح سبعة. النقطة هي أنك مقيد بضرورة بقاء النافذة مفتوحة.
00:52:31فإذا أغلقت حاسوبي، تنتهي حلقة التكرار. لذا التكرار مفيد مثلاً
00:52:37إذا كنت تقوم برفع تحديثات (deployments) باستمرار لموقعك وتريد
00:52:44حلقة تكرار تتحقق من حالة الرفع كل 30 دقيقة. كأنها مهارة
00:52:48صغيرة مركزة جدًا. لكن ماذا لو أردت من البرنامج فعل شيء
00:52:54طوال الوقت حتى لو لم تكن موجودًا؟ الجواب هو: يعتمد الأمر.
00:52:59تحدثنا سابقًا عن تطبيق سطح المكتب لـ Cloud Code. أحد الأشياء
00:53:06التي يفعلها بشكل جيد هي المهام المجدولة. فإذا ذهبت هنا
00:53:12وضغطت على "جدولة" (scheduled)، يمكنني إنشاء مهمة جديدة ستعمل
00:53:16في كل مرة حتى لو لم أكن هناك. يمكنني عمل مهمة عن بُعد (remote task)
00:53:22تعمل في السحابة. لنقل: "كل صباح في السابعة، أريدك أن تفحص حسابي
00:53:27على GitHub وتفعل كذا وكذا". وسيفعل ذلك. ويمكنه حتى عمل مهمة
00:53:31محلية. مثل أن يبحث البرنامج في الويب ويذهب لليوتيوب ويستخدم
00:53:36أداة NotebookLM ليجد لي أفضل 10 فيديوهات رائجة في مجال معين.
00:53:42يمكنه فعل ذلك أيضًا. وأحد محاذير فعل ذلك بمهمة محلية هو
00:53:46أنها ليست مرتبطة بالجلسة. فتطبيق سطح المكتب سيفتح جلسة جديدة
00:53:52في كل مرة، كأنه يفتح نافذة أوامر جديدة، لكن يجب أن يكون حاسوبي
00:53:57يعمل والتطبيق مفتوحًا بشكل ما. لذا افهم أنها ليست مهمة مجدولة
00:54:01بالمعنى المطلق، لكن البرنامج لديه القدرة على إنشاء مهام مجدولة على
00:54:05نظام Windows. فمثلاً لدي مهمة تشغل واجهة برمجة تطبيقات GitHub
00:54:11وتستخرج المستودعات الرائجة لذلك اليوم. كل صباح، وهذا ليس له
00:54:18علاقة بنظام Cloud Windows، بل حاسوبي نفسه هو من يفعل ذلك،
00:54:24ولكن Cloud Code هو من كتب السكربت. لم يبقَ لنا إلا مفاهيم قليلة.
00:54:28وأحدها الذي أشرت إليه في البداية هو Ultra Plan. ما هو؟
00:54:34حسنًا، Ultra Plan يشبه وضع التخطيط (plan mode) لكنه نسخة فائقة
00:54:39يمكنني رؤية عدد النجوم والمواضيع والأوصاف، ويمكنني الضغط للدخول إليها. وهذا يتيح لي
00:54:44مواكبة ما يحدث في عالم البرمجة السحابية بشكل جيد للغاية. وإذا كنت شخصاً
00:54:51يأخذ هذا الأمر بجدية ويريد دائماً أن يكون مطلعاً على أحدث التطورات وما هو رائج،
00:54:55فهذه هي الطريقة المثلى للقيام بذلك. وبالطبع، ليس كل واحد من هذه المشاريع سيذهلك،
00:55:01هناك بعض الاختلافات في Ultra Plan. أولاً، لم يتم تأكيد الأمر تمامًا،
00:55:07لكن بناءً على كيفية عمله، يُفترض وجود عدة وكلاء يعملون معًا
00:55:13على هذه الخطة بالتحديد. لذا فهي أقوى من خطة Cloud Code العادية.
00:55:19الشيء الثاني هو أنه بمجرد أن يقدمها لنا، يكون من الأسهل
00:55:23تعديلها وإعطاء ملاحظاتك. وهذا ما عاد به Ultra Plan.
00:55:28أحد الاختلافات هو أنني أستطيع نسخ أي شيء وترك تعليق
00:55:32على تلك الخطة. بل يمكنني حتى الرد برمز تعبيري (emoji) لأنها
00:55:38أفضل طريقة للبرمجة! ولكن بشكل عام، هو يوفر لك واجهة أجمل
00:55:42للاستخدام. هذا هو الفرق الكبير. حقيقة وجود وكلاء أقوى على الأرجح
00:55:46وواجهة مستخدم أسهل، وسهولة إعطاء الملاحظات على أجزاء محددة.
00:55:50إذا وافقت على الخطة، تضغط بالأسفل، ويقوم بإرسالها للنافذة الرئيسية.
00:55:56ثم يتاح لك خيار تنفيذها ضمن الجلسة، أو بدء جلسة جديدة.
00:56:00بدء جلسة جديدة يمسح المحادثة لكنه يحتفظ بالخطة، فنحصل على
00:56:05نافذة سياق جديدة تمامًا. هذا الوضع ظهر للتو، لذا توقعوا
00:56:11تغييرات كثيرة عليه. الآن، لدينا مفهومان والقبل الأخير هو التحكم عن بُعد.
00:56:15كيف تستخدم Cloud Code من هاتفك. أسهل طريقة هي التحكم عن بُعد.
00:56:21وهناك طرق أخرى مثل القنوات، لكنني سأقول إن التحكم عن بُعد هو
00:56:26الأكثر منطقية للغالبية. تستخدمه من تطبيق السحابة للجوال،
00:56:30لكنك تحتاج لجلسة مفتوحة. الفكرة هي أن تكون هناك جلسة تعمل بالفعل