كل عطل في الأدوات مزروع عمدًا، وكل فحص هو اختبار حتمي للإجابة
أو لاستدعاءات الأدوات التي جرت. يُقيَّم
coding-agent بتشغيل اختبارات مخفية، ويفشل
الـ run إذا عدّل اختبارًا أو ملفًا لا تحتاجه المهمة. اعتبر هذه النتائج
مؤشرًا، لأن الـ agents الخاصة بك قد تتصرف بشكل مختلف.
يعدّل coding-agent نسخة من مشروعه في الذاكرة. تعمل اختباراته، بما فيها أي كود
كتبه النموذج، في مجلد مؤقت ببيئة فارغة، تحت
نموذج الصلاحيات في Node. يحجب ذلك الملفات خارج المجلد والعمليات
الفرعية (child processes). أما الوصول إلى الشبكة فلا يُحجَب إلا على Node 25 أو أحدث، لذا شغّل
الـ benchmarks الحية على Node 25 أو في بيئة معزولة خاصة بك.
تشغيله
--model. هذه الخيارات
تغيّر ما يُقاس:
قراءة لوحة النتائج
- تنشأ نسخة جديدة من الـ harness من أي تغيير في التعليمات أو أسماء الأدوات أو الخطّافات.
noiseهو التفاوت في معدل النجاح بين التكرارات. التحسّن الأصغر من الضجيج ليس دليلًا على شيء.- فشل المزوّد، مثل تجاوز حد المعدل، يُحسَب
excludedولا يُحسَب فشلًا أبدًا. وترفض النتائج أن تُدمَج إذا تغيّر مُدخل مهمة بين الـ runs.
التحسين وإعادة التشغيل
يشغّلimprove.ts الدالة improveAgent على حالات agent واحد. ويعيد replay.ts تشغيل الـ harnesses التي سجّلها.
تجربة البوابة
يعيدexperiment.ts تشغيل مخرجات المحرّرين المسجّلة عبر أربع بوابات (A: بلا بوابة، B: البوابة القديمة، C: البوابة الحالية، D: البوابة الحالية مع البديل الاحتياطي)، إضافةً إلى تعديل لا يغيّر شيئًا (N) وتراجع مزروع (P). ويقدّر simulate.ts المعدلات نفسها دون اتصال من معدلات النجاح لكل حالة.
لا يملك experiment.ts نموذجًا افتراضيًا، فمرّر --model و--editor في كل مرة. قبل الذراعين N وP، يتحقق من أن كل حالة --holdout تنجح 6/6 على الأساس، ويخرج بالكود 2 إذا لم تنجح إحداها. ولا يعيد تشغيل إلا الصفوف التي انتهت باقتراح أو أبقت الأساس. تشغيل الإثبات، بالترتيب: