00:00:00أطلقت منصة GitHub للتو أداة مثيرة للاهتمام للغاية، تُسمى سير العمل العميل (agentic workflows)، وتهدف إلى تبسيط
00:00:05إدارة خطوط أنابيب CI/CD من خلال توفير طريقة لتنسيق سير العمل باستخدام البرمجة باللغة الطبيعية.
00:00:12إنها فكرة رائعة حقاً، وقد تؤدي إلى تحديث الطريقة التي نصون بها مستودعاتنا البرمجية ونديرها.
00:00:18في هذا الفيديو، سنلقي نظرة فاحصة على كيفية عمل GitHub agentic workflows،
00:00:24وسأوضح لكم كيفية إعدادها لمستودعاتكم الخاصة. ستكون تجربة ممتعة للغاية،
00:00:28لذا فلنبدأ مباشرة.
00:00:30مشروع GitHub agentic workflows هو مبادرة جديدة من GitHub Next و Microsoft Research كجزء من
00:00:40رؤية أوسع يطلقون عليها “الذكاء الاصطناعي المستمر” (Continuous AI). والهدف هو تجاوز الأتمتة التقليدية إلى مفهوم
00:00:47يسمونه “الغموض الإنتاجي” (Productive Ambiguity). فالفكرة هي أن إجراءات GitHub التقليدية حتمية بطبعها.
00:00:54إذا حدث (س)، فعليك فعل (ص). لكن مهام مثل فرز الأخطاء، أو تحديث الوثائق،
00:01:00أو اكتشاف العيوب الهيكلية تتطلب لمسة من التقدير البشري. وتسمح لك سير العمل العميلة
00:01:06بوصف هذا التقدير بلغة markdown بسيطة وتنفيذه. ولكن هذا يعني أيضاً ضرورة
00:01:11وجود بعض الضوابط، ولهذا السبب تتبنى الأداة نهج “الإجراءات أولاً”.
00:01:16ببساطة، هي ترث نظام GitHub Actions بالكامل، بما في ذلك السجلات المرئية للفريق، وإدارة الأسرار،
00:01:23وصلاحيات التدقيق. وبذلك تحصل على ذكاء العميل الآلي مع ضوابط
00:01:29خط أنابيب CI/CD القياسي. تعمل هذه العوامل بأقل الصلاحيات الممكنة افتراضياً، مما يعني أنها
00:01:35تستطيع تحليل الكود واقتراح التحسينات، لكنها لا تملك حق إجراء عمليات الكتابة دون
00:01:41موافقة صريحة عبر مسارات محددة مسبقاً ومؤمنة. الفكرة الأساسية هي إنشاء
00:01:46مساعد AI لعمليات الـ DevOps ولكن مع وجود ضوابط أمنية حوله. وإعداد الأداة
00:01:52بسيط للغاية. كل ما تحتاجه هو إضافتها باستخدام ملحق GitHub CLI وستصبح جاهزاً.
00:01:57تتم عملية سير العمل نفسها في خطوتين. أولاً، تنشئ ملف markdown يتضمن
00:02:03التعليمات الخاصة بعميلك الآلي، ثم تشغل الأمر ghawcompile على ذلك الملف، وبعدها يقرأ النظام
00:02:10تعليماتك باللغة الطبيعية ويحولها إلى سير عمل GitHub Actions قوي ومحكم
00:02:16يتم تخزينه في ملف log.yaml مخصص. ثم ترفع هذه التغييرات إلى مستودعك ويتم
00:02:22تفعيل العميل تلقائياً. دعونا نقم بعرض تجريبي لنرى كيف يعمل الأمر على أرض الواقع. هنا
00:02:29أنشأتُ مشروعاً فارغاً، وسأبدأ بإنشاء ملف بايثون بسيط يحتوي على بعض
00:02:34متغيرات البيانات حالياً. سنعود لهذا الملف لاحقاً، لكن هذا كل ما نحتاجه الآن.
00:02:39الآن نحتاج لإنشاء مجلد github. وبداخله مجلد فرعي باسم workflows. وتأكد
00:02:46من اتباع اتفاقية التسمية هذه لكي يعرف نظام Agentic Workflows أين يبحث عند تجميع
00:02:51ملفات markdown. ثم لننشئ ملف markdown باسم agent.md. وهذا الملف
00:02:57يتكون أساساً من جزأين. الجزء الأول هو الترويسة حيث تحدد الصلاحيات التي سيتمتع بها
00:03:03هذا العميل. كما ستحتاج لتحديد مزود الذكاء الاصطناعي الذي ستستخدمه. في حالتي،
00:03:09سأستخدم Copilot. وكل ما يلي ذلك هو مجرد شرح حر. ما عليك سوى استخدام اللغة الطبيعية
00:03:15لوصف ما يجب على العميل القيام به. في هذا العرض، سأصمم “مدقق Big O” الذي تتمثل مهمته
00:03:21في فحص الكود المرفوع، وحساب تعقيد (Big O) لأي كود جديد، وإذا كان غير فعال،
00:03:27يحدد طريقة أفضل لتحسينه ويقترحها. وسأطلب منه أيضاً عرض النتائج
00:03:33في جدول بتنسيق markdown للحصول على نظرة عامة سريعة. والآن سأعود للمجلد الرئيسي وأشغل
00:03:38الأمر gh-aw-compile. وإذا كان كل شيء صحيحاً، سنحصل على رسالة تفيد بأننا
00:03:45جمعنا سير عمل جديداً. وإذا نظرنا الآن إلى شجرة الملفات، ستلاحظون وجود ملف
00:03:51log.yaml الذي تم تجميعه تلقائياً بواسطة السكريبت، وأيضاً مجلد جديد باسم aw،
00:03:57يحتوي على ملف سجل إجراءات GitHub. يمكننا الآن رفع هذه التغييرات إلى مستودعنا. وآخر
00:04:03شيء يجب فعله هو تعيين مفتاح API الخاص بمزود الذكاء الاصطناعي كـ “سر” (secret)، لكي يتمكن
00:04:10نظام agentic workflows من الوصول إليه. في حالتي، اخترت Copilot كمحرك، لذا سأضع رمز Copilot الخاص بي هنا.
00:04:15بمجرد الانتهاء من ذلك، سأقوم برفع كل هذه التغييرات إلى GitHub. وعند هذه النقطة، ستكون
00:04:21سير العمل العميلة جاهزة للتفعيل. وبما أنني قمت بإعداد سير العمل لكي
00:04:26يتم تفعيله عند أي طلب سحب (pull request) جديد، فلنقم بإنشاء طلب سحب لاختباره.
00:04:32سأقوم الآن بإنشاء فرع جديد (branch) لمستودعي. وفي هذا الفرع الجديد، سأضيف وظيفة جديدة
00:04:37لملف main.py للبحث عن السجلات المتطابقة. لكني كتبت هذه الوظيفة تعمداً
00:04:44بتعقيد Big O غير فعال للغاية وهو O of N squared. فإذا فتحت طلب سحب بهذا الكود،
00:04:50يفترض أن يكتشف عميلنا أن هذه الوظيفة غير فعالة ويقترح بعض التحسينات. لذا
00:04:56فلنجرب ذلك الآن. أضفت الكود، ورفعت التغييرات، وبالعودة لـ GitHub، لنفتح الآن
00:05:02طلب سحب جديد. ستلاحظون بمجرد فتح الطلب أن خط أنابيب agentic workflow سيتفعل
00:05:08على الفور ويبدأ في معالجة تغييرات الكود. وقد استغرق الأمر من خط الأنابيب حوالي ثلاث
00:05:13دقائق لينتهي. ونرى الآن أن مدقق Big O قد حدد بالفعل أن وظيفتنا
00:05:20غير فعالة. وقد قدم لنا شرحاً مفصلاً لسبب ذلك مع جدول منسق جيداً، كما
00:05:26طلبت، يتبعه قسم يقترح حلاً أفضل. وانظروا إلى ذلك، لقد حسب حتى
00:05:33تأثير الأداء الذي يمكننا كسبه من خلال تطبيق الحل المحسن. آمل أن يوضح لكم هذا المثال
00:05:39كيف يمكننا، بإعداد بسيط، استخدام agentic workflows لإضافة فحوصات أمان إضافية
00:05:44حول الكود البرمجي الخاص بنا. وهنا يأتي دور “الغموض الإنتاجي”، حيث يمكننا أن نطلب من العميل
00:05:51استخدام تقديره الخاص لحل أهداف عالية المستوى مثل الحفاظ على جودة الكود والأداء.
00:05:56بالطبع، لا يزال هذا نموذجاً بحثياً أولياً من GitHub Next، ومن المحتمل أن تواجهوا
00:06:01بعض التأخير في الاستجابة. وبالتأكيد ستظلون بحاجة للعنصر البشري للتحقق من النتائج النهائية.
00:06:07لكن هذه رؤية أوسع للذكاء الاصطناعي المستمر، حيث يمكننا الاستفادة من قوة عملاء الذكاء الاصطناعي
00:06:14لمراقبة وإدارة خطوط أنابيب CI/CD الخاصة بنا بشكل مستقل. وبالحديث عن أنظمة الإدارة الذاتية، إذا كنتم
00:06:19تديرون بيئات إنتاج، فأنتم تعلمون أن الحفاظ على سير كل شيء بسلاسة هو عمل يستمر على مدار الساعة.
00:06:25لهذا السبب أوصي بتجربة Better Stack لأننا أطلقنا مؤخراً مساعد الذكاء الاصطناعي الخاص بنا
00:06:31لموظفي هندسة موثوقية المواقع (SRE) الذي يساعدكم في التعامل مع حوادث العمل أثناء نومكم. وبذلك تتوقفون عن ملاحقة المشاكل
00:06:38وتركزون على كتابة الأكواد ونشرها فعلياً. هكذا نكون قد وصلنا للنهاية. إذا وجدتم هذا الفيديو مفيداً
00:06:42ومعلوماته قيمة، أعلموني بذلك عبر الضغط على زر الإعجاب أسفل الفيديو. ولا تنسوا
00:06:47الاشتراك في قناتنا. كان معكم أندريس من Better Stack وأراكم في
00:06:52الفيديوهات القادمة.