كل ما كنت أعرفه عن البرمجة بالذكاء الاصطناعي كان خاطئاً

AAI LABS
Computing/SoftwareInternet Technology

Transcript

00:00:00أنت تعرف بالفعل عن أطر البرمجة بالذكاء الاصطناعي مثل Beemad وSpeckit وغيرها، لكن هذه ليست الوحيدة.
00:00:06هناك المئات من الأشخاص الذين يجربون ويطلقون سير عملهم الخاص، ولكن عندما تجربها، ستلاحظ أنها غالبًا ما تفشل في الوفاء بوعودها.
00:00:13ليس لأن أساليبهم سيئة، بل لأنها لا تناسب حالة الاستخدام الخاصة بك.
00:00:18عندما نبني التطبيقات، نقضي معظم الوقت في إنشاء سير العمل الخاص بنا بدلاً من الاعتماد على السير الجاهزة.
00:00:23وذلك لأن سير العمل يجب أن يُبنى حول حالة الاستخدام المحددة الخاصة بك ولا يعمل إلا إذا كان متوافقًا مع المشروع الذي تحاول بناءه.
00:00:30إذًا كيف تبني سير عمل لعمليتك الخاصة؟
00:00:32لذلك، تحتاج إلى معرفة مبادئ معينة.
00:00:34هذه هي المبادئ التي يستخدمها كل إطار عمل بطريقة أو بأخرى.
00:00:38قبل مناقشة المبادئ الرئيسية، من الضروري أن تعرف ما هو موجود داخل نافذة السياق لأدوات الذكاء الاصطناعي هذه.
00:00:44إنه مهم حقًا، لأن إدارة السياق هي أساسًا ما تفعله هذه الأطر.
00:00:48نافذة السياق هي في الأساس كمية المعلومات التي يمكن للنموذج تذكرها في وقت واحد.
00:00:53أي شيء يخرج من نافذة سياق النموذج يخرج من ذاكرته العاملة، وليس لديه طريقة لاستدعائه.
00:00:59النماذج لديها نافذة سياق محدودة.
00:01:00على سبيل المثال، نماذج Anthropic لديها نافذة سياق بحجم 200 ألف رمز، ونماذج Gemini لديها مليون.
00:01:06على الرغم من أن هذه قد تبدو أرقامًا كبيرة حقًا من حيث الرسائل التي ترسلها، إلا أنها في الواقع ليست ضخمة للغاية، لأنه في أدوات الذكاء الاصطناعي هذه، لا تتكون نافذة السياق من موجه النظام ورسائل المستخدم فقط، بل تتضمن أيضًا الكثير من الأشياء الأخرى مثل رسائلك السابقة وملفات الذاكرة والأدوات واستدعاءات MCP وما إلى ذلك.
00:01:23تحتاج إلى تعلم كيفية الاستفادة القصوى من هذه المساحة العاملة المحدودة، حتى عندما تبني سير عملك، يفعل النموذج بالضبط ما تريد منه أن يفعله.
00:01:30سأستخدم Claude Code كأداة البرمجة الأساسية الخاصة بي طوال الفيديو، لكن يمكنك بناء سير عملك على أي منصة، حيث أن جميعها تحتوي على الأدوات اللازمة لهذه المبادئ.
00:01:39المبدأ الأكثر أهمية والمفتاح لأي تصميم لسير العمل هو الكشف التدريجي.
00:01:44وهذا يعني الكشف لنموذج اللغة الكبيرة فقط عما يهم، والحفاظ على تركيز النموذج على ما هو مطلوب فعليًا الآن، بدلاً من ملء نافذة السياق بكل ما قد يحتاجه في المستقبل.
00:01:54الآن، النماذج الأكثر تقدمًا مثل Sonnet 4.5 لديها ميزة تحرير السياق مدمجة مباشرة، حيث يمكنها فهم ما هو مشوش ومحاولة تصفيته من تلقاء نفسها، وتستخدم أوامر grep لتضييق نطاق ما تريده.
00:02:07لكن هذا وحده ليس كافيًا.
00:02:08عندما نعطي تعليمات غامضة، حتى هذه النماذج الأحدث تحمّل الكثير من الأشياء غير المطلوبة وتلوث النافذة.
00:02:14بدلاً من أن تطلب من Claude إصلاح الخطأ في الواجهة الخلفية الخاصة بك، من الأفضل أن تطلب منه فحص نقاط النهاية واحدة تلو الأخرى، بدلاً من أن تطلب منه إصلاح كل شيء دفعة واحدة.
00:02:23ميزة المهارات في Claude هي الآن مفتوحة المصدر ويمكن لجميع الأدوات استخدامها.
00:02:27المهارات هي في الأساس تجسيد للكشف التدريجي.
00:02:29توفر أوصافها ما يكفي من المعلومات لمنصة البرمجة بالذكاء الاصطناعي الخاصة بك لمعرفة متى يجب استخدام كل مهارة دون تحميل كل شيء في السياق.
00:02:38خطأ كبير يرتكبه الناس هو استخدام MCPs لكل شيء.
00:02:41يجب أن تستخدم MCPs فقط عندما تكون البيانات الخارجية مطلوبة وتستخدم المهارات لكل شيء آخر.
00:02:46المبدأ الثاني المهم بنفس القدر هو أن المعلومات غير المطلوبة الآن لا يجب أن تكون في نافذة السياق.
00:02:52لتحقيق ذلك، تستخدم الأدوات تدوين الملاحظات المنظم.
00:02:55ويمكننا استخدام هذا لصالحنا من خلال تزويد أداة الذكاء الاصطناعي الخاصة بك بملفات خارجية يمكنها استخدامها لتوثيق أي قرارات أو مشكلات أو ديون تقنية.
00:03:03يتيح هذا النهج للوكيل الخاص بك الحفاظ على السياق الحاسم الذي قد يضيع بخلاف ذلك عند بناء شيء معقد حقًا.
00:03:09تحتوي هذه الأدوات أيضًا على ميزة الضغط لإدارة نافذة السياق.
00:03:13وعندما يتم إعادة تعيين السياق، لا يتعين عليك الاعتماد فقط على ملخص الضغط.
00:03:17على سبيل المثال، يمكن للوكيل الخاص بك استخدام هذه الملاحظات لاكتساب السياق حول ما تم إنجازه بالفعل وما لا يزال يتعين القيام به.
00:03:23هذا النهج مفيد بشكل خاص للمهام طويلة المدى، والتي هي معقدة بطبيعتها.
00:03:28قد تكون على دراية بملف agent.md.
00:03:30إنه ملف سياق قياسي تقرأه جميع الوكلاء قبل بدء الجلسة.
00:03:34بعض الوكلاء لا يتبعون هذا ولديهم ملفاتهم الخاصة، مثل claud.md، وأستخدمها لتوجيه الوكيل حول كيفية هيكلة الملفات الخارجية وما يجب كتابته في كل منها.
00:03:44في بعض الأحيان تتوقف هذه الوكلاء بشكل عشوائي في منتصف مهمة طويلة.
00:03:47الكثير من الأحيان يحدث هذا لأن السياق قد تجاوز 70٪ من حده.
00:03:52هذا هو المكان الذي يأتي فيه مفهوم ميزانية الانتباه.
00:03:55نافذة السياق الخاصة بك هي ما ينتبه إليه النموذج أثناء إنتاج الناتج.
00:03:59عندما يتجاوز 70٪، يجب على النموذج التركيز أكثر وهناك فرصة أكبر للهلوسة.
00:04:04من حيث وكلاء الذكاء الاصطناعي، فإنه يمنعهم من استخدام أدواتهم بفعالية وغالبًا ما يختارون تجاهلها.
00:04:10لحل هذا، هناك العديد من الأدوات المدمجة التي يمكنك استخدامها.
00:04:14كما تعلم بالفعل، يسمح الضغط للنموذج بالبدء من جديد مع ملخص مناسب لما حدث كموجه بداية ونافذة سياق مخفضة.
00:04:21لذلك بدلاً من تركه يملأ إلى 90٪ وتفعيل ميزة الضغط التلقائي، حاول مراقبة نافذة السياق والقيام بذلك بنفسك.
00:04:28إذا كنت تجرب، استخدم ميزة الترجيع المدمجة في claud حتى تتمكن من حذف الأجزاء غير الضرورية بدلاً من الاستمرار فيها وطلب التغييرات من claud.
00:04:36يجب عليك أيضًا مسح أو بدء نافذة سياق جديدة لأي مهمة جديدة حتى لا يبطئ السياق السابق النموذج.
00:04:42شيء آخر ينبع من مبدأ الكشف التدريجي هو قدرة هؤلاء الوكلاء على تشغيل المهام في الخلفية دون تلويث نافذة السياق الرئيسية.
00:04:51يعمل الوكلاء الفرعيون في نافذة سياق معزولة خاصة بهم ويقدمون فقط الناتج إلى الوكيل الرئيسي.
00:04:57هذا مفيد بشكل خاص عند العمل على مهام معزولة عن بعضها البعض لأن نافذة السياق الرئيسية الخاصة بك محمية من الانتفاخ باستدعاءات الأدوات والبحوث التي يقوم بها الوكيل الفرعي، مما يضمن بقاء المعلومات في منطقة العمل المخصصة لها.
00:05:10نظرًا لأن هؤلاء الوكلاء يعملون في الخلفية، يمكنك الاستمرار في التفاعل مع الوكيل الرئيسي الخاص بك ودعه يعمل على شيء يتطلب انتباهك فعليًا.
00:05:17كلما أردت البحث عن شيء ما، مثل قواعد إطار عمل جديد أعمل به، أستخدم فقط هؤلاء الوكلاء الفرعيين.
00:05:23بهذه الطريقة، تكون استدعاءات أدواتهم وبحوثهم معزولة ويعيدون فقط الإجابة إلى الوكيل الرئيسي.
00:05:29إذا فهمت مبدأ تدوين الملاحظات، يجب أن تعرف أيضًا تنسيق الملف الذي يجب استخدامه لكل مهمة.
00:05:34نظرًا لأن هذه الملفات لها تنسيقات مختلفة، فإنها تؤثر على عدد الرموز وبالتالي كفاءة سير العمل الخاص بك.
00:05:40YAML هو الأكثر كفاءة من حيث الرموز، لذا أستخدمه بشكل أساسي لمخططات قواعد البيانات وتكوينات الأمان وتفاصيل API.
00:05:46المسافات البادئة الخاصة به تساعد النماذج على هيكلة المعلومات بشكل صحيح.
00:05:49Markdown أفضل للتوثيق مثل ملف claud.md الخاص بك لأن مستويات العناوين تسهل على النموذج التنقل بين الأقسام.
00:05:56XML مُحسّن خصيصًا لنماذج claud.
00:05:59تذكر Anthropic أن نماذجها مُحسّنة للتعرف على هذه العلامات كحاويات وفواصل، وهو أمر مفيد عندما يكون لديك أقسام مميزة مثل القيود أو الملخصات أو التفاصيل المرئية.
00:06:10النماذج الأخرى تفضل عمومًا Markdown وYAML على XML.
00:06:13وأخيرًا، JSON.
00:06:14إنه الأقل كفاءة من حيث الرموز بسبب جميع الأقواس وعلامات الاقتباس الإضافية، لذا أستخدمه فقط للأشياء الصغيرة مثل حالات المهام ولا أوصي باستخدامه في معظم الأحيان.
00:06:23Git هو أحد أبسط الأشياء التي يتم تعليمك إياها عند بدء البرمجة.
00:06:26لقد رأينا اتجاهًا آخر مع سير عمل السياق هذه حيث يستخدم الناس فعليًا سجل commit في git كتذكير للنموذج بالتقدم الذي تم إحرازه، سواء عبر المشروع بأكمله أو في مهمة واحدة.
00:06:37حتى لو كنت لا تريد استخدامه لتخزين التقدم، يجب عليك عمومًا استخدام سير عمل هندسة السياق هذه في مستودع مُهيأ بـ git.
00:06:44وجود سير عمل هندسي للسياق يعني أنك لا تسمح للنموذج بفعل كل شيء دفعة واحدة، بل تجعله يعمل على خطوات مخططة واحدة تلو الأخرى.
00:06:51إذا واجهت مشكلة في أي مرحلة، يتيح لك git التحكم في الإصدار الذي تريد الرجوع إليه ويساعد في تقييم التغيير المسبب للمشاكل.
00:06:59قام الناس أيضاً بتنفيذ التوازي باستخدام أشجار عمل git.
00:07:02لقد أوضحت أيضاً العديد من سير العمل حيث تعمل الوكلاء الفرعيون في أشجار عمل مخصصة للعمل المتوازي.
00:07:07مهما كان سير العمل الذي تنشئه في النهاية، ستكون هناك دائماً حالات تجد نفسك فيها تكرر التعليمات للإجراءات الشائعة.
00:07:13مثال جيد على ذلك هو كيفية طلبك من أدوات الذكاء الاصطناعي القيام بعمليات git commits أو تحديث التوثيق الخاص بك.
00:07:18في جميع هذه الأدوات المدعومة بالذكاء الاصطناعي تقريباً، هناك طرق لإعادة استخدام الأوامر الأكثر تكراراً.
00:07:22غالباً ما أستخدم الأوامر المخصصة في مشاريعي الخاصة لأنها تمنح Claude دليلاً قابلاً لإعادة الاستخدام.
00:07:28غالباً ما أستخدم أمر اللحاق بالركب الذي يحتوي على تعليمات حول كيفية هيكلة الذاكرة خارج نافذة السياق، حتى يعرف Claude كيف يلحق بالمشروع بدلاً من قراءة كل ملف.
00:07:38كما أنها جيدة في فرض الهيكلة.
00:07:40لكي تتبع عمليات الالتزام والتوثيق الخاصة بي تنسيقاً محدداً، أستخدم أمر commit يتبع هيكلاً معيناً لكيفية كتابة رسائل الالتزام وما هي الفحوصات التي يجب إجراؤها قبل الالتزام.
00:07:51بهذه الطريقة تحافظ الأوامر على كل شيء موحداً، ولا أحتاج لتوجيه Claude مراراً وتكراراً لأداء المهام بالطريقة التي أفضلها.
00:07:58كما تعلم، يجب استخدام MCPs كلما كانت هناك حاجة لبيانات خارجية.
00:08:01Jira هو برنامج إدارة الفرق الأكثر استخداماً على نطاق واسع.
00:08:04إذا كنت تريد الحصول على معلومات من التذاكر، يمكنك استخدام Jira MCP حتى يتمكن من الوصول إلى التذاكر مباشرة والبدء في تنفيذ التغييرات.
00:08:11بالمثل، أستخدم Figma MCP لتزويد Claude بدليل نمط التطبيق الذي يستخدمه بعد ذلك لبناء التصميم.
00:08:18بالنسبة للمهام التي تقصر فيها قدرات النموذج المدمجة، تعتبر MCPs ضرورية للتفاعل مع المصادر الخارجية بكفاءة.
00:08:25يمكنك تضمين هذه MCPs مباشرة في أوامرك المخصصة حتى تصبح جزءاً من سير عملك بالكامل.
00:08:31بهذا نصل إلى نهاية هذا الفيديو.
00:08:32إذا كنت ترغب في دعم القناة ومساعدتنا في الاستمرار بإنتاج مقاطع فيديو مثل هذه، يمكنك القيام بذلك باستخدام زر الشكر الخاص أدناه.
00:08:39كالعادة، شكراً لك على المشاهدة وأراك في الفيديو القادم.

