كيف أختار نموذج وكلاء Codex الفرعيين
أطلب كثيرا من وكيل فرعي تنفيذ مهمة صغيرة: العثور على تعريف دالة، أو جمع قيم من بضعة ملفات، أو التحقق من عبارة في الشفرة المصدرية. يستطيع Sol high إنجاز ذلك، لكن استخدامه لكل طلب صغير يرفع التكلفة وفق أسعار API. لذلك أضفت خطوة قصيرة لاختيار النموذج قبل تشغيل الوكيل.
يأخذ Codex Jev Router ملخصا موجزا للمهمة ويختار نموذج Codex ومستوى الاستدلال. بعد ذلك يعمل الوكيل بأدوات Codex المعتادة. لا يبدّل الموجّه النموذج أثناء المهمة ولا يختار الأدوات نيابة عن الوكيل.
قبل تشغيل الوكيل
تطلب تعليمات المشروع من الوكيل الرئيسي إرسال ملخص قصير إلى محرك القرار، من دون شفرة مصدرية أو سجلات أو أسرار. المحرك الافتراضي هو Jev، ويمكن استبداله بمحرك محلي مثل Laya أو بمهايئ آخر مدعوم. يعيد المحرك إجابة منظّمة، ثم تتحقق قواعد الموجّه من درجة الثقة وتختار الإعداد المناسب.
يمكن إسناد البحث الدقيق إلى Luna low، والعمل المحدود في بضعة ملفات إلى Luna medium. أما المهمة القصيرة التي تتطلب حكم Sol فيمكن إسنادها إلى Sol low. عند عدم وضوح القرار يعود الاختيار إلى Sol high. أحتفظ بـ Sol ultra للمهام بالغة الصعوبة أو بعد التحقق من فشل Sol. يمرّر الوكيل الرئيسي قيمتي model وreasoning_effort المختارتين صراحة إلى spawn_agent.
تعتمد هذه الآلية حاليا على التزام الوكيل الرئيسي بتعليمات Codex قبل التشغيل. لا أصفها بأنها اعتراض إلزامي لكل استدعاء: أظهر فحص عبر Codex CLI أن خطاف PreToolUse لم يعمل مع هذا الاستدعاء.
تكلفة المهام التي تحققت منها
استخدمت في مستودع الاختبارات المنفصل نسخة Django مثبتة على commit محدد. شغّلت ثلاث مهام لقراءة الشفرة ثلاث مرات لكل منها باستخدام Sol high النظيف، وثلاث مرات بالإعداد الذي اختاره الموجّه. طابقت إجابات الأزواج التسعة الحقائق في النسخة المثبتة. كما شغّلت إصلاحا محدود النطاق من SWE-bench Verified ثلاث مرات لكل خيار وفحصته باختبار الانحدار المحلي الرسمي.
| المهام | Sol high دون موجّه | إعداد الموجّه مع Jev | فرق التكلفة | التحقق |
|---|---|---|---|---|
| قراءة شفرة Django، 9 أزواج | $0.214806 | $0.062317 | أقل بنسبة 71.0% | 9/9 إجابات صحيحة في كلا الخيارين |
| إصلاح Django محدود، 3 أزواج | $0.555916 | $0.009668 | أقل بنسبة 98.3% | اجتياز الاختبار الرسمي 3/3 في كلا الخيارين |
طبّقت على أعداد رموز الإدخال والإدخال المخزّن مؤقتا والإخراج المقاسة أسعار Standard API للسياق القصير. يتضمن إجمالي الموجّه تكلفة قرارات Jev المقدّرة على حدة. هذه ليست فاتورة فعلية لاشتراك Codex. يحتوي التقرير على آثار التشغيل والأعداد الأصلية وصيغة الحساب.
هناك قيد مهم في تجربة الإصلاح. استُخدم في أول تشغيل لـ Luna medium إعداد تجريبي مبني على تفضيل Jev قبل تعديل عتبة الموجّه. بعد تعديلها اختارت ثلاثة قرارات مباشرة ومتكررة Luna medium. شغّلت اختبار الانحدار المحلي الرسمي، ولم أشغّل التقييم الكامل لـ SWE-bench داخل Docker.
ما لم أقسه بعد
اخترت عمدا مهاما بدا أن الإعداد الأرخص قد يناسبها. لا تكفي هذه النتائج لتقدير متوسط التكلفة على مهام عشوائية. يتضمن التقرير أيضا تشغيلات ضابطة بالنموذج نفسه تغيّر فيها الاستهلاك من تشغيل إلى آخر. وفي إصلاح أقدم لمشروع pytest فشل الخياران في الاختبار، وكانت تكلفة الخيار الموجّه أعلى. أبقيت هذه النتيجة في التقرير.
أحتاج في التجربة التالية إلى مجموعة مهام محددة مسبقا، مع حساب تكلفة الإعادات والإخفاقات إلى جانب جودة الإجابة. يمنحني الموجّه حاليا طريقة قابلة للضبط لإسناد المهام المحددة إلى Luna. تعليمات الإعداد ومواد الاختبار متاحة لمن يريد فحص الاختيار على مهامه.