كرهتُ كل وكلاء البرمجة، لذا قمتُ ببناء وكيلي الخاص — ماريو زيشنر (Pi)

MMastra
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00[موسيقى]
00:00:02مرحباً، اسمي ماريو.
00:00:04أنا آتٍ من بلاد أرنولد شوارزنيجر،
00:00:06وهو أمر ربما لم تلاحظوه بعد
00:00:09بناءً على لغتي الإنجليزية الممتازة.
00:00:12أود أن أمهد لهذا بالقول إننا
00:00:13كنا نركض خلف طفلنا البالغ من العمر أربع سنوات طوال اليوم
00:00:16في أنحاء لندن.
00:00:17لذا ذهبنا لرؤية الديناصورات، والمومياوات، ومطعم ناندوز بالطبع،
00:00:24وأشياء أخرى نسيتها بالفعل.
00:00:26أنا متعب جداً جداً.
00:00:28وإذا لم تفهموا أي شيء أقوله،
00:00:31فقط ارفعوا أيديكم وقولوا: استيقظ يا جدي.
00:00:36السبب في وجودي هنا هو في الواقع شخص آخر،
00:00:39موجود هنا في "كوكنفيل" اليوم.
00:00:40دعونا نسميه "شتيتر باينبرجر".
00:00:44في عام 2025، أعتقد في شهر أبريل تقريباً،
00:00:53أخبرني أنا وأرمين روناشا، الذي ربما تعرفونه أيضاً
00:00:58من شهرة Flask وSentry، قائلاً: يا رجل، وكلاء البرمجة هؤلاء،
00:01:02إنهم يعملون فعلياً الآن.
00:01:04فقلت له: أوه، اصمت بحق الجحيم.
00:01:06عذراً، أنا أستخدم كلمات نابية أيضاً.
00:01:09بالطبع لا.
00:01:10وبعد شهر، اجتمعنا في هذه الشقة لمدة 24 ساعة
00:01:13طوال الليل وانغمسنا تماماً في عالم الآلات،
00:01:19وفي عالم مسح الأكواد والبرمجة السريعة.
00:01:21ومنذ ذلك الحين، لم ينم أي منا--
00:01:23لم نعد ننام حقاً، بشكل أساسي.
00:01:27لذا كنا نبني أشياء، الكثير من الأشياء، ومعظمها
00:01:32لم نستخدمه أبداً، لأن هذا هو الشيء الجديد في عام 2025،
00:01:36عام 26.
00:01:37نحن نبني الكثير من الأشياء، لكننا لا نبني الكثير من الأشياء
00:01:39التي نستخدمها بالفعل.
00:01:40كتبنا الكثير من الأشياء.
00:01:42وفي النهاية، توج ذلك بتفكيري،
00:01:46مهلاً، أنا أكره كل وكلاء البرمجة أو الأطر الموجودة حالياً.
00:01:50ما مدى صعوبة كتابة واحد بنفسي؟
00:01:53وكان بيتر يقول: أوه، أريد فقط القيام بشيء ما.
00:01:56ربما لن يسمع عنه أحد.
00:01:58وسيكون بمثابة مساعد شخصي،
00:02:01لأن هذا ما أردت دائماً الحصول عليه.
00:02:03معظمكم يعرف على الأرجح كيف سارت قصته.
00:02:05لذا سأخبركم اليوم بقصتي الأقل إثارة للإعجاب بكثير.
00:02:08لكنني آمل أن أتمكن من نقل بعض الدروس،
00:02:11كما نقول في الصناعة، التي تمكنت من جمعها
00:02:16في الأشهر القليلة الماضية.
00:02:17لذا، باي (Pi).
00:02:19في البداية، كان هناك Cloud Code.
00:02:21في الواقع، كان هناك النسخ واللصق من ChatGPT.
00:02:25لقد فعلنا جميعاً ذلك في البداية، في عام 2023.
00:02:27ثم كان هناك-- من يتذكر GitHub Copilot الأصلي؟
00:02:32نعم، في الواقع، كم منكم مهندسون؟
00:02:35وكم منكم يستخدم وكلاء البرمجة،
00:02:37مثل Cursor وCloud Code؟
00:02:39حسناً.
00:02:40اختبار شعبية، من يستخدم Cloud Code؟
00:02:43Codex CLI؟
00:02:45Cursor؟
00:02:48أوبن--
00:02:48[غير مسموع]
00:02:49نعم.
00:02:50Open Code؟
00:02:50Anti-gravity.
00:02:51أوه، هذا ليس عدداً كبيراً.
00:02:52هل يستخدم أي شخص هذا؟
00:02:55أنا معجب بك.
00:02:56سنتناول مشروباً معاً لاحقاً.
00:02:58على أي حال، كان هذا أساساً ما حدث في عام 2025
00:03:03وما قبله.
00:03:04بدأ الأمر بالنسخ واللصق من ChatGPT.
00:03:06كان جله معطلاً في الغالب.
00:03:07كان معظمه عبارة عن دوال برمجية منفردة، أشياء لا ترغب في كتابتها.
00:03:10ثم حصلت على GitHub Copilot داخل
00:03:13Visual Studio Code، حيث تكتفي بالضغط باستمرار للوصول للحل،
00:03:15وهو ما نجح أحياناً، وفشل في أغلب الأوقات.
00:03:17أحياناً كان أيضاً يكتفي باسترجاع كود GPL،
00:03:22مثل خوارزمية الجذر التربيعي العكسي لجون كارماك
00:03:25وأشياء من هذا القبيل، وهو ما كان ممتعاً جداً.
00:03:29ثم كان هناك Adir.
00:03:30هل يتذكر أحد Adir؟
00:03:31نعم.
00:03:32يا كبار السن.
00:03:33مرحباً بكم.
00:03:33نعم.
00:03:37لديك شعر رمادي.
00:03:37أنت تعرف Adir بالتأكيد.
00:03:41كان هناك أيضاً AutoGPT.
00:03:43ربما ليس لعدد كبير.
00:03:44نعم، حسناً.
00:03:45إنه يعرف كل هذه الأشياء.
00:03:48وفي النهاية ظهر Cloud Code.
00:03:51أعتقد أنهم أطلقوه في نوفمبر،
00:03:52في الواقع، كنسخة تجريبية في عام 2024.
00:03:55لكنه بدأ في الانتشار فعلياً، متى قلت؟
00:03:59فبراير فقط.
00:04:01نعم، فبراير أو مارس، في حدود ذلك الوقت من عام 2025.
00:04:03وكنت أقول: أنا أحبه.
00:04:05إنه رائع.
00:04:06فريق Cloud رائع أيضاً.
00:04:07إنهم متواجدون على وسائل التواصل.
00:04:08وجميعهم أشخاص طيبون وموهوبون جداً.
00:04:13وهم أساساً من ابتكر هذا النوع من الأدوات بالكامل.
00:04:15أعلم أنه كانت هناك بوادر مثل Adir وAutoGPT،
00:04:18لكن لم يسبق لشيء أن فعل هذا.
00:04:20وكان هذا أساساً هو مفهوم البحث القائم على الوكلاء.
00:04:22فبدلاً من قيام Cursor بالدخول إلى قاعدة الكود الخاصة بك،
00:04:25وفهرسة الأشياء، وبناء أشجار بنية مجردة (ASTs)، وفهرستها أيضاً.
00:04:29وهو أمر لم يكن يعمل حقاً.
00:04:31لقد قالوا ببساطة: لا بأس.
00:04:33لقد قمنا بتدريب نماذجنا عبر التعلم المعزز
00:04:35على استخدام أدوات الملفات وأدوات bash،
00:04:37لاستكشاف قاعدة الكود الخاصة بك بشكل فوري وإيجاد الأماكن التي
00:04:41تحتاج إليها لفهم الكود ومن ثم تعديله.
00:04:44وقد نجح هذا بشكل جيد لدرجة أننا، نعم،
00:04:46توقفنا عن النوم لأننا فجأة
00:04:48أصبح بإمكاننا إنتاج كود أكثر بكثير مما كنا ننتجه يدوياً.
00:04:52في ذلك الوقت، كان الأمر بسيطاً ومتوقعاً
00:04:54وكان يناسب سير عملي تماماً.
00:04:57جميل.
00:04:58لكنهم وقعوا بعد ذلك في الفخ الذي يقع فيه معظمنا
00:05:05على الأرجح.
00:05:06بإمكان هذه الآلات كتابة الكثير من الأكواد.
00:05:08لماذا لا نجعلها تكتب كل الميزات التي قد نتخيلها، أليس كذلك؟
00:05:11أليس هذا رائعاً؟
00:05:11لنضف هذه الميزة، وتلك الميزة،
00:05:12وهذه الميزة، وتلك الميزة.
00:05:14وفي النهاية، ينتهي بك الأمر مع شيء مثل سيارة هومر سيمبسون--
00:05:15لا أعرف حتى ماذا يطلقون عليها.
00:05:18أنا أسميها سفينة فضاء.
00:05:20وأصبح Cloud Code الآن بمثابة سفينة فضاء.
00:05:21فهو يفعل الكثير من الأشياء التي ربما تستخدم منها
00:05:23فقط 5% مما يقدمه.
00:05:26أنت تعرف فقط حوالي 10% منها في المجمل.
00:05:28أما الباقي، الـ 90% المتبقية،
00:05:30فهي تشبه المادة المظلمة في عالم الذكاء الاصطناعي والوكلاء.
00:05:33لا أحد يعرف ما الذي تفعله حقاً.
00:05:36وأنا شخصياً أجد أن هذا ليس مفيداً جداً
00:05:37لأنني ما زلت أعتقد أنك بحاجة
00:05:40لمعرفة ما يفعله الوكيل.
00:05:43هذا الشخص قد يختلف معي إلى حد ما.
00:05:45ونحن هنا في TESOL، وهم يحبون أيضاً
00:05:49إدارة السياق أو هندسة السياق،
00:05:51كما أطلقنا عليها.
00:05:54وفي النهاية وجدت أن Cloud Code لم يكن
00:05:55أداة جيدة عندما يتعلق الأمر بقابلية الملاحظة
00:05:58وإدارة سياقك فعلياً.
00:06:01ثم كان هناك هذا أيضاً.
00:06:04من يحب هذا في Cloud Code، مثل الكميات الهائلة
00:06:06من الوميض غير المبرر؟
00:06:09حسناً، في الواقع، أنا أعرف كيف أشرحه ولماذا يحدث،
00:06:10لكنهم لم يصلحوه بعد.
00:06:13هذا طارق.
00:06:15إنه رائع حقاً.
00:06:16أنا أحبه.
00:06:16إنه مسؤول علاقات المطورين لديهم، غالباً على تويتر، وهو مذهل.
00:06:17لكنه أحياناً يقول أشياء مثيرة للجدل
00:06:21مثل: واجهة المستخدم الطرفية الخاصة بنا أصبحت الآن محرك ألعاب.
00:06:24الآن، يجب أن تعرفوا أن لدي خلفية في تطوير الألعاب.
00:06:27هذا هو المجال الذي أتيت منه.
00:06:30وعندما أقرأ شيئاً كهذا،
00:06:31فإنه يؤلمني قليلاً
00:06:32لأنها مجرد واجهة مستخدم طرفية عادية يا رجل.
00:06:34ليست محرك ألعاب.
00:06:37صدقني.
00:06:38السبب الوحيد الذي يجعلك تعتقد أنها محرك ألعاب
00:06:39هو أنك تستخدم React في واجهتك الطرفية،
00:06:41ويستغرق الأمر حوالي 12 ميلي ثانية
00:06:44لإعادة رسم مخطط واجهة المستخدم بالكامل.
00:06:45فقط لا تفعل ذلك يا رجل.
00:06:49إنه ليس محرك ألعاب، أليس كذلك؟
00:06:51وبعد ذلك ميتشل، الذي يكتب Ghosty،
00:06:54قال: يا رجل، هذا مهين.
00:06:56لا تلم Ghosty أو أي محطة طرفية أخرى.
00:06:59كودك هو القمامة.
00:07:02المحطات الطرفية يمكنها العرض بمئات
00:07:04الإطارات في الثانية، وبأقل من ميلي ثانية للإطار الواحد.
00:07:05لذا لا تفعل ذلك، حسناً؟
00:07:09وفي النهاية قاموا بإصلاح الوميض.
00:07:12لكن بعد ذلك حدثت أشياء أخرى.
00:07:15كأنهم استسلموا تماماً لفكرة البرمجة بالحدس.
00:07:16ويمكنك الشعور بذلك كل يوم عند استخدام Cloud Code.
00:07:20الآن، مرة أخرى، لا أريد التقليل من جهودهم
00:07:23ونتائجهم.
00:07:27فما زال Cloud Code هو الرائد في فئته لسبب وجيه.
00:07:28هم من اخترعوا هذا الشيء، ويقومون بعمل رائع.
00:07:30أنا شخصياً مجرد شخص مسن
00:07:32يحب الأدوات البسيطة التي يمكن توقع نتائجها.
00:07:34وهذا ببساطة لم يعد يناسب سير عملي واحتياجاتي.
00:07:37لذا، نعم.
00:07:41أيضاً، هم يقومون بالكثير من الأشياء في الخلفية،
00:07:42ويتلاعبون بسياقك.
00:07:44لقد بنيت مجموعة من الأدوات في صيف 2025
00:07:46تسمح لي باعتراض الطلبات التي يتم إرسالها
00:07:50إلى خادمهم من Cloud Code واكتشاف
00:07:52أي نوع من النصوص الإضافية الصغيرة
00:07:55التي يتم حقنها في سياقك من وراء ظهرك.
00:07:58وكل ذلك كان ضاراً جداً
00:08:00وكان يتغير طوال الوقت أيضاً.
00:08:01فكأنما كل يوم أو يومين، يكون
00:08:04هناك إصدار جديد يغير ما يتم حقنه ومتى،
00:08:06سيكون هناك إصدار جديد يغير ما
00:08:08يتم حقنه وفي أي نقطة، مما قد يفسد
00:08:11سير عملك الحالي.
00:08:13لم تكن أداة مستقرة ببساطة.
00:08:14والآن أفهم الأمر من منظورهم.
00:08:16إنهم بحاجة إلى التجربة.
00:08:17ولديهم قاعدة مستخدمين ضخمة.
00:08:18ومن الصعب جداً التجربة
00:08:19عندما يكون لديك قاعدة مستخدمين ضخمة.
00:08:21لكنهم لم يكترثوا.
00:08:23لذا كان علينا جميعاً أن نعاني.
00:08:25أنت تعمل مع هذه الأداة الجديدة.
00:08:27وتحاول إنشاء سير عمل يمكن التنبؤ به.
00:08:31ثم يغير بائع الأداة شيئاً صغيراً جداً
00:08:35في الخفاء يجعل نموذج اللغة الكبير
00:08:36يجن جنونه مع سير عملك الحالي.
00:08:38هذا ليس مستداماً ببساطة.
00:08:39أحتاج إلى السيطرة على ذلك.
00:08:40لا يمكنني الاعتماد عليهم لتوفير شيء مستقر.
00:08:46لذا أعتقد، كنتيجة لتصميم واجهة المستخدم،
00:08:52يحتاجون إلى تقليل مقدار الرؤية المتاحة لك.
00:08:54شخصياً لا أحب ذلك كثيراً.
00:08:56لكن هذا مجرد تفضيل شخصي.
00:08:57أفهم أن معظم الناس سيكونون
00:08:58سعداء بكمية المعلومات
00:09:00التي سيقدمها لك Cloud Code.
00:09:03لا يوجد خيار للطراز بالطبع،
00:09:06لأنها أداة أصلية من Anthropic، إذا جاز التعبير.
00:09:09هذا ليس الجانب السلبي، لأن نماذج Claude هي--
00:09:12أنا أحبها.
00:09:13إنها جيدة حقاً.
00:09:15وهناك تقريباً صفر من القلق حول الحساسية.
00:09:17وقد تجد هذا مضحكاً نوعاً ما، لأن لديهم
00:09:19نظام الخطافات (hook) هذا وكل ذلك.
00:09:21ولكن إذا قارنتها بما يسمح لك Pi بفعله،
00:09:25فهي ليست متكاملة بنفس العمق.
00:09:28كما أنها تعتمد بشكل أساسي على تشغيل عملية عندما
00:09:32يبدأ حدث الخطاف، وهو أمر مكلف للغاية إذا
00:09:36كان عليك بدء تلك العملية مراراً وتكراراً.
00:09:40لذا في النهاية، سئمت من Cloud Code،
00:09:42ليس لأنه كان سيئاً.
00:09:44بل لأنه لم يعد مناسباً لي.
00:09:47لقد أصبح مناسباً لمزيد من الأشخاص خلال تلك الفترة.
00:09:50لذا فمن الواضح أنهم يفعلون الأشياء بشكل صحيح، ولكن ليس من أجلي،
00:09:54لأنني أصبحت قديماً.
00:09:56لذا بدأت أبحث عن خيارات أخرى.
00:09:59وهناك Codex CLI، الذي لم يعجبني حقاً.
00:10:01في البداية، سواء واجهة المستخدم أو النموذج،
00:10:05لقد تغير ذلك، على الأقل فيما يتعلق بالنموذج.
00:10:08أصبح Codex جيداً جداً الآن.
00:10:10ثم هناك AMP.
00:10:12الفريق الذي يقف خلفه كان يعمل في Sourcegraph.
00:10:15لقد انفصلوا عن Sourcegraph.
00:10:20وهم مهندسون ممتازون حقاً.
00:10:21لقد نجحوا في بناء بيئة برمجة تجارية حيث
00:10:25يقومون بإزالة الميزات بدلاً من إضافتها.
00:10:28ومعظم خياراتهم تبدو منطقية جداً بالنسبة لي.
00:10:33لذا نعم، إذا كنت تبحث عن بيئة برمجة تجارية،
00:10:36فإنني أوصيك بالتأكيد بـ AMP، لأنه جيد حقاً.
00:10:39Factory Troye، قصة مماثلة نوعاً ما، وجيد أيضاً،
00:10:44رغم أنهم ليسوا تجريبيين مثل AMP.
00:10:47ثم هناك OpenCode، وهو بيئة البرمجة
00:10:50مفتوحة المصدر التي يستخدمها الكثير من الناس.
00:10:53لدي تاريخ مع البرمجيات مفتوحة المصدر.
00:10:55لقد كنت في هذا المجال لمدة، حسناً، 17 عاماً.
00:11:00لقد أدرت مشاريع مفتوحة المصدر كبيرة وصغيرة.
00:11:04لذا فهذا الأمر قريب وعزيز على قلبي.
00:11:05لذا فكرت، سأعطي OpenCode فرصة،
00:11:08لأنه قريب مني.
00:11:12وبجانب AMP، لديهم أحد أكثر الفرق واقعية
00:11:15أو عملية في هذا المجال.
00:11:16إنهم لا يغمرونك بالوعود حول ميزات
00:11:18ربما لن تستخدمها أبداً.
00:11:20إنهم يحاولون الحفاظ على مسار ناجح
00:11:23ومستقر للغاية.
00:11:26ولديهم أيضاً أفكار جيدة جداً
00:11:27حول ما تعنيه وكلاء البرمجة لنا
00:11:29كمهنة، وهو ما يمكنني شخصياً التماهي معه.
00:11:32المشكلة في OpenCode هي أنه ليس جيداً جداً أيضاً
00:11:37في إدارة السياق الخاص بك.
00:11:38على سبيل المثال، في كل دورة، يقوم باستدعاء sessionCompaction.prune،
00:11:44والذي يفعل ما يلي.
00:11:46يقوم بتقليص جميع النتائج قبل آخر 40,000 رمز توكين.
00:11:52الآن، من هنا يعرف ما هو التخزين المؤقت للمطالبات (prompt caching)؟
00:11:56ماذا يفعل هذا بمخزن المطالبات الخاص بك؟
00:11:58لذا كان لـ OpenCode و Anthropic تاريخ مثير للاهتمام.
00:12:05وفي النهاية، قالت Anthropic، في رأيي، وبحق،
00:12:11يا رفاق، هذا لن يحدث ببساطة.
00:12:14ولم يكن هناك أي شيء علني حول هذا الموضوع.
00:12:17لكن طارق يشرح الأمر هنا.
00:12:19إذا جئت إلى صالة رياضية ولم تحسن التصرف وأسأت
00:12:22استخدام البنية التحتية، إذا جاز التعبير، فسيتم حظرك.
00:12:25وأعتقد--
00:12:27ليس لدي أي دليل على ذلك،
00:12:28لكنني أعتقد أن هذا هو السبب وراء
00:12:30هذا العداء بين Anthropic و OpenCode.
00:12:33ويمكنني أن أتفق تماماً، أو على الأقل
00:12:36أعتقد أن Anthropic محقة تماماً هنا.
00:12:39لا تعبث بالبنية التحتية.
00:12:42ثم هناك أيضاً أشياء أخرى، مثل أن OpenCode
00:12:44يأتي مع دعم بروتوكول خادم اللغة (LSP)،
00:12:46بشكل افتراضي.
00:12:48بالعودة إلى هندسة السياق،
00:12:51لنفترض أنك أعطيت وكيلك مهمة
00:12:53تعديل مجموعة من الملفات.
00:12:55ماذا يعني ذلك في الممارسة العملية؟
00:12:57سيقوم بإجراء سلسلة من التعديلات، واحداً تلو الآخر،
00:13:02على مجموعة من الملفات.
00:13:03ما مدى احتمالية أن الكود سيتم تجميعه (compile)
00:13:09بعد التعديل الأول من أصل 10 تعديلات؟
00:13:12ماذا يحدث إذا قمت بتعديل الكود سطراً بسطر؟
00:13:15كم يستغرق من الوقت ليستقر مرة أخرى
00:13:17ويتم تجميعه بشكل نظيف؟
00:13:19لن يفعل. لن يستقر.
00:13:20لن يتم تجميعه بعد التعديل الأول، وربما لا
00:13:22بعد التعديل الثاني، وهكذا دواليك.
00:13:24لذا إذا التفتّ وقلت، مهلاً، عزيزي خادم LSP،
00:13:28لقد قمت للتو بتعديل سطر واحد في هذا الملف.
00:13:30هل هو معطل؟
00:13:31فسيقول خادم LSP، نعم، إنه معطل حقاً.
00:13:34وما تفعله هذه الميزة هو أنها تقوم بعد ذلك
00:13:36بحقن هذا الخطأ مباشرة بعد استدعاء الأداة
00:13:39كنوع من التغذية الراجعة للنموذج.
00:13:43أوه، ما فعلته للتو خاطئ.
00:13:45والنموذج يقول، تباً لك يا رجل،
00:13:47لم أنتهِ من تعديل الأشياء بعد.
00:13:49لماذا تخبرني بهذا؟
00:13:50من الواضح أنه ليس خطأ.
00:13:51ولكن إذا فعلت هذا مراراً كافياً، فسيستسلم النموذج.
00:13:54وهذا يؤدي إلى نتائج سيئة للغاية.
00:13:58لذا لست من محبي LSP.
00:13:59أعتقد أنها فكرة سيئة للغاية أن يتم تفعيل ذلك.
00:14:02هناك نقاط مزامنة طبيعية
00:14:03حيث تريد إجراء فحص الأخطاء (linting) والتحقق من النوع
00:14:06وكل ذلك.
00:14:07وذلك فقط عندما يعتقد الوكيل أنه انتهى، عندها فقط.
00:14:10لقد تغير هذا مؤخراً.
00:14:14هذه جلسة واحدة لـ OpenCode، حيث كل رسالة
00:14:20تصبح ملف JSON خاصاً بها.
00:14:22كل رسالة مفردة تصبح ملف JSON خاصاً بها على القرص.
00:14:26هذا يشير لي إلى أنه لم يكن هناك الكثير من التفكير
00:14:29في هندسة المعمارية للشيء بأكمله.
00:14:31وإذا فقدت الثقة في ذلك، فلن
00:14:33أرغب في استخدام تلك الأداة بعد الآن.
00:14:35مرة أخرى، أعتقد أن الفريق جيد حقاً.
00:14:37أعتقد أنهم تطوروا بسرعة فائقة
00:14:39وبنوا شيئاً مفيداً جداً للكثير من الناس،
00:14:42بكل وضوح.
00:14:43إنها فقط، مرة أخرى، قرارات لم أكن لأتخذها
00:14:46جعلتني أقرر بناء أداتي الخاصة.
00:14:50ثم كان هناك هذا أيضاً.
00:14:51يأتي OpenCode مع خادم بشكل افتراضي.
00:14:54لذا فإن الهندسة الأساسية تعتمد على خادم.
00:14:56والعملاء يتصلون به.
00:14:57وواجهة مستخدم الطرفية (terminal) هي أحد هؤلاء العملاء.
00:15:00هناك أيضاً واجهة سطح مكتب.
00:15:01ولا أعرف.
00:15:03تبين أن ذلك يمثل ثغرة أمنية
00:15:05مع إمكانية تنفيذ تعليمات برمجية عن بعد مدمجة افتراضياً.
00:15:09وهذا أيضاً-- إذا كنت فخوراً جداً ببنية
00:15:12خادمك التحتية أو هندسة خادمك،
00:15:15فسأفترض أنكم مهندسون ناضجون
00:15:18فكرتم في الأمان أيضاً.
00:15:20ومن الواضح أن هذا لم يحدث.
00:15:21وقد ظل هذا مفتوحاً لفترة طويلة.
00:15:23ومرة أخرى، أنا لا ألوم أحداً هنا.
00:15:25هذه أشياء تحدث فقط إذا كنت
00:15:27تعمل في صناعة تعمل بسرعة مذهلة
00:15:31لم نشهدها من قبل.
00:15:33فقط لا أريد استخدام تلك الأداة إذا كان الأمر كذلك.
00:15:36كانت هذه ملاحظاتي فيما يتعلق بمراجع
00:15:42البرمجة الحالية.
00:15:42AMP و Droid كانا شيئين يمكنني استخدامهما.
00:15:45ولكن مرة أخرى، لا توجد سيطرة.
00:15:47في حالة AMP، هم حتى من يقررون ما هي النماذج التي يمكنك استخدامها.
00:15:50وهو نموذج واحد فقط لنوع واحد من المهام.
00:15:53وهذا لا يناسبني.
00:15:55بالنسبة لـ Droid، أعتقد أنه أكثر انفتاحاً قليلاً.
00:15:58ولكن في الوقت الذي جربته فيه،
00:16:00لم يكن--
00:16:02لم أرَ ميزة كبيرة له على Cloud Code.
00:16:07وبعد ذلك بحثت في الاختبارات المعيارية لأسباب مختلفة تماماً
00:16:10ووجدت Terminal Bench.
00:16:12من يعرف ما هو Terminal Bench؟
00:16:15حسناً، في الأساس، هو عبارة عن بيئة تقييم
00:16:20للبرمجة أو الوكلاء، والتي تحتوي على مجموعة من المهام المتعلقة باستخدام الكمبيوتر والبرمجة--
00:16:24عذراً، أنا عجوز ومتعب بسبب ابني ذو الـ 4 سنوات.
00:16:24إنه يحتوي على مجموعة من المهام المتعلقة باستخدام الكمبيوتر والبرمجة
00:16:31التي يتعين على الوكيل أو نموذج اللغة داخل بيئة الوكيل
00:16:35تنفيذها.
00:16:39أعتقد أنها حوالي 82 مهمة أو نحو ذلك.
00:16:40وهي متنوعة جداً.
00:16:43فهي تبدأ من إصلاح إعدادات النافذة لديّ إلى برمجة
00:16:44محاكاة مونتي كارلو أو شيء من هذا القبيل.
00:16:48ولديهم لوحة صدارة.
00:16:51وعلى لوحة الصدارة تلك، ترى مزيجاً
00:16:52من بيئة وكيل البرمجة والنموذج.
00:16:54ولديهم وكيل برمجة خاص بهم يسمى Terminus.
00:16:57وأعتقد أنه رائع لأنه
00:17:03واحد من أفضل البيئات أداءً في الاختبار المعياري.
00:17:06أحد أفضل بيئات التشغيل أداءً في هذا الاختبار.
00:17:09سوف نرى ذلك لاحقاً.
00:17:11ماذا يفعل بالضبط؟
00:17:12حسناً، كل ما يحصل عليه النموذج هو جلسة TMUX.
00:17:17وكل ما يمكنه فعله هو إرسال ضربات مفاتيح إليها
00:17:19وقراءة تسلسلات أكواد VT التي يتم إصدارها.
00:17:23لذا، هذه هي أصغر وأبسط واجهة
00:17:27يمكن للنموذج الحصول عليها للتعامل مع حاسوبك.
00:17:31وهذا يحقق أداءً يتصدر قائمة المتصدرين بأكملها.
00:17:36إذن ماذا يخبرنا هذا عن بيئات وكلاء البرمجة الحالية؟
00:17:39هل نحتاج فعلاً لكل هذه الميزات للنماذج
00:17:41كي تؤدي عملها حقاً؟
00:17:43بالنسبة لي شخصياً، الأمر لا يتعلق فقط بكون النموذج
00:17:48جيداً بالفعل.
00:17:49بل يتعلق أيضاً بي كمستخدم، كإنسان،
00:17:51بامتلاك وسيلة للتفاعل مع وكيلي ومع النموذج.
00:17:54ومن الواضح أن Terminus ليس هو تجربة المستخدم أو المطور
00:17:58التي أريدها.
00:18:00لكنه يخبرنا أن كل هذه الميزات، التي تمتلكها كل بيئات
00:18:03البرمجة هذه، قد لا تكون ضرورية للحصول
00:18:08على نتائج جيدة من الوكلاء.
00:18:10أي لا أدوات ملفات، ولا وكلاء فرعيين، ولا بحث ويب، لا شيء.
00:18:13ثمة فرضيتان بناءً على كل هذه النتائج.
00:18:16نحن في مرحلة التجربة والاستكشاف العشوائي.
00:18:18ولا أحد لديه أي فكرة عما يجب أن يبدو عليه وكيل البرمجة المثالي
00:18:21أو كيف يجب أن تبدو بيئة البرمجة المثالية.
00:18:23نحن نجرب كلاً من البساطة المفرطة والتوجه الكامل نحو أساطيل
00:18:27وفرق من الوكلاء، تارة بلا تحكم وتارة باستقلالية كاملة
00:18:30وما إلى ذلك.
00:18:31أعتقد أن هذا لم ينتهِ بعد.
00:18:33لم نجب بعد على سؤال كيف يجب أن يبدو هذا
00:18:35بشكل مثالي، وما الذي سيصبح المعيار السائد
00:18:37في هذه الصناعة.
00:18:38والأمر الثاني هو أننا بحاجة لطرق أفضل
00:18:40للتجربة والعبث مع وكلاء البرمجة.
00:18:42أي أننا بحاجة لأن يكونوا قادرين على تعديل أنفسهم
00:18:47وأن يصبحوا قابلين للتطويع.
00:18:48حتى نتمكن من تجربة الأفكار بسرعة
00:18:50ونرى ما إذا كان هذا شيئاً يمكننا جعله
00:18:53معياراً للصناعة، سير عمل جديداً ربما سنتبناه جميعاً.
00:18:58لذا كانت الفكرة الأساسية هي—
00:18:59وهي بسيطة جداً، وليست علماً معقداً—
00:19:01تجريد كل شيء وبناء نواة بسيطة قابلة للتوسعة.
00:19:05هناك بعض سبل الراحة.
00:19:06إنها ليست لوحة بيضاء تماماً.
00:19:09هذا هو مشروع Pi.
00:19:10والشعار العام هو: طوّع وكيل البرمجة الخاص بك
00:19:13ليناسب احتياجاتك بدلاً من العكس.
00:19:16إنه يأتي مع أربع حزم: حزمة ذكاء اصطناعي، وهي في الأساس
00:19:21مجرد تجريد بسيط لمقدمي خدمات متعددين، والذين
00:19:24يتحدثون جميعاً بروتوكولات نقل مختلفة.
00:19:27لذا من السهل جداً التحدث إلى جميع المزودين
00:19:29والتبديل بينهم في نفس السياق أو نفس الجلسة.
00:19:34نواة الوكيل، وهي مجرد حلقة وكيل عامة
00:19:36مع استدعاء الأدوات، والتحقق،
00:19:38وما إلى ذلك.
00:19:39والبث (streaming)، واجهة مستخدم طرفية (TUI)
00:19:42تتكون من حوالي 600 سطر برمجي وتعمل بشكل جيد حقاً،
00:19:47بشكل مفاجئ، لأنها لم تُكتب بواسطة آلة.
00:19:51ووكيل البرمجة نفسه، وهو عبارة عن حزمة تطوير برمجيات (SDK)
00:19:54يمكنك استخدامه في وضع التشغيل الخفي (headless)
00:19:57أو كوكيل برمجة بواجهة مستخدم طرفية كاملة.
00:20:02هذا هو موجّه النظام (system prompt) بالكامل.
00:20:05لا يوجد شيء أكثر من ذلك مقارنة بموجهات
00:20:08النظام الأخرى لوكلاء البرمجة.
00:20:10هذا مقدّر بالرموز (tokens).
00:20:13اتضح أن النماذج الرائدة مدربة بكثافة عبر التعلم المعزز لتعرف
00:20:16ما هو وكيل البرمجة.
00:20:18فلماذا تستمر في إخبارهم بأنهم وكلاء برمجة
00:20:21وكيف يجب عليهم أداء مهام البرمجة، أليس كذلك؟
00:20:27وضع "YOLO" (افعل ما تريد) بشكل افتراضي، لماذا؟
00:20:30معظم بيئات وكلاء البرمجة حالياً لها وضعان.
00:20:33إما أن يفعل الوكيل ما يشاء
00:20:36أو يضطر الوكيل لسؤالك: هل تريد حقاً
00:20:40حذف هذا الملف؟
00:20:41هل تريد حقاً عرض الملفات في هذا المجلد،
00:20:44وهكذا دواليك.
00:20:44وهناك درجات متفاوتة من هذا الأمر.
00:20:47لكن في نهاية المطاف، يتلخص الأمر في أن المستخدم
00:20:49يحتاج للموافقة على إجراء يقوم به الوكيل.
00:20:52وعندها نكون في أمان.
00:20:53وأعتقد أن هذا خطأ لأنه يؤدي إلى الإرهاق.
00:20:55وسيقوم الناس إما بإيقاف التشغيل تماماً، وضع YOLO،
00:20:58أو سيجلسون هناك ويضغطون "إدخال" دون قراءة أي شيء.
00:21:01لذا لا أعتقد أن هذا هو الحل.
00:21:02كما أن الحاويات (Containerization) ليست حلاً
00:21:04إذا كنت قلقاً بشأن تسريب البيانات
00:21:06وحقن الأوامر (prompt injections).
00:21:07لكنني أعتقد أن هذا هو الشيء الوحيد الذي—
00:21:10أعتقد أنه أفضل أساس مقارنة بالحواجز الوقائية
00:21:14مثل الموافقة أو حوارات التأكيد.
00:21:17إنه يمتلك أربع أدوات فقط: قراءة ملف، كتابة ملف،
00:21:19تعديل ملف، و Bash.
00:21:21Bash هو كل ما تحتاجه.
00:21:22ما الذي ليس موجوداً هناك؟
00:21:23لا يوجد بروتوكول MCP، ولا وكلاء فرعيون، ولا خطة، ولا خلفية،
00:21:25فقط Bash، ولا مهام "To-do" مدمجة.
00:21:26إليك ما يمكنك فعله بدلاً من ذلك.
00:21:28بدلاً من MCP، استخدم أدوات CLI بالإضافة للمهارات،
00:21:30أو قم ببناء إضافة، وسنرى ذلك بعد قليل.
00:21:34لماذا لا يوجد وكلاء فرعيون؟
00:21:35لأنهم غير قابلين للمراقبة.
00:21:36بدلاً من ذلك، استخدم tmux وقم بتشغيل الوكيل مرة أخرى.
00:21:41سيكون لديك تحكم كامل في مخرجات ومدخلات الوكيل
00:21:44ويمكنك رؤية كل ما يحدث في الوكيل الفرعي.
00:21:48من المثير للاهتمام أن Code Spawn—
00:21:50وضع الفريق فيه الآن يفعل هذا بالضبط أيضاً، في الأساس.
00:21:55لا يوجد وضع خطة، اكتب ملف plan.md.
00:21:57سيكون لديك أثر باقٍ بدلاً
00:21:59من واجهة مستخدم رديئة لا تناسب
00:22:02مساحة عرض الطرفية (terminal) الخاصة بك.
00:22:04ويمكنك إعادة استخدامه عبر جلسات متعددة.
00:22:07لا حاجة لـ Bash في الخلفية، لدينا tmux.
00:22:09إنه نفس الشيء.
00:22:11ولا توجد مهام مدمجة، اكتب ملف todo.md.
00:22:13نفس الشيء.
00:22:14أو قم ببناء كل هذا بنفسك بالطريقة التي تحبها.
00:22:17وهذا ما يسمح به Pi، كونه قابلاً للتوسع للغاية.
00:22:21لذا يمكنك توسيع الأدوات بشكل مخصص.
00:22:22يمكنك إعطاء النموذج أدوات تقوم بتعريفها.
00:22:26أعتقد أنه لا توجد بيئة وكلاء برمجة أخرى
00:22:28توفر ذلك حالياً، ما لم تقم بنسخ كود مفتوح المصدر.
00:22:31لست بحاجة لفعل ذلك هنا.
00:22:32أنت فقط تكتب ملف TypeScript بسيطاً،
00:22:34ويتم تحميله تلقائياً.
00:22:37يمكنك أيضاً كتابة واجهة مستخدم مخصصة.
00:22:39المهارات موجودة بوضوح في قوالب التوجيه، والسمات (themes).
00:22:43ويمكنك حزم كل ذلك، ووضعه على NPM أو Git،
00:22:46وتثبيته بأمر واحد، وهو أمر رائع جداً.
00:22:49وكل شيء يتم تحديثه فورياً (hot reloads).
00:22:51لذا قمت بتطوير إضافاتي الخاصة
00:22:53المخصصة لمشروع أو مهمة معينة في Pi داخل المشروع.
00:22:59وبينما يقوم الوكيل بتعديل الإضافة، أقوم فقط بإعادة التحميل.
00:23:05ويقوم فوراً بتحديث كل الكود الذي يتم تشغيله،
00:23:10وهو أمر لطيف للغاية.
00:23:11وفي الممارسة العملية، هذا يعني أنه يمكنك عمل ضغط (compaction) مخصص.
00:23:14أعتقد أن هذا أحد الأشياء التي يجب على الناس التجربة
00:23:16فيها أكثر، لأن كل تطبيقات الضغط
00:23:19الحالية ليست جيدة.
00:23:21بوابات الأذونات، يمكنك تنفيذها بسهولة
00:23:23في 50 سطر برمجي، وتغطي تقريباً
00:23:24ما تفعله كل بيئات الوكلاء الأخرى إذا كنت تريد ذلك.
00:23:27مزودون مخصصون، تسجيل وكلاء (proxies) لنماذج مستضافة ذاتياً.
00:23:31لا يهمني.
00:23:32لا تحتاج مني أن أفعل هذا لك.
00:23:33يمكنك القيام بذلك، وبالفعل، يمكن لبرنامجك القيام به نيابة عنك.
00:23:37أو استبدال أي أداة مدمجة.
00:23:38تعديل طريقة عمل القراءة، والكتابة، والتعديل، و Bash.
00:23:41لا يهمني.
00:23:42لدي نسخة من القراءة والكتابة والتعديل و Bash
00:23:43تعلم عبر SSH على جهاز بعيد.
00:23:47استغرق الأمر مني خمس دقائق لتنفيذها، لكنها تعمل.
00:23:51ولديك وصول كامل لـ TUI، لذا يمكنك فعلياً
00:23:54كتابة واجهة مستخدم مخصصة بالكامل في وكيل البرمجة.
00:23:58بالمناسبة، استغرق الأمر من شخص ما خمس دقائق
00:24:02ليحاكي ذلك في Pi بميزات أكثر.
00:24:05PyMessenger، ليس لدي أدنى فكرة عما يفعله،
00:24:07لكن يبدو أنه مثل غرفة دردشة لعدة وكلاء Pi
00:24:10يتواصلون فيما بينهم، ومن ثم لديه واجهة مستخدم مخصصة.
00:24:13يمكننا رؤية ما يفعلونه، ونعم، إنه يعمل فحسب.
00:24:18أو PyMess، إذا كنت تشعر بالملل، فقط العب لعبة
00:24:23بينما يعمل الوكيل، أليس كذلك؟
00:24:24يمكنك فعل ذلك.
00:24:25أو PyAnnotate، افتح الموقع الإلكتروني
00:24:28الذي تعمل عليه حالياً، وقم بوضع تعليقات توضيحية في الواجهة الأمامية،
00:24:31وأعطِ ملاحظات للوكيل مباشرة وبشكل متزامن.
00:24:35أعد إدخالها في السياق، واجعل الوكيل يعدل الشيء.
00:24:39أو شيء أستخدمه وهو File Switch It.
00:24:42لا أريد الانتقال إلى بيئة تطوير متكاملة (IDE) أو محرر.
00:24:43أريد فقط إلقاء نظرة سريعة على الملف الذي تم تعديله.
00:24:46إذن كل هذه إضافات.
00:24:48لا يوجد أي منها مدمج، وعادة ما يستغرق الأمر من الناس
00:24:50بضع دقائق إلى فترة ما بعد الظهيرة
00:24:52لبناء كل هذا بالطريقة التي يريدونها.
00:24:56PyWavic يقول أيضاً، لا أعرف ماذا يفعل.
00:25:00يأتي Pi أيضاً مع هيكلية شجرية.
00:25:01لن أشرح ذلك.
00:25:03فقط انظر إلى py.dev.
00:25:04جلستك هي شجرة، وليست قائمة خطية من الدردشات.
00:25:07لذا يمكنك في الأساس عمل بعض الوكلاء
00:25:09عبر قراءة كل الملفات في المجلد،
00:25:11تلخيص هذا، والعودة إلى جذر المحادثة،
00:25:14وأخذ الملخص معي، والقيام بالعمل الفعلي.
00:25:19لا يتم حقن أي شيء من وراء ظهرك.
00:25:22وكلاء، مهارات، وتتبع كامل للتكاليف.
00:25:24الكثير من بيئات التشغيل لا تفعل هذا هنا.
00:25:26الكود المفتوح لا يفعله بشكل جيد.
00:25:29تصدير HTML، تنسيق JSON، بث JSON خفي، وإلى ما هنالك.
00:25:33هل يعمل حقاً؟
00:25:34حسناً، اختبار Terminal Bench.
00:25:35دعوني أقوم بالتكبير هنا.
00:25:36لا أستطيع.
00:25:37هذا مذهل.
00:25:38هنا Pi مباشرة خلف Terminus 2 باستخدام Claude Opus 4.5.
00:25:45كان ذلك في أكتوبر عندما لم يكن Pi يمتلك حتى خاصية الضغط.
00:25:49وقت العرض التوضيحي، سأتخطى ذلك، ضد "الآلات"
00:25:51لأنهم يدمرون المصادر المفتوحة.
00:25:54إذا كنت مرتبطاً بمشروع هؤلاء الأشخاص،
00:25:56فسيأتي مئات الأشخاص من OpenClaw
00:26:02إلى مستودعك ويغرقونك بالترهات والقوانين الواهية.
00:26:06لذا اضطررت لابتكار بضعة تدابير.
00:26:09اخترعت ما أسميته "عطلة المصدر المفتوح" (OSS vacation).
00:26:11حيث قمت فقط بإغلاق المشكلات وطلبات الدمج (PRs) لبضعة أسابيع
00:26:14وعملت على الأشياء بمفردي.
00:26:16أي شيء مهم سيتم الإبلاغ عنه لاحقاً على أي حال
00:26:20أو في Discord.
00:26:21ثم قمت أيضاً بتنفيذ نظام وصول مخصص
00:26:26حيث لدي ملف markdown في المستودع.
00:26:28إذا قام شخص ما بفتح طلب دمج دون أن يكون اسم حسابه
00:26:32موجوداً في ملف markdown هذا، فسيتم إغلاق الطلب تلقائياً.
00:26:34لا أهتم.
00:26:35أولاً، عرّف عن نفسك بصوت بشري عبر طرح مشكلة (issue).
00:26:39اكتب مشكلة لا تكون أطول من طول العرض
00:26:42لأن أي شيء آخر هو على الأرجح من عمل الآلات.
00:26:45وبمجرد قيامك بذلك، سأكون سعيداً بالموافقة عليك.
00:26:47بذلك تدخل في ذلك الملف ويمكنك الآن تقديم طلبات دمج
00:26:50إلى المستودع.
00:26:51كل ما أطلبه هو تحقق بشري.
00:26:53وميتشل من Ghosty أخذ هذا وبنى
00:26:57مشروعاً يسمى Vouch، وهو أكثر قابلية للتطبيق بسهولة
00:27:00على مستودعات المصادر المفتوحة الخاصة بك.
00:27:02وهذا هو مشروع Pi.
00:27:03انطلقوا وجربوه.
00:27:05هذا كل ما لدي.
00:27:06[تصفيق]
00:27:07[موسيقى]

Key Takeaway

تثبت بيئة Pi أن تقليل تعقيد وكلاء البرمجة إلى نواة بسيطة قابلة للتطويع عبر Bash يحقق أداءً يتفوق على الأدوات التجارية المتضخمة بالميزات.

Highlights

تعتمد بيئة Pi البرمجية على 600 سطر برمجى فقط لواجهة المستخدم الطرفية (TUI) لضمان البساطة والسرعة.

حقق وكيل Terminus نتائج متصدرة في اختبار Terminal Bench باستخدام واجهة tmux بسيطة فقط دون ميزات معقدة.

يتضمن Pi أربع أدوات أساسية فقط وهي Bash وقراءة الملفات وكتابتها وتعديلها دون الحاجة لبروتوكول MCP.

يسمح نظام الإضافات في Pi بتعريف أدوات مخصصة باستخدام ملفات TypeScript يتم تحميلها وتحديثها فورياً.

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

يتطلب نظام Vouch للوصول للمستودعات تحققاً بشرياً عبر إغلاق طلبات الدمج تلقائياً لغير المسجلين في ملف markdown المخصص.

Timeline

تطور أدوات البرمجة بالذكاء الاصطناعي من النسخ إلى الوكلاء

  • بدأ الاعتماد على الذاء الاصطناعي في البرمجة بعمليات النسخ واللصق اليدوية من ChatGPT في عام 2023.
  • قدم GitHub Copilot تكاملاً داخلياً في محرر النصوص لكنه عانى من استرجاع أكواد مرخصة وفشل متكرر.

شهدت الفترة بين 2023 و2025 تحولاً من مجرد توليد دوال برمجية منفردة إلى ظهور وكلاء برمجية حقيقيين. أدى اجتماع مكثف لمدة 24 ساعة بين مطورين في أبريل 2025 إلى إدراك أن الوكلاء أصبحوا يعملون فعلياً. أطلقت شركة Anthropic أداة Cloud Code في أواخر 2024 وبدأت بالانتشار الواسع في أوائل 2025 كأول أداة بحث قائمة على الوكلاء بنجاح ملموس.

مشكلات الأدوات التجارية وفقدان السيطرة على السياق

  • تتحول الأدوات الناجحة مثل Cloud Code إلى برمجيات متضخمة بالميزات لا يستخدم المطور سوى 5% منها.
  • يؤدي حقن نصوص إضافية في السياق من قبل الشركات دون علم المستخدم إلى عدم استقرار سير العمل.

تعاني الأدوات التجارية من مشكلة "سفينة الفضاء" حيث تضاف ميزات غير ضرورية تجعل الأداة غير قابلة للتوقع. يقوم المطورون باعتراض الطلبات المرسلة للخوادم لاكتشاف تعديلات مخفية في سياق المطالبة (prompt context) تسبب أخطاء مفاجئة. تفتقر هذه الأدوات إلى الشفافية في إدارة السياق وقابلية الملاحظة الدقيقة لما يفعله الوكيل في الخلفية.

نقد الحلول المتاحة وعيوب إدارة الرموز التعبيرية والواجهة

  • تسبب ميزة تقليص الجلسات في OpenCode ضياع التخزين المؤقت للمطالبات (prompt caching) لدى Anthropic.
  • يؤدي حقن أخطاء LSP الفورية في السياق إلى تشتيت النموذج قبل إكماله للمهمة البرمجية.

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

بناء Pi كنواة بسيطة وقابلة للتطويع

  • تعتمد فلسفة Pi على تطويع الوكيل ليناسب احتياجات المستخدم وليس العكس.
  • يوفر Pi تتبعاً كاملاً للتكاليف ودعماً لمزودين متعددين في نفس الجلسة البرمجية.

أظهرت نتائج Terminal Bench أن واجهة tmux البسيطة تحقق أفضل أداء مما يعني أن الميزات المعقدة ليست ضرورية للنجاح. يتكون Pi من أربع حزم أساسية تشمل نواة الوكيل وواجهة TUI بسيطة وحزمة تطوير SDK. تم الاستغناء عن وضع "طلب الإذن" التقليدي لتجنب إرهاق المستخدم بضغطة زر إدخال متكررة دون وعي.

نظام الإضافات وحماية المصادر المفتوحة من الآلات

  • تسمح إضافة File Switch It بمعاينة الملفات المعدلة فورياً دون مغادرة الواجهة الطرفية.
  • يمنع نظام التحقق البشري إغراق مستودعات GitHub بطلبات دمج آلية ومنخفضة الجودة.

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

Community Posts

View all posts