Key Takeaway

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

Highlights

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

الكشف التدريجي هو المبدأ الأهم - عرض المعلومات الضرورية فقط للنموذج في الوقت المناسب بدلاً من ملء السياق بكل شيء

استخدام المهارات (Skills) للعمليات الداخلية وحجز MCPs فقط للبيانات الخارجية يحسن الأداء بشكل كبير

تدوين الملاحظات المنظم باستخدام ملفات خارجية يحافظ على السياق الحاسم دون تلويث نافذة العمل الرئيسية

الوكلاء الفرعيون يعملون في سياق معزول ويقدمون النتائج فقط، مما يحمي النافذة الرئيسية من الانتفاخ

اختيار التنسيق المناسب (YAML, Markdown, XML, JSON) حسب المهمة يؤثر على كفاءة استهلاك الرموز

Git والأوامر المخصصة تساعد في بناء سير عمل هندسي منظم وقابل للتحكم والإرجاع

Timeline

المشكلة مع الأطر الجاهزة وأهمية بناء سير العمل الخاص

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

فهم نافذة السياق وأهميتها في أدوات الذكاء الاصطناعي

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

مبدأ الكشف التدريجي والمهارات مقابل MCPs

الكشف التدريجي هو المبدأ الأكثر أهمية ويعني الكشف للنموذج فقط عما يهم الآن والحفاظ على تركيزه على المطلوب فعلياً بدلاً من ملء السياق بكل شيء. النماذج الحديثة مثل Sonnet 4.5 لديها ميزة تحرير السياق مدمجة، لكن هذا وحده ليس كافياً عند إعطاء تعليمات غامضة. بدلاً من طلب إصلاح كل شيء دفعة واحدة، من الأفضل طلب فحص الأشياء واحدة تلو الأخرى. المهارات (Skills) هي تجسيد للكشف التدريجي حيث توفر أوصافها معلومات كافية لمعرفة متى تُستخدم دون تحميل كل شيء في السياق، ويجب استخدام MCPs فقط عندما تكون البيانات الخارجية مطلوبة.

تدوين الملاحظات المنظم وإدارة المعلومات خارج السياق

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

ميزانية الانتباه والضغط وإدارة نافذة السياق

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

الوكلاء الفرعيون والعمل المتوازي في سياقات معزولة

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

اختيار تنسيق الملف المناسب لكفاءة الرموز

تنسيقات الملفات المختلفة تؤثر على عدد الرموز وبالتالي على كفاءة سير العمل. YAML هو الأكثر كفاءة من حيث الرموز ويُستخدم لمخططات قواعد البيانات وتكوينات الأمان وتفاصيل API بسبب مساحاته البادئة التي تساعد النماذج على هيكلة المعلومات. Markdown أفضل للتوثيق مثل ملف claud.md لأن مستويات العناوين تسهل التنقل بين الأقسام. XML مُحسّن خصيصاً لنماذج Claude حيث أن Anthropic ذكرت أن نماذجها مُحسّنة للتعرف على هذه العلامات كحاويات وفواصل، وهو مفيد للأقسام المميزة. JSON هو الأقل كفاءة بسبب الأقواس وعلامات الاقتباس الإضافية، لذا يُستخدم فقط للأشياء الصغيرة مثل حالات المهام.

استخدام Git والأوامر المخصصة لسير عمل منظم

سجل الـ commits في Git يُستخدم كتذكير للنموذج بالتقدم المحرز عبر المشروع أو في مهمة واحدة، ويجب استخدام سير العمل في مستودع مُهيأ بـ Git. سير العمل الهندسي للسياق يعني عدم السماح للنموذج بفعل كل شيء دفعة واحدة بل جعله يعمل على خطوات مخططة واحدة تلو الأخرى. Git يتيح التحكم في الإصدار والرجوع عند مواجهة مشاكل، كما نُفذ التوازي باستخدام أشجار عمل Git. الأوامر المخصصة تُستخدم لإعادة استخدام الأوامر المتكررة مثل عمليات الـ commits أو تحديث التوثيق، وأمر اللحاق بالركب يحتوي على تعليمات حول كيفية هيكلة الذاكرة خارج السياق، بينما أمر commit يتبع هيكلاً محدداً لكتابة رسائل الالتزام والفحوصات قبل الالتزام.

استخدام MCPs للبيانات الخارجية والخاتمة

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

Community Posts

View all posts