The AI / news

مايكروسوفت تقدم TokenEconomizer، مكون إضافي يخفض تكاليف وكلاء البرمجة بنسبة تصل إلى 30.9%

مايكروسوفت تقدم TokenEconomizer، مكون إضافي يخفض تكاليف وكلاء البرمجة بنسبة تصل إلى 30.9%
3 min de lecture

نشر باحثون من مايكروسوفت للأبحاث وجامعة كاليفورنيا بيركلي TokenEconomizer، وهو مكون إضافي مفتوح المصدر يهدف إلى التحكم في تكاليف وكلاء البرمجة. يتعلم من الجلسات السابقة على نفس مستودع الكود لتقليل الهدر في الجلسات اللاحقة. وفقاً للنتائج المنشورة، يخفض متوسط تكلفة مهام SWE-Bench بنسبة تتراوح من 18.4% إلى 30.9% عبر 5 تكوينات للوكيل-النموذج.

تقوم وكلاء البرمجة بتنفيذ مهام التطوير بشكل مستقل، عن طريق إرسال تدفق مستمر من النص إلى نموذج اللغة، مقسم إلى وحدات (tokens) (وهي وحدات النص التي يتم فوترتها). كل دورة من دورات الوكيل تعيد فوترة المطالبة (prompt) النظامية، ومخططات كل أداة محملة، وسجل المحادثة الكامل. يعمل TokenEconomizer خارج الوكيل، ويعامله كصندوق أسود: فهو لا يعدل أوزان النماذج ولا كود الوكلاء. يعمل مع Claude Code وCodex وGitHub Copilot CLI وPi، على جهاز يعمل بـPython 3.10 أو أحدث، دون الحاجة إلى وحدة معالجة رسوميات أو مفتاح واجهة برمجة تطبيقات خاص.

أين تذهب الأموال

لفهم الخسائر، حلل الباحثون 60 مهمة من SWE-Bench، موزعة على 6 مستودعات، تم تنفيذها باستخدام Claude Code وOpus 4.8. وحددوا ثلاثة مصادر متكررة للهدر. الأول هو الاكتشاف المتكرر: بمجرد إنجاز 5 مهام سابقة، فإن 30% من استدعاءات الأدوات تكرر إجراءً تم تنفيذه بالفعل. الثاني يتعلق بـالأدوات غير المستخدمة: يتم تحميل 23 مخطط أداة في كل دورة، منها 16 لم يتم استدعاؤها أبداً، و3 منها تغطي 98% من الاستدعاءات. الثالث يتمثل في حلقات الفشل: شكلت 10 عمليات تنفيذ فاشلة 17% من المهام، لكنها مثلت 32% من إجمالي النفقات.

اختبر الباحثون أيضاً ثلاث استراتيجيات مفتوحة المصدر موجودة، وهي RTK وSerena وRepoMap الخاص بـAider. لم تكن أي منها أقل تكلفة في جميع الحالات: فجميعها خفضت التكاليف على Django، لكنها زادتها على SymPy.

ثلاثة آليات

يحتفظ TokenEconomizer، لكل مستودع، بحالة مبنية من آثار المهام المكتملة، ويحدد ثلاث سياسات قبل كل مهمة. الأولى، المهارات الدقيقة (micro-skills)، تتلخص في تلخيص الملاحظات في حقائق من سطر واحد، مثل أمر الاختبار المراد استخدامه. لا يتم إدراج حقيقة في المطالبة (prompt) إلا بعد 3 تأكيدات على مهام لا تعدل نفس الملفات، ويحتسب التناقض 5، مما يسمح بإزالة الحقائق الخاطئة بسرعة.

السياسة الثانية، تقليم الأدوات، تحتفظ دائماً بأدوات shell والقراءة والكتابة والتحرير. يتم إخفاء الأدوات الأخرى بعد 3 مهام متتالية دون استخدام، أو عندما يحكم عليها حكم LLM بأنها غير ذات صلة. تعود القائمة الكاملة كل 5 مهام لإعادة التقييم. على Django مع Claude Code، انخفض الاستدعاء الأول للمهمة 2 من 43,351 إلى 16,295 وحدة (token) في المطالبة.

الثالثة هي التدخل في حلقات الفشل. يحدد المتحكم (الكونترولر) ميزانية للدورات تساوي 1.25 مرة النسبة المئوية التسعين لأطوال عمليات التنفيذ الناجحة. تشير قواعد بسيطة إلى حالات الفشل المتكررة، ثم يقرر حكم LLM ما إذا كان الوكيل عالقاً، بثقة لا تقل عن 0.7. يتلقى الوكيل العالق توجيهاً واحداً فقط، ثم يتم إيقافه إذا تكررت الحلقة.

نتائج متفاوتة

على SWE-Bench، خفض المكون الإضافي التكلفة في جميع الخلايا الثلاثين (مستودع-تكوين) التي تم اختبارها، بينما زادتها RTK وRepoMap في 12 و15 حالة على التوالي. أفضل نتيجة كانت انخفاضاً بنسبة 30.9% مع Claude Code وOpus 4.8، والتي ارتفعت إلى 33.2% عند دمجها مع RTK. تحسنت نسبة Pass@1، التي تقيس النجاح من المحاولة الأولى، في 4 تكوينات من أصل 5، لكنها تراجعت بمقدار 1.0 نقطة مع Opus 4.8. تظهر المدخرات بشكل رئيسي مع مرور الوقت: كانت معظم المستودعات أكثر تكلفة في البداية، لكن جميعها أصبحت أقل تكلفة بحلول المهمة السادسة.

تم نشر المكون الإضافي تحت ترخيص Apache 2.0. تبقى البيانات المتعلمة محلياً، في المجلد ~/.tokeneconomizer، ويمكن تثبيته على Claude Code من مستودع GitHub للمشروع. يتم تفعيل تقليم الأدوات والحماية من الحلقات افتراضياً، بينما تكون المهارات الدقيقة معطلة، لأن مقترحها يضيف استدعاءات إلى النموذج.