استهلكت أغلفة Bash توكنات أكثر من بروتوكول سياق النموذج (MCP) المكون من سبعة مخططات خلال تشغيل تضمن 12 سؤالاً، مما يثبت أن الـ shell ليس الاختصار الرخيص الذي يعتقده العديد من المهندسين. وتترجم كمية التوكنات المستخدمة مباشرة إلى تكلفة لوكلاء النماذج اللغوية الكبيرة (LLM agents) الذين يعملون على نطاق واسع.
التجربة التي قلبت الموازين
قام أحد المطورين بقياس أربع طرق يمكن لوكيل LLM من خلالها جلب بيانات السفن:
- MCP – سبعة مخططات أدوات مستضافة خلف بروتوكول سياق النموذج (Model Context Protocol).
- Bash + curl (cold) – استدعاء shell خام بدون أي مطالبات (prompting) إضافية.
- Bash + curl (warm) – نفس استدعاء shell بالإضافة إلى مطالبات النظام (system prompts) التي توجه الاستخدام الآمن.
- Dedicated CLI tool – واجهة سطر أوامر (CLI) مخصصة ومصممة لهذا الغرض.
خضعت الطرق الأربع جميعها لمحادثة مكونة من 12 سؤالاً. وجاء استهلاك التوكنات، الذي يحدد فواتير واجهة برمجة التطبيقات (API)، على النحو التالي:
- MCP: 109,779 توكن
- Bash + curl (cold): 158,021 توكن
- Bash + curl (warm): 178,577 توكن
لم يتم الكشف عن أرقام أداة CLI المخصصة، لكن نسختي Bash تجاوزتا بالفعل تكلفة MCP.
لماذا كانت تكلفة الـ shell أعلى من البروتوكول
تطلبت كل أداة Bash ما يقرب من 2,700 توكن من "مطالبات التجهيز" (harness prompts) – وهي التعليمات التي تخبر الوكيل بكيفية استدعاء الـ shell بأمان، وتحليل المخرجات، ومعالجة الأخطاء. وتتجاوز هذه المطالبات وحدها الوزن الإجمالي للتوكنات لجميع مخططات MCP السبعة مجتمعة.
التكلفة لا تقتصر فقط على الاستدعاء الأولي. ففي بيئة الإنتاج، قام نفس الوكيل بتحميل 11 خادم MCP مسبقاً عند بدء التشغيل، مما استهلك 19,800 توكن قبل وصول أول استعلام للمستخدم. ثم، في كل دورة، كان الوكيل يعيد قراءة كل مخطط من كل خادم، لذا فحتى الطلبات البسيطة مثل "كم الساعة الآن؟" تدفع ثمن التوكنات الخاص بكل وصف أداة أخرى.
الاستنزاف الخفي للتحميل المسبق (eager loading)
عندما يقوم وكيل LLM بتحميل كل خادم أدوات بشكل مسبق (eagerly) في كل دورة، تتضخم فاتورة التوكنات بشكل كبير. أظهرت التجربة أن التكلفة "الحقيقية" لاستخدام Bash ليست في أمر الـ shell نفسه، بل في السياق المحيط الذي يجب إرساله إلى النموذج في كل مرة.
- الأدوات ذات التكلفة الثابتة (مخططات MCP) تضيف عبئاً متوقعاً من التوكنات في كل دورة.
- الحمولات الديناميكية (استجابات curl) تضيف ديناً متزايداً يتناسب مع طول المحادثة وحجم البيانات.
وبالتالي، فإن الـ shell الذي يبدو "مجانياً" في الظاهر يفرض في الواقع ضريبة توكنات متغيرة وأكبر.
ما الذي يجب على مهندسي الذكاء الاصطناعي فعله لاحقاً
- اعتماد التحميل الكسول (lazy loading). قم بتحميل خادم الأدوات فقط عندما تكون مخططاته مطلوبة بالفعل، واحتفظ به في الذاكرة عبر الدورات بدلاً من إعادة قراءته في كل مرة.
- التعامل مع مخططات الأدوات كمصروف ثابت لكل دورة. خطط لميزانيات التوكنات بناءً على الحجم المعروف لتعريفات MCP بدلاً من افتراض أن أوامر الـ shell مجانية.
- إعادة تقييم افتراضات "الـ shell رخيص". قم بتحليل استخدام التوكنات لكل مسار أداة قبل الالتزام بتصميم معين.
- الإبقاء على الأدوات المهيكلة (shaped tools) في الحلقة للنماذج الصغيرة. حتى مع نوافذ السياق المحدودة، فإن المخططات المحددة جيداً تحسن الاستدلال، وتحويل الوحدات، ومعالجة الأخطاء.
الخلاصة: اقتصاديات التوكنات، وليس تصميم البروتوكول، هي التي تملي التكلفة. إن إدارة وقت وكيفية تحميل خوادم الأدوات يمكن أن توفر عشرات الآلاف من التوكنات في المحادثة الواحدة، مما يقلل مباشرة من النفقات التشغيلية.
المصدر: https://dev.to/clarkbw--/enabling-bash-costs-more-context-than-seven-mcp-tool-schemas-2h82
