إضافة من Microsoft على GitHub تمنعك من دفع ثمن العمل نفسه مجددا في وكلاء البرمجة
خفضت إضافة باحثي Microsoft وUC Berkeley متوسط التكلفة بين 18.4% و30.9% في الاختبارات. وارتفع النجاح في أربع من خمس توليفات، وتراجع قليلا مع Claude Code وOpus 4.8.
أصدر باحثون من Microsoft Research وMicrosoft Security وUC Berkeley مشروع TokenEconomizer على GitHub برخصة Apache 2.0. ويهدف المشروع إلى خفض تكلفة وكلاء البرمجة من دون تغيير النموذج أو شيفرة الوكيل. وقد رُفعت الورقة البحثية إلى arXiv في 15 أكتوبر 2026، واستمر تحديث المستودع حتى 30 أكتوبر. وتعمل الإضافة مع Claude Code وCodex وGitHub Copilot CLI وPi، بينما دعم opencode تجريبي.
الوكلاء يدفعون ثمن العمل نفسه مرارا
ينطلق الفريق من أن وكلاء البرمجة يُقيَّمون غالبا على مهام منفردة. أما في الواقع فيستخدم المطورون الوكيل نفسه في المشروع نفسه مرة بعد مرة، وتُحتسب في كل دورة تعليمات الوكيل وتعريفات الأدوات المحملة وسجل المحادثة من جديد. وقد درس الفريق 60 تشغيلا في SWE-Bench لوكيل غير معدل. فبعد إنجاز خمس مهام أو أكثر في مستودع ما، كانت 30% من استدعاءات الأدوات تكرر إجراء من مهمة سابقة. ومن بين 23 وصف أداة تُحتسب في كل دورة، لم تُستدع 16 أداة قط. واستهلكت المهام الفاشلة، وهي 17% من المهام، نحو 32% من الإنفاق.
ثلاث آليات تعمل من خارج الوكيل
تتعلم الآلية الأولى micro-skills حقائق خاصة بالمستودع، مثل خطوة بناء يجب تنفيذها أولا، أو صيغة الأمر الصحيحة هناك، أو متغير بيئة يحتاجه أمر ما. وتُقدَّم الحقيقة للوكيل عند بدء الجلسة بعد أن تؤكدها ثلاث جلسات، وتُحذف إذا ناقضتها جلسات لاحقة. والآلية الثانية هي تقليم الأدوات. فالأداة التي لم تُستخدم خلال عشرة طلبات موزعة على جلستين على الأقل، أو خلال خمس جلسات، تُستبعد من الجلسات التالية عبر إعدادات الوكيل نفسه، ويعيدها أمر واحد. والآلية الثالثة هي حارس الحلقات. فعندما تتكرر الأخطاء نفسها في دورة ما، يراجعها نموذج حَكَم، وإذا كان واثقا بنسبة 70% على الأقل من أن الدورة عالقة، يحصل الوكيل على ملاحظة قصيرة ليجرب نهجا آخر. وإذا لم تتقدم الدورة بعد ذلك، تخبر الإضافة المستخدم بكيفية إيقافها ولا تنهيها بنفسها.
انخفضت التكلفة لكن النجاح لم يرتفع في كل مكان
شغل الفريق 277 مهمة من SWE-Bench مأخوذة من ستة مستودعات (Django وMatplotlib وscikit-learn وSphinx وSymPy وxarray) على خمس توليفات من الوكلاء والنماذج. وانخفض متوسط التكلفة 18.4% مع Copilot CLI وSonnet 5، و23.6% مع Claude Code وSonnet 5، و24.7% مع Codex وGPT-5.6 Terra، و26.1% مع Codex وGPT-5.6 Sol، و30.9% مع Claude Code وOpus 4.8. وتشمل التكاليف استدعاءات النماذج التي تجريها الإضافة نفسها. وارتفع معدل النجاح من المحاولة الأولى في أربع توليفات، فمثلا صعد من 75.0 إلى 77.6 مع Copilot CLI وSonnet 5. أما مع Claude Code وOpus 4.8، حيث كان التوفير الأكبر، فتراجع من 74.0 إلى 73.0.
ويبين الجدول نفسه ثمن الخيارات الأبسط. فمع Claude Code وSonnet 5، خفض الانتقال إلى الجهد المنخفض التكلفة 45.5% لكنه نزل بالنجاح من 74.7 إلى 65.1. ورفعت أداتا RTK وRepoMap ثابتتا الإعداد التكلفة في بعض التوليفات. وتراوح التوفير داخل المستودع الواحد بين 5% و40%. وبلغ الانخفاض في Web-Bench بين 16% و21%. أما في اختباري التدقيق الأمني، حيث تجري كل مهمة في مستودع جديد، فكان بين 6% و20%، لأن النظام يتعلم من العمل المتكرر في مستودع واحد.
ما الذي تفعله الإضافة
- تتعلم حقائق خاصة بالمستودع وتنقلها إلى الجلسات اللاحقة. وهذه الميزة اختيارية ومعطلة افتراضيا.
- تستبعد الأدوات غير المستخدمة من الجلسات اللاحقة، ويعيدها أمر واحد.
- عندما يتكرر الخطأ نفسه تضيف ملاحظة ليجرب الوكيل طريقة أخرى.
- تعمل عبر خطافات عند بدء الجلسة ومع كل طلب وعند استدعاء الأدوات وفي نهاية الجلسة.
- تقرأ سجلات الجلسات وتسلم بعض الأعمال إلى عملية خلفية منفصلة.
- تكتب قواعد المنع لتقليم الأدوات في ملف .claude/settings.local.json داخل المستودع.
- في Claude Code تعمل الاستدعاءات الإضافية افتراضيا على Haiku عبر حساب المستخدم نفسه.
ما الذي لا تفعله
- لا تغير النموذج أو شيفرة الوكيل.
- لا تطلب مفتاح API منفصلا، وتمر استدعاءات النماذج عبر وكيل المستخدم.
- لا تحدث نفسها، فالتحديث يتم عبر git pull يشغله المستخدم.
- لا توقف الدورة العالقة بنفسها، وتترك القرار للمستخدم.
- لم يكشف فحصنا للشيفرة عن اتصال بخوادم خارجية في شيفرة الإضافة نفسها. ولم نراجع كل الملفات سطرا بسطر.
لمن تناسب
يستفيد أكثر من يعملون كثيرا في المشروع نفسه، لأن النظام يتعلم من العمل المتكرر. ويقل التوفير لدى من ينجزون كل عمل في مستودع جديد. وفي الخطط الشهرية قد يظهر المكسب في حدود الاستخدام لا في المال. وتحتاج الإضافة إلى Python 3.10 أو أحدث، ويتم التثبيت عبر git clone وأوامر الإضافات في الوكيل. وقبل الإزالة يعيد الأمر toolprune restore الأدوات التي أُوقفت. وعلى المستخدم أيضا أن يقرر هل تناسب الخطافات وقراءة السجلات طريقة عمله.
الإعدادات الافتراضية للإضافة تختلف عن الورقة
في النسخة التي يحصل عليها المستخدمون يكون تقليم الأدوات وحارس الحلقات مفعلين، بينما تكون micro-skills معطلة. ويوضح المستودع أن السبب هو أن خطوة اقتراح الحقائق تضيف استدعاءات للنماذج. ولذلك قد لا تطابق نتائج الآليات الثلاث في الورقة التثبيت الافتراضي. وفي Claude Code تعمل الاستدعاءات الإضافية افتراضيا على Haiku عبر حساب المستخدم نفسه. ولا تحتاج الإضافة إلى مفتاح API منفصل، وتحفظ ما تتعلمه على جهاز المستخدم في المجلد ~/.tokeneconomizer. وفي المقابل، تشغل خطافات عند بدء الجلسة ومع الطلبات واستدعاءات الأدوات، وتقرأ سجلات الجلسات، وتسلم بعض الأعمال إلى عملية خلفية منفصلة، وتكتب قواعد منع في إعدادات المستودع لتقليم الأدوات. ويمكن لمن لا يريد تغير قائمة أدواته تلقائيا ضبط toolprune=propose لتلقي الاقتراحات فقط. والأرقام من قياسات الفريق نفسه. وللحصول على صورة أشمل، تابعوا أيضا تقييمات الباحثين المستقلين.
المصادر: GitHub, ورقة arXiv, صفحة المشروع