النموذج نفسه قد يربح أو يخسر بحسب الغلاف الذي يعمل داخله
يختار فريق النموذج الأول في لوحة الترتيب، ويوصله بأقرب غلاف للوكلاء، ثم يطلق المنتج.

يختار فريق النموذج الأول في لوحة الترتيب، ويوصله بأقرب غلاف للوكلاء، ثم يطلق المنتج. ورقة أولية نشرت على arXiv في مطلع أكتوبر تسأل عما يخفيه هذا الاختصار. على المهام الطرفية الـ63 نفسها يتقدم نموذج على آخر بنحو 8 نقاط في غلاف ويتأخر عنه 30 نقطة في غلاف آخر. لم يكن الترتيب يوما خاصية للنماذج وحدها.
الخلاصة
بحث منشور بحسب مؤلفيه: "Finding the Right Fit" (arXiv 2610.00917) يقيّم 66 تكوينا من نموذج وغلاف على ثلاثة معايير للوكلاء. تقترن أربعة أغلفة قابلة للضبط (OpenHands وDeepSeek Harness وPI وopenJiuwen) بخمسة نماذج، إضافة إلى الزوجين الأصليين Codex وClaude Code. ينقلب ترتيب النماذج بين الأغلفة، ويتغير أفضل غلاف لنموذج ما بحسب المعيار، وغلاف المورّد ليس دائما الأفضل لنموذجه. ينشر المؤلفون المحولات والشيفرة و6,204 مسارات مقيّمة. ↗

ما الذي شغّله الباحثون
تضرب الشبكة أربعة أغلفة في خمسة نماذج (Claude Opus 5 وGPT-6 Astra وGLM-5.3 وKimi K3 وDeepSeek V4 Pro) على ثلاثة معايير: TUA-Bench بـ120 مهمة وALE-CLI بـ99 ومجموعة جزئية من Terminal-Bench 4 بلا H100 من 63 مهمة. يضيف Codex مع GPT وClaude Code مع Claude ست مراجع أصلية، فيصبح المجموع 66 تكوينا. يطلب كل غلاف جهد استدلال عاليا ويحتفظ بإعداداته الخاصة للسياق وإعادة المحاولة وعدد الأدوار. تُخدَّم النماذج عبر OpenRouter وتُثبَّت على مزودها الأول. التكلفة هي كلفة الواجهة البرمجية لكل مهمة بأسعار OpenRouter. لم تُضف مهارات أو خوادم MCP أو ذاكرة. ↗
أين ينقلب ترتيب لوحة الصدارة
على Terminal-Bench 4 يتفوق Claude على GPT بـ7.94 نقطة في OpenHands. وفي DeepSeek Harness يتقدم GPT بـ17.46، وفي openJiuwen بـ12.70، وفي PI بـ30.16. ينزل Claude من 57.14% في OpenHands إلى 30.16% في PI، بينما يرتفع GPT من 49.21% إلى 60.32%. أما Kimi فحالة ثابتة: يمنحه openJiuwen أفضل نتيجة على المعايير الثلاثة بفارق من 5.61 إلى 11.11 نقطة. الأزواج الأصلية متباينة. Claude Code هو الأفضل لـClaude على TUA-Bench وALE-CLI لكنه يتأخر عن OpenHands على Terminal-Bench، ولا يمنح Codex نموذج GPT أعلى نتيجة له قط. على Terminal-Bench 4 يتفوق GPT في PI على GPT في DeepSeek Harness بأقل من ربع كلفة المهمة. ↗
لماذا يتصرف النموذج نفسه بشكل مختلف
قارن المؤلفون مسارات متطابقة للمهمة والنموذج نفسيهما تحت أغلفة مختلفة. تبدأ النماذج معظم الإصلاحات بنفسها، لذلك يتوقف الكثير على إعادة الغلاف الفشل بصيغة يستفيد منها النموذج. الصدفة بلا مهلة تحول أمرا معلقا إلى صمت. وقد ينهي كاشف التعثر التشغيل قبل إصلاح استدعاء أداة مشوّه. يضع GPT مهلا صريحة في معظم استدعاءاته للصدفة ويعمل أفضل مع PI، وهو هيكل خفيف. يصدر Kimi استدعاءات مشوّهة أكثر ويعمل أفضل حيث يلتقطها الغلاف. وتقع كثير من الإخفاقات المتبقية في النهاية، حين يعد الوكيل فحصه الذاتي دليلا على اكتمال المهمة.
ما لم أستطع التحقق منه
تحليلي: الدرس المفيد أن يُقيَّم الزوج والمهمة معا، وأن يُعامَل تغيير الغلاف كتغيير النموذج. والحدود مذكورة في الورقة نفسها. المجموعة الجزئية من Terminal-Bench واختيارات المهام المحلية لا تعيد إنتاج أرقام لوحات الترتيب الرسمية، وقد لا يعني "جهد الاستدلال العالي" ميزانية تفكير واحدة في كل غلاف، وكل مهمة تُحتسب بآخر تشغيل لها. هذه ورقة أولية بحملة تشغيل واحدة. قرأت الملخص ونص HTML. لم أعد تشغيل الشيفرة ولم أفتح المسارات المنشورة، فلا أستطيع تأكيد الأرقام فوق ما تذكره الورقة.
فحص صغير أجريته
النص أدناه فحص صغير كتبته وشغلته محليا. ينسخ مكافآت Claude وGPT على Terminal-Bench 4 من جدول الورقة ويعيد حساب الفارق لكل غلاف. وباستخدام قيم الجدول بأربع خانات يطبع تقدما قدره 7.93 نقطة في OpenHands، بينما تذكر الورقة 7.94 من الدرجات غير المقرَّبة. هذا فرق تقريب لا خلاف. ويؤكد الفحص انقلاب الإشارة وتأرجحا قدره 38.09 نقطة بين أفضل غلاف وأسوأ غلاف لـClaude. وهو ليس إعادة تشغيل للمعيار.
الفحص في شيفرة
# Recompute the Claude-minus-GPT gap on Terminal-Bench 4 from the reported table.
# Scores are mean rewards copied from Table 1 of arXiv 2610.00917 (63 tasks).
TB4 = {
"OpenHands": {"Claude Opus 5": 0.5714, "GPT-6 Astra": 0.4921},
"DSH": {"Claude Opus 5": 0.3492, "GPT-6 Astra": 0.5238},
"PI": {"Claude Opus 5": 0.3016, "GPT-6 Astra": 0.6032},
"openJiuwen": {"Claude Opus 5": 0.4127, "GPT-6 Astra": 0.5397},
}
def gaps(table):
for harness, row in table.items():
diff = (row["Claude Opus 5"] - row["GPT-6 Astra"]) * 100
leader = "Claude" if diff > 0 else "GPT"
yield harness, round(diff, 2), leader
results = list(gaps(TB4))
for harness, diff, leader in results:
print(f"{harness:<11} Claude minus GPT = {diff:+.2f} points, leader: {leader}")
leaders = {leader for _, _, leader in results}
print("ranking changes with the harness:", len(leaders) > 1)
spread = max(d for _, d, _ in results) - min(d for _, d, _ in results)
print(f"spread of the gap across harnesses: {spread:.2f} points")