شرح جميع مفاهيم Claude Code الـ 35 لغير المبرمجين

CChase AI
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

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لكنك تحتاج لجلسة مفتوحة. الفكرة هي أن تكون هناك جلسة تعمل بالفعل

Key Takeaway

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

Highlights

يتميز Claude Code عن تطبيق الويب بقدرته على تنفيذ مهام برمجية فعلية والوصول إلى الملفات المحلية والتحكم في جهاز الكمبيوتر بدلاً من مجرد الدردشة النصية.

تتطلب كفاءة الأداء الحفاظ على نافذة السياق دون تجاوز 200,000 رمز (token) لتجنب تدهور النتائج وزيادة التكاليف.

تتفوق واجهات سطر الأوامر (CLIs) على خوادم MCP بنسبة 90% من حيث كفاءة استهلاك الرموز وسرعة التنفيذ.

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

تسمح مهارة صانع المهارات (Skill Creator) بإجراء اختبارات AB تلقائية لقياس مدى تحسن أداء الأوامر المخصصة مقارنة بالنتائج الأصلية.

يدعم Claude Code نظام العمل المتوازي عبر Git Worktrees الذي يمنح كل وكيل بيئة ملفات مستقلة لمنع تعارض الكود عند العمل على مهام متعددة في آن واحد.

Timeline

الأساسيات والفرق الجوهري بين تطبيق الويب وبيئة الكود

  • يمتلك Claude Code جسداً تقنياً يتيح له تعديل الملفات والوصول للبريد الإلكتروني بخلاف تطبيق الويب المحدود بالدردشة.
  • يعتمد تثبيت البرنامج على سطر برمجي واحد يتم نسخه ولصقه في Terminal أو PowerShell حسب نظام التشغيل.
  • تعد بيئة Visual Studio Code (VS Code) الجسر الأمثل للمبتدئين للتعامل مع نافذة الأوامر بوضوح بصري.

يعمل المحرك البرمجي Opus 4.6 في كلا المنصتين، لكن نسخة الكود تمنح الذكاء الاصطناعي صلاحيات التنفيذ المباشر. يسهل المجلد المحلي عملية مراقبة الملفات التي يتم إنشاؤها لحظياً. يساعد استخدام VS code في تقليل رهبة واجهة الأسطر البرمجية عبر توفير مستكشف ملفات مرئي بجانب نافذة الأوامر.

إدارة الصلاحيات ووضع التخطيط للنتائج الدقيقة

  • يؤدي تفعيل خيار bypass permissions إلى تسريع العمل عبر السماح للبرنامج بتعديل وحذف الملفات دون طلب إذن متكرر.
  • يعمل وضع التخطيط (Plan Mode) كفلتر جودة يطرح أسئلة توضيحية لسد الثغرات في الأوامر الضعيفة.
  • يضمن التعامل مع الذكاء الاصطناعي كمتعلم صبور فهم التقنيات المستخدمة بدلاً من مجرد نسخ الكود.

توجد ثلاثة مستويات للصلاحيات تبدأ من الطلب اليدوي لكل تعديل وصولاً إلى التجاوز الكامل للموافقة. يساعد وضع التخطيط في تحديد مجموعة التقنيات (Stack) المناسبة للمشروع قبل كتابة سطر واحد. يعزز هذا النهج مهارات المستخدم عبر مطالبة البرنامج بشرح المفاهيم التقنية مثل Next.js و Tailwind أثناء عملية البناء.

اقتصاد الرموز وإدارة نافذة السياق

  • تمثل الرموز (Tokens) العملة الفعلية التي يستهلكها كل أمر واستجابة داخل نظام Claude Code.
  • يؤدي امتلاء نافذة السياق إلى ظاهرة تدهور السياق (Context Rot) التي تضعف جودة الأداء البرمجي.
  • يوفر أمر clear/ إعادة ضبط فورية للذاكرة دون فقدان القدرة على رؤية ملفات المشروع المحلية.

تمتلك نافذة السياق سعة تصل إلى مليون رمز، لكن الفعالية تنخفض كلما زاد حجم المحادثة. يمكن إنشاء سطر حالة (Status Line) دائم لمراقبة استهلاك الرموز والنموذج المستخدم لحظة بلحظة. تسمح ميزة Git commit و rewind بالعودة إلى نقاط حفظ سابقة في حال حدوث أخطاء برمجية أو رغبة في التراجع عن قرارات معينة.

مجموعة الأدوات المتقدمة والمهارات المخصصة

  • تحول المهارات (Skills) الأوامر النصية المتكررة إلى وظائف ثابتة يمكن استدعاؤها بضغطة زر أو أمر مائل.
  • تعالج المراجعة الهجومية (Adversarial Review) انحياز الذكاء الاصطناعي لكوده الخاص عبر نقد الثغرات بصرامة.
  • تسمح تقنية few shot prompting بتوجيه التصميم بدقة عبر تزويد البرنامج بأمثلة كود HTML حقيقية ولقطات شاشة.

يوفر متجر الإضافات مهارات جاهزة مثل تصميم الواجهة الأمامية التي تحسن المظهر البصري فوراً. تتيح إضافة Codex من OpenAI الحصول على رأي تقني ثانٍ مستقل عن نموذج Anthropic لضمان صحة الكود. يساعد دمج لقطات الشاشة مع الكود المصدري في نقل الهوية البصرية المطلوبة بدقة تتجاوز الوصف النصي المجرد.

الوكلاء الفرعيون والعمليات المؤتمتة للمحترفين

  • تنفذ فرق الوكلاء (Agent Teams) مهاماً متوازية ومنسقة مثل البحث والتصميم والبرمجة في آن واحد.
  • تعمل المهام المجدولة (Scheduled Tasks) في تطبيق سطح المكتب بشكل مستقل حتى عند غياب المستخدم.
  • تنشئ خاصية Git Worktrees بيئات عمل منفصلة لكل نافذة أوامر لمنع تداخل التعديلات البرمجية.

تتواصل فرق الوكلاء مع بعضها لضمان توافق أجزاء المشروع المختلفة، وهي ميزة تجريبية تتطلب تفعيلاً خاصاً. يمكن برمجة حلقات تكرار (Loop) لمراقبة تحديثات المواقع أو استخراج بيانات يومية من GitHub تلقائياً. توفر خطة Ultra واجهة مستخدم محسنة في السحابة تسمح بترك تعليقات وملاحظات دقيقة على كل جزء من خطة العمل المقترحة.

Community Posts

View all posts