Kozuchi Agent: A Language-Agnostic Open-Weight Agent for Software Repair
يُعد Kozuchi Agent نظامًا لإصلاح البرمجيات غير مرتبط بلغة برمجة معينة وذا أوزان مفتوحة، يستفيد من خط إنتاج يعمل بنظام التكامل المستمر (CI) وذات حالة مستمرة لتحقيق أداء رائد في اختبارات SWE-bench Verified وMulti-SWE-bench دون الحاجة إلى ضبط دقيق، مما يثبت أن قيوده المتبقية تنبع أساسًا من أخطاء الصحة الدلالية وأخطاء الاختيار وليس من التنسيق أو الوصول إلى النماذج المملوكة.
في عالم هندسة البرمجيات الواسع والمعقد، يمثل الكود البرمجي الأساس الذي تُبنى عليه الحياة الحديثة، ومع ذلك فهو عرضة للتعطل. فعندما يتعطل برنامج ما، فإنه يُصدر تقريراً يصف الخطأ، ويتعين على المطور البشري بعد ذلك تشخيص المشكلة، وتحديد موقع الخلل ضمن آلاف الأسطر من النصوص، وكتابة تصحيح يعالج المشكلة دون أن يتسبب في تعطل أي شيء آخر. هذه العملية بطيئة وصعبة ومكلفة. مؤخراً، ظهر جيل جديد من الذكاء الاصطناعي يمكنه قراءة هذه التقارير ومحاولة كتابة الإصلاحات بنفسه. هذه الأنظمة، التي تُسمى غالباً "الوكلاء" (agents)، تعمل مثل متدربين رقميين يمكنهم التنقل في نظام ملفات الكمبيوتر، وتشغيل الاختبارات، وتحرير الكود. ومع ذلك، كان تعليم هؤلاء الوكلاء العمل بموثوقية لفترات طويلة عقبة رئيسية؛ إذ غالباً ما يضيعون في التفاصيل، أو ينسون ما تعلموه في خطوات سابقة، أو يرتكبون أخطاءً عند محاولة استخدام الأدوات اللازمة لإصلاح الكود. لقد تمثل التحدي للباحثين في بناء نظام يحافظ على تركيز هؤلاء العمال الرقميين وتنظيمهم ومسؤوليتهم، مما يسمح لهم بحل المشكلات المعقدة دون إشراف بشري مستمر.
لقد عالج فريق من الباحثين في "فوجيتسو ريسيرش" (Fujitsu Research) هذا التحدي عبر إنشاء نظام يسمى "كوزوتشي إيجنت" (Kozuchi Agent). يركز عملهم على نوع محدد من الذكاء الاصطناعي لا يتطلب تدريباً خاصاً على بيانات جديدة، بل يعتمد بدلاً من ذلك على إطار عمل مصمم بعناية لتوجيه سلوكه. بنى الباحثون بيئة رقمية يعمل فيها الوكيل في مراحل متميزة ومحددة بوضوح. فبدلاً من ترك الوكيل يتجول بحرية عبر المشكلة، يجبره النظام على التحرك عبر تسلسل من الخطوات: أولاً إعادة إنتاج الخطأ للتأكد من وجوده، ثم تحديد المصدر الدقيق للمشكلة، وأخيراً كتابة الإصلاح واختباره. وفي كل مرحلة، يجب على الوكيل تقديم نتيجة محددة قبل الانتقال إلى المرحلة التالية، ويحتفظ النظام بسجل دائم لكل ما يقوم به الوكيل. هذا الهيكل يمنع الوكيل من الارتباك أو تكرار نفس الأخطاء، محولاً البحث الفوضوي إلى عملية منضبطة وقابلة للتدقيق.
اختبر الفريق هذا النظام على مجموعة كبيرة من مشكلات البرمجيات الواقعية، مستهدفاً على وجه التحديد مجموعة من خمسمائة مشكلة من لغة البرمجة "بايثون" (Python). استخدموا نموذج ذكاء اصطناعي قوي ومفتوح المصدر لم يتم تعديله أو إعادة تدريبه لهذه المهمة المحددة. ولضمان قوة النتائج، قاموا بتشغيل الوكيل ثماني مرات منفصلة على كل مشكلة، مما أنتج ثمانية حلول محتملة مختلفة. ثم قارن النظام بين هذه الحلول باستخدام طريقة اختيار ذكية؛ فبدلاً من الاعتماد على مفتاح إجابة مخفي لاختيار أفضل إصلاح، استخدم النظام الاختبارات التي تم إنشاؤها في كل مرة من المحاولات الثماني لتقييم بعضها البعض. إذا اجتاز الإصلاح الاختبارات التي أنشأتها محاولة أخرى، فإنه يعتبر مرشحاً قوياً. سمح هذا النهج للنظام بتحديد الحل الأكثر موثوقية دون الحاجة لمعرفة الإجابة الصحيحة مسبقاً.
كانت النتائج كبيرة؛ فقد نجح "كوزوتشي إيجنت" في حل ثلاثمائة وأربعة وسبعين من أصل خمسمائة مشكلة في بايثون، بنسبة نجاح تقارب 75%. وضع هذا الأداء النظام ضمن أفضل المؤدين في هذا المجال، حيث احتل المرتبة الثانية عشرة إجمالاً عند مقارنته بجميع المشاركات، ولكنه احتل المرتبة الأولى بين الأنظمة التي تستخدم نماذج مفتوحة ومتاحة للجمهور. كما اختبر الباحثون النظام نفسه على مجموعة مختلفة من المشكلات المكتوبة بلغة البرمجة "جافا" (Java). وبالرغم من الاختلافات بين اللغتين، أظهر النظام اتساقاً مماثلاً، حيث حل 41 مشكلة من أصل 128 مشكلة في جافا. أثبت هذا أن إطار العمل لم يكن مرتبطاً بلغة واحدة، بل يمكن تطبيقه على أنواع مختلفة من البرمجيات بشكل واسع.
كانت إحدى النتائج الرئيسية للدراسة هي أن حالات الفشل التي حدثت لم تكن بسبب كتابة الوكيل لكود فوضوي أو معطل؛ ففي الواقع، تم تطبيق جميع الرقع البرمجية (patches) التي أنتجها الوكيل بشكل نظيف على البرمجيات. تكمن المشكلة في منطق الإصلاح نفسه؛ إذ غالباً ما كتب الوكيل تصحيحاً يبدو صحيحاً ولكنه لم يحل المشكلة الأساسية فعلياً. هذا التمييز أمر بالغ الأهمية لأنه يشير إلى أن العائق الرئيسي أمام التحسن ليس تنسيق الكود أو القدرة على استخدام الأدوات، بل هو الفهم العميق لمعنى المشكلة. وجد الباحثون أيضاً أن النظام كان فعالاً للغاية في عملياته؛ فمن خلال أتمتة سير العمل والسماح بإعادة استخدام أجزاء مختلفة من العملية، قللوا من الجهد البشري المطلوب لتشغيل هذه الاختبارات من خمس خطوات يدوية منفصلة إلى إجراء مؤتمت واحد.
استبعدت الدراسة صراحةً فكرة أن نجاح النظام جاء ببساطة من التخمين أو من استخدام نموذج ضخم وحصري لا يمكن الوصول إليه إلا لعدد قليل من الشركات. استخدم الوكيل نموذجاً يحتوي على سبعة وعشرين مليار معلمة (parameter)، وهو نموذج كبير ولكنه أصغر بكثير من أقوى النماذج المتاحة اليوم، وقد حقق نتائجه دون أي ضبط دقيق (fine-tuning) خاص. كما أظهر الباحثون أن النظام لم يعتمد على الحظ؛ فقد كان الأداء متسقاً عبر عمليات مختلفة وأنواع مختلفة من مستودعات البرمجيات. وبينما لا يزال النظام غير مثالي ويعاني مع المشكلات الدلالية (semantic) الأكثر صعوبة، إلا أنه يمثل خطوة كبيرة للأمام في جعل الذكاء الاصطناعي شريكاً موثوقاً في هندسة البرمجيات. ومن خلال الجمع بين سير عمل مهيكل وعملية اختيار ذكية، أثبت "كوزوتشي إيجنت" أن التكنولوجيا المفتوحة والمتاحة يمكنها منافسة الأنظمة الأكثر تقدماً في حل تحديات البرمجة الواقعية.
ملخص تقني: وكيل كوزوتشي (Kozuchi Agent)
بيان المشكلة
تتطلب فرق هندسة البرمجيات الصناعية بشكل متزايد وكلاء نماذج لغوية كبيرة (LLM) قادرة على تحويل تقارير الأخطاء (bug reports) إلى تصحيحات صحيحة تجتاز الاختبارات. ومع ذلك، فإن تشغيل هذه الوكلاء بمقياس الاختبارات المرجعية (benchmark scale) يفرض تحديات كبيرة:
التنفيذ طويل الأمد (Long-Horizon Execution): تتطلب الإصلاحات في العالم الحقيقي عمليات متعددة الخطوات (إعادة الإنتاج، التحديد الموضعي، التعديل، التحقق) تستهلك سياقاً ووقتاً واسعين، مما يؤدي غالباً إلى تخطيط غير منظم وتدهور في جودة اتخاذ القرار.
انحراف قواعد أدوات النماذج (Tool-Grammar Drift): تستخدم عائلات النماذج اللغوية المختلفة اصطلاحات متباينة لاستدعاء الأدوات والإجراءات المهيكلة، مما يسبب عدم تطابق في الصيغ (syntax mism much) يؤدي إلى إبطال الإجراءات وإضاعة دورات الاستدلال.
تباين العناقيد المتعددة (Multi-Cluster Heterogeneity): تمتد بيئات البحث عبر عناقيد غير متجانسة (استدلال GPU، اختبار VM، تقييم Docker)، مما يتطلب نصوصاً تشغيلية (scripts) متميزة لكل خلفية (backend).
تكلفة التقييم: إن إعادة تشغيل خطوط أنابيب الاختبار المرجعية الكاملة (مثل SWE-bench Verified) باستخدام تقييم قائم على Docker مكلف حوسبياً، مما يجعل التجارب التكرارية والتشغيل المستمر في التكامل المستمر (CI) غير عملي.
المنهجية
يقدم المؤلفون وكيل كوزوتشي (Kozuchi Agent)، وهو وكيل إصلاح مفتوح الأوزان وغير مرتبط بلغة معينة، وخط أنابيب تقييم مدار عبر التكامل المستمر (CI) مصمم لمعالجة هذه المعوقات التشغيلية. بُني النظام على أساس mini-swe-agent ولكنه قدم بنية هيكلية صارمة.
المكونات الهيكلية الأساسية
التنسيق القائم على المراحل (Phase-Driven Orchestration): يعمل الوكيل ضمن رسم بياني موجه من ثماني مراحل ذات معنى دلالي (مثل إعادة الإنتاج، التحديد الموضعي، الإصلاح، التحقق). الانتقالات بين المراحل صريحة، مع تعريف حواف النجاح أو التراجع (fallback) في الإعدادات. هذا الهيكل يمنع المحادثات غير المنظمة ويضمن تسليم الحالة بشكل قابل للتدقيق.
الحالة المشتركة المستمرة (Persistent Shared State): بدلاً من الاعتماد فقط على تاريخ المحادثة، يحافظ النظام على ذاكرة مشتركة متينة (قائمة على نظام الملفات) تحتوي على النصوص البرمجية، والاختبارات المولدة، والتتبعات، ومذكرات التسليم. يتيح ذلك استئناف الحالة وتدقيقها عبر ضغط السياق.
صندوق أدوات الاختبار الحتمي (Deterministic Tool Sandbox): يتفاعل الوكيل مع مجموعة ثابتة من أدوات هندسة البرمجيات: line_trace (التتبع الديناميكي)، وcaller_trace (اكتشاف المستدعي)، وline_edit (التعديل المحروس). يتم حقن هذه الأدوات عبر بوابات مرحلية لتضييق نطاق الإجراءات.
واجهة إجراءات مستقلة عن النموذج (Model-Agnostic Action Interface): يفصل وقت التشغيل بين عقدة الإجراء المنطقية وصيغة النموذج المحددة. يقوم دور "المُنسق" (formatter) بتطبيع مخرجات النموذج اللغوي إلى أمر واحد قابل للتنفيذ، مما يسمح لنفس منطق الوكيل بالعمل عبر عائلات النماذج المختلفة دون الحاجة لتفرع الكود.
خط أنابيب مدار عبر التكامل المستمر (CI-Operated Pipeline): يتم تنسيق عملية التقييم عبر خط أنابيب CI (.gitlab-ci.yml) الذي ينسق الاستدلال، والتقييم، والتقارير عبر عناقيد غير متجانسة. يتميز بـ "وضع إعادة الاستخدام" الذي يختصر المراحل المكلفة (مثل إعادة استخدام المنتجات التي تم التحقق منها مسبقاً) لتقليل نقاط اتصال المشغل من خمس إلى واحدة لكل دورة.
اختيار الوقت الفعلي عبر الوكلاء (Cross-Agent Test-Time Selection)
الابتكار الرئيسي هو المُحدد عبر الوكلاء (Cross-Agent Selector). بدلاً من الاعتماد على مُتحقق متعلم أو اختبارات مرجعية مخفية أثناء الاختيار:
توليد المرشحين: يقوم النظام بتشغيل K=8 من عمليات استدلال مستقلة لنفس النموذج. تولد كل عملية تشغيل رقعة (patch) مرشحة ومجموعتها الخاصة من الاختبارات التي تكشف الأخطاء (FAIL_TO_PASS) والاختبارات التي تحافظ على عدم التراجع (PASS_TO_PASS).
التطبيق المتقاطع: يبني المُحدد مصفوفة K×K حيث تُطبق الاختبارات المولدة من العملية j على الرقعة المولدة من العملية i.
التسجيل (Scoring): يتم حساب درجة بناءً على معدلات نجاح هذه الاختبارات المطبقة متقاطعًا، موازنةً بوزن سابق ثابت (wB=0.3 لكشف الخطأ، wR=0.7 للحفاظ على عدم التراجع). يتم اختيار المرشح صاحب الدرجة الأعلى.
القيد: تستخدم هذه العملية فقط الأدلة المؤرشفة بواسطة عمليات تشغيل المرشحين، مما يضمن عدم تسرب نتائج الاختبارات المرجعية المخفية.
المساهمات الرئيسية
C1: هيكل قابل للتدقيق قائم على المراحل: هيكل وكيل مستقل عن النموذج يفكك حل المشكلات إلى ثماني مراحل مع انتقالات صريحة وصندوق أدوات اختبار حتمي، مما يجعل حلقات الإصلاح الطويلة قابلة للفحص والتكرار.
C2: خط أنابيب CI قابل لإعادة الاستخدام: خط أنابيب اختبار مرجعي متعدد العناقيد يقلل جهد المشغل ويمكّن من إعادة استخدام مراحل التقييم المكلفة، مع إمكانية إعادة توليد جميع القيم التجريبية من المنتجات العامة.
C3: مُحدد عبر الوكلاء: آلية اختيار في وقت الاستدلال تدمج عمليات استدلال متعددة باستخدام اختبارات مطبقة متقاطعًا، مما يفصل بين ندم المُحدد (selector regret) وصعوبة الحالة دون الحاجة للوصول إلى الاختبارات المخفية.
C4: نتائج تنافسية للأوزان المفتوحة: أدلة تجريبية تظهر أن نموذجاً بـ 27 مليار معلمة (parameter) مفتوح الأوزان، بدون ضبط دقيق (fine-tuning)، يحقق أداءً يضاهي أفضل الأنظمة المفتوحة في SWE-bench Verified و Multi-SWE-bench Java.
C5: نقل عبر اللغات: إثبات أن نفس الهيكل، والرسم البياني للمراحل، ومنطق المُحدد ينتقل بفعالية من Python إلى Java مع حد أدنى من الانحراف السلوكي لكل مرحلة.
النتائج
بايثون (SWE-bench Verified)
الأداء: باستخدام نموذج Qwen3.5-27B مستضاف محلياً، قام وكيل كوزوتشي بحل 374/500 حالة (74.80%) على المقيم السحابي الرسمي.
التصنيف: يحتل المرتبة 12 إجمالاً بين 135 مشاركة مسجلة والأول بين الأنظمة مفتوحة الأوزان.
الدلالة الإحصائية: تحت تصحيح Benjamini–Hochberg FDR، يتفوق بشكل كبير على 16 من 17 نظيراً مفتوح الأوزان منسقاً، بما في ذلك إعداد Qwen3-Coder بـ 480 مليار معلمة.
تحليل الفشل: من بين 126 حالة لم تُحل، كانت 91.3% عبارة عن "إصلاح خاطئ" (الرقع تم تطبيقها بنجاح لكنها فشلت في الاختبارات المخفية)، مما يشير إلى أن نمط الفشل الأساسي هو الصحة الدلالية (semantic correctness) وليس أخطاء التنسيق أو التطبيق.
رفع مستوى الاختيار: ساهم المُحدد عبر الوكلاء بـ +14 حالة محلولة فوق خط الأساس للمرشح الأول مرتباً حسب الحجم.
جافا (Multi-SWE-bench Java)
الأداء: حل نفس إعداد الوكيل (27B) عدد 41/128 حالة (32.03%).
التصنيف: يحتل المرتبة 4 إجمالاً بين 42 مشاركة والأول بين المشاركات الصارمة مفتوحة الأوزان.
النقل: ظل السلوك لكل مرحلة ضمن نطاق ±5 في المائة من تشغيل بايثون، وتفوق نفس نموذج 27B على أقوى نظير مفتوح الأوزان من نفس الفئة في جافا (Qwen2.5-72B) بـ 38 حالة.
الكفاءة التشغيلية
قلل خط أنابيب CI نقاط اتصال المشغل من 5 إلى 1 لكل دورة.
6 من أصل 9 مراحل في CI قابلة لإعادة الاستخدام عبر التكرارات.
494/495 من الرقع المنتجة تم تطبيقها بنجاح عبر الهيكل.
الأهمية والادعاءات
يضع البحث وكيل كوزوتشي ليس كطفرة في قدرة النموذج، بل كتقدم كبير في هندسة الهيكل (harness engineering) وقابلية التكرار التشغيلية.
الأثر الصناعي: المساهمة الأساسية هي استبدال سير عمل التقييم اليدوي والارتجالي بسير عمل تكامل مستمر (CI) قياسي، قابل للتدقيق، وقابل لإعادة الاستخدام. هذا يقلل من تكلفة التجريب ويسمح بمقارنة صارمة للنماذج مفتوحة الأوزان.
حدود الأدلة: يصرح المؤلفون صراحة بأن ادعاءاتهم المتعلقة بـ الهيكل (المراحل، الأدوات، CI) مدعومة بالتواقيع التشغيلية وتدقيق المنتجات، بينما يتم دعم المكاسب المحددة من عدد المرشحين والاختيار عبر تجارب استبعاد (ablations) مضبوطة. هم لا يدعون حل فجوة الصحة الدلالية بالكامل، مشيرين إلى أن الفشل المتبقي يعود أساساً إلى عدم قدرة النموذج على توليد رقع صحيحة دلالياً بدلاً من مشاكل التنسيق.
التواضع: يؤكد المؤلفون أن النظام هو أداة "تقييم ما قبل الإنتاج". هم لا يدعون النشر في بيئة الإنتاج، أو تحقيق مؤشرات أداء للمطورين النهائيين، أو النشر ضد مستودعات داخلية مملوكة. العمل يعزل قيمة الهيكل في تمكين النماذج مفتوحة الأوزان من منافسة الأنظمة المملوكة، بدلاً من الادعاء بأن النموذج نفسه قد تجاوز النماذج المغلقة الرائدة في جميع الجوانب.
باختالام، يثبت وكيل كوزوتشي أنه مع وجود هيكل قوي، قابل للتدقيق، وغير مرتبط بلغة معينة، يمكن لنموذج مفتوح الأوزان بـ 27 مليار معلمة أن يحقق أداءً رفيع المستوى في الإصلاح التلقائي للبرمجيات، بشرما يتم تصميم خط أنابيب التقييم لتعظيم تنوع المرشحين وصرامة الاختيار دون الاعتماد على تسرب الاختبارات المخفية.