لا تهدر الكثير من الرموز! مقارنة بين PI CODING AGENT و OPENCODE باستخدام نفس الـ LLM المحلي

LLuigi Tech
컴퓨터/소프트웨어게임/e스포츠AI/미래기술

Transcript

00:00:00مرحباً بالجميع، هذا عرض توضيحي بواسطة وكيل مقابل كود مفتوح وسنختبر هذين
00:00:09المسخرين في هذا المثال، هذه لعبة قمت ببرمجتها مباشرة في مقطع الفيديو
00:00:20السابق، هذا الفيديو، ونعم في هذا الفيديو أود اختبار كيفية إصلاح هذه اللعبة
00:00:29لأن هناك بعض الأخطاء، فعلى سبيل المثال وكما ترون، فازت علامة X بالـ
00:00:38مباراة ولكن الخلايا لم يتم تظليلها، لذا سنحاول القيام بنفس نوع الإصلاح
00:00:51باستخدام نموذج لغوي محلي وهو Qwen 2.5 3B، والذي يعد في رأيي أفضل نموذج
00:01:04يمكنك تشغيله على جهاز الكمبيوتر الخاص بك حالياً، لذا فلنجرب أولاً مع PI
00:01:16هذا هو PI وسأقوم بتشغيله داخل هذا المجلد حيث توجد المصادر في
00:01:30ملفات منفصلة، لدي index HTML و game.js و style.js وسنحاول
00:01:42استخدام نفس المطالبة داخل كلا النظامين وسنقارن النتائج وسأستخدم
00:01:55أيضاً مؤقتاً لنرى كم من الوقت سيستغرق إنجاز المهمة. هذه هي المطالبة.
00:02:11المطالبة هي: اجعل مكعبات الخلايا أكثر وضوحاً وأضف مساحة بينها
00:02:19لأنه كما ترون هنا المكعبات قريبة جداً من بعضها البعض، ثم لدينا
00:02:28المهمة الثانية وهي تحسين منطق الفوز، حيث يجب أن تتحول علامات
00:02:37الفوز إلى اللون الأخضر، وهذه مشكلة أخرى لأنك لا ترى أين
00:02:46فاز اللاعب بالعلامات، ونعم لقد بدأ في اتباع مطالبتي وهذا هو
00:02:59PI، بدأ في تحليل المجلد الحالي وهنا يمكنك رؤية
00:03:09السياق المستخدم ولكن ربما من المثير للاهتمام رؤية الوقت المستغرق لـ
00:03:20إصلاح اللعبة، ونعم إنه يعمل، وبعد ذلك سنقوم بنفس المهمة مع
00:03:30الكود المفتوح وسأقوم بإعادة تعيين المستودع لإجراء نفس النوع من الاختبار. لذا الآن
00:03:41سأوقف الفيديو لفترة وأراكم عندما ينتهي من إصلاح اللعبة.
00:04:00حسناً، تم. لا يزال يكتب تقرير التغييرات ومن ثم سنختبر
00:04:20النتائج. حسناً، تم. لنوقف عند 7 دقائق و 44 ثانية مع Qwen 3.6 لذا فلنجرب
00:04:38النتائج. هذا هو التقرير، وهذا هو ما حدث تقنياً في
00:04:47الكود وكما ترون فقد قرأ ملف game.js جزئياً عدة مرات في
00:04:58أجزاء متعددة وهذا أيضاً ملف فروقات (diff)، فكما ترون كان عليه تعديل الكثير
00:05:09في الملف وفي المجموع تم إرسال واستقبال 9.4 ألف رمز (token) مقابل 2.8 ألف رمز
00:05:23هذه هي نتائج استخدام السياق، فلنجرب النتيجة، نقوم بالتحديث وكما
00:05:35ترون الآن أصبحت مكعبات الخلايا متباعدة ومنفصلة عن بعضها بشكل أكبر
00:05:44فلنجرب اللعبة، سأبدأ بالخلية المركزية، حسناً.. وسأتركه
00:06:00يفوز، حسناً ممتاز. الآن فاز الكمبيوتر وكما ترون لدينا المكعبات أكثر
00:06:11تباعداً وأيضاً تم تظليل علامات الفوز، لذا فالأمر يعمل وكان هذا مع
00:06:20وكيل برمجة Pi، والآن سنقوم بنفس الاختبار مع الكود المفتوح ونفس
00:06:30النموذج ونفس الكود، سأقوم بإعادة تعيين الكود، حسناً التغييرات عادت الآن
00:06:50إلى النسخة التي تحتوي على الأخطاء بهذا الشكل، والآن سنجرب نفس المطالبة مع
00:07:00الكود المفتوح للخلايا ومنطق الفوز، وسأستخدم نفس النموذج مع
00:07:11Basico، و Basico هو وكيل مخصص قمت بإنشائه وبدأ العمل أيضاً
00:07:27وقمت بإنشاء وكيل Basico لأنه أبسط بكثير من وكيل البرمجة الافتراضي
00:07:36ووكيل Basico هو هذا
00:07:56إنه مجرد ملف ماركداون بسيط، أنت Basico وكيل بسيط، ونعم لم
00:08:07أحدد الكثير هنا، فقط استخدام جلب الويب مع أداة محرك البحث
00:08:15والتي لن نستخدمها في هذه الحالة، لذا فهو وكيل بسيط جداً فقط لـ
00:08:24إعادة تهيئة ظروف مماثلة للكود المفتوح ونحن نستخدم بالفعل
00:08:3412 ألفاً من السياق، لقد بدأ بملفات index و game.js ونعم هنا أيضاً سنحاول
00:08:47رؤية النتيجة النهائية بعد توقف الفيديو، لا يزال يعمل مع عدم وجود
00:08:58الكثير من الملاحظات هنا، وأردت أيضاً أن أقول إنني جربت نفس الاختبار
00:09:07أيضاً مع Gemma 26b أو 4b ولكنه لم يكن قادراً على استدعاء الأدوات في
00:09:20هذا النوع من المشاريع، فقد تمكن Gemma من إعادة إنشاء لعبة X-O ثلاثية الأبعاد ولكن
00:09:30بعد ذلك لم يتمكن من إجراء استدعاءات الأدوات لتعديل هذه الملفات، لذا قمت بهذا الاختبار فقط
00:09:38باستخدام Qwen 3.6 لأنني أعتقد أنه الأفضل للسيناريوهات المحلية مثل هذه
00:09:48نعم من المثير للاهتمام أنه يملأ المهام المطلوب تنفيذها (to-do)، هناك مهمتان واحدة هي
00:09:58جعل مكعبات الخلايا أكثر وضوحاً والأخرى هي إصلاح المنطق، لذا سيكون لديه
00:10:07بعض الجهد الإضافي مقارنة بوكيل Pi، ولكن نعم وكيل Pi كان قادراً على
00:10:17القيام بهذا النوع من المهام أيضاً دون مهام في المنتصف، ولكن ربما في الحالات
00:10:26الأكثر تعقيداً قد يكون من المفيد وجود قائمة مهام، ولكن نعم إنه نموذج LLM
00:10:35الذي يصنع الفارق الأكبر في رأيي وليس النظام المستخدم، ولكننا
00:10:44سنرى
00:10:56أنتم
00:11:27حسناً، انتهى تقريباً، تم إكمال كلتا المهمتين ولكنه لا يزال يتعين عليه القراءة
00:11:40ثم الكتابة في الملف
00:11:52حسناً، إنه يكتب التقرير، أتمنى أن ينتهي بعد ذلك، نحن عند 12
00:12:05دقيقة لذا فهو أكثر ولكن حسناً لقد انتهى، توقف وكما ترون
00:12:15السياق المستخدم حوالي 23 ألف رمز مع الكود المفتوح وربما يتم
00:12:26الإبلاغ عن الرموز المستخدمة بطريقة مختلفة ولكن يبدو أن PI استخدم نصف الرموز
00:12:36لإصلاح المشكلات، هذا هو التقرير التقني، لقد فتح ملف
00:12:46game.js عدة مرات لإجراء الإصلاحات، فلنجرب اللعبة لنرى إذا كانت الإصلاحات
00:12:57تعمل فعلاً، تحديث، ويبدو مشابهاً لنسخة PI، الخلية المركزية، حسناً
00:13:19فلنحاول الفوز باللعبة، حسناً لقد فزت وكما ترون حصلنا على نفس النتيجة
00:13:32التي حصلنا عليها مع PI ولكن مع المزيد من الرموز والمزيد من الوقت المستغرق
00:13:43في الحلول، في هذه الحالة، الكود المفتوح الذي يحتوي عادةً على العديد من الميزات
00:13:55مثل الضوابط والمزيد من التعديلات على المطالبات، أعطى نفس الحلول التي حصلنا عليها
00:14:06مع PI ولكن بوقت أقل ورموز أقل، في الختام وفي رأيي وكما
00:14:18قلت سابقاً، فإن نموذج LLM المستخدم هو الجزء الأكثر صلة وأهمية
00:14:28النظم البرمجية مفيدة ومهمة ولكن الأهم هو جودة البيانات
00:14:36التي تضعها في السياق وفي هذا الموقف مع وكيل برمجة PI
00:14:47لدينا جهد إضافي أقل وحصلنا على نتيجة جيدة أيضاً بدون مطالبة كبيرة جداً في
00:14:58نموذج LLM، أخبروني في التعليقات أيهما تفضلون من وكلاء البرمجة
00:15:06مفتوحة المصدر ونراكم في فيديو آخر، وداعاً

Key Takeaway

يوفر وكيل البرمجة Pi كفاءة أعلى بمرتين في استهلاك الرموز وسرعة تنفيذ المهام مقارنة بنظام OpenCode عند استخدام نموذج Qwen 2.5 3B محلياً لإصلاح الأخطاء البرمجية.

Highlights

  • نموذج Qwen 2.5 3B يتفوق كأفضل خيار لتشغيل المهام البرمجية محلياً على أجهزة الكمبيوتر الشخصية حالياً.

  • استغرق وكيل البرمجة Pi زمن قدره 7 دقائق و 44 ثانية لإصلاح أخطاء اللعبة وتحسين واجهتها.

  • استهلك وكيل Pi كمية رموز (tokens) بلغت 9.4 ألف رمز، وهو ما يمثل حوالي نصف ما استهلكه نظام OpenCode.

  • أنجز نظام OpenCode نفس المهام البرمجية خلال 12 دقيقة مع استهلاك سياق مرتفع يصل إلى 23 ألف رمز.

  • فشلت نماذج Gemma 2 4b و 26b في استدعاء الأدوات اللازمة لتعديل ملفات المشروع البرمجي رغم قدرتها على توليد الكود.

Timeline

إعداد بيئة الاختبار البرمجية والنماذج المحلية

  • يستخدم الاختبار نموذج Qwen 2.5 3B كأقوى نموذج محلي لمعالجة الأكواد البرمجية.
  • تتكون اللعبة المراد إصلاحها من ملفات index HTML و game.js و style.js المنفصلة.
  • يعاني الكود الأصلي من مشكلات في تباعد الخلايا وعدم تظليل منطق الفوز.

تعتمد تجربة المقارنة على معالجة أخطاء تقنية حقيقية في لعبة تم بناؤها مسبقاً. تم اختيار نموذج Qwen 2.5 3B تحديداً نظراً لتفوقه في التعامل مع السياق البرمجي محلياً مقارنة بنماذج أخرى. يتم تشغيل الاختبار في مجلد يحتوي على البنية الأساسية للمشروع لضمان قدرة الوكلاء على الوصول لكافة الملفات وتعديلها.

أداء وكيل البرمجة Pi في تنفيذ المهام

  • أنجز وكيل Pi مهمة تحسين تباعد الخلايا وتغيير لون علامات الفوز إلى الأخضر بدقة.
  • استغرق النظام 7 دقائق و 44 ثانية لإتمام العملية بالكامل مع كتابة تقرير التغييرات.
  • اعتمد الحل على قراءة ملف game.js جزئياً وتوليد ملف فروقات (diff) لتقليل استهلاك البيانات.

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

مقارنة نظام OpenCode واستخدام وكلاء Basico

  • يتطلب نظام OpenCode وقتاً أطول يصل إلى 12 دقيقة لنفس المهمة البرمجية.
  • يستهلك OpenCode سياقاً ضخماً يتجاوز 23 ألف رمز، وهو ما يعادل ضعف استهلاك نظام Pi.
  • تفتقر نماذج مثل Gemma للقدرة على استدعاء الأدوات اللازمة لتعديل الملفات في المشاريع الحقيقية.

تم اختبار OpenCode باستخدام وكيل مخصص يسمى Basico، وهو ملف ماركداون بسيط لتبسيط التفاعل. تضمن عمل النظام خطوات إضافية مثل إنشاء قائمة مهام (to-do list) قبل البدء في التعديل الفعلي. رغم أن القائمة قد تفيد في المشاريع المعقدة، إلا أنها زادت من الجهد المستهلك والوقت في هذه الحالة البسيطة.

النتائج النهائية وتقييم كفاءة الأنظمة

  • حققت كلتا الأداتين نفس النتيجة الوظيفية النهائية بنجاح.
  • تحدد جودة بيانات السياق ونوع نموذج LLM الكفاءة النهائية أكثر من واجهة النظام نفسه.
  • يتفوق وكيل Pi في تقليل الجهد الإضافي (overhead) وتوفير الموارد البرمجية.

أثبتت التجربة أن نموذج LLM هو المحرك الأساسي للجودة، حيث قدم Qwen 2.5 3B أداءً مستقراً في كلتا الحالتين. يظهر الفرق الجوهري في الطريقة التي تدير بها الأنظمة استهلاك الرموز، حيث وفر نظام Pi وقتاً ورموزاً كبيرة. ينتهي التحليل بالتوصية باستخدام أنظمة تقلل من الحشو وتزيد من سرعة الاستجابة في البيئات المحلية.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video