خوادم MCP الخاصة بك تستهلك الرموز (Tokens) قبل أن تكتب كلمة واحدة
أنت تدفع مقابل بيانات لا تستخدمها أبداً.
لقد قمت بتتبع جلسة وكيل (agent session) واحدة الأسبوع الماضي. كانت تحتوي على 47 أداة MCP محملة. أرسلت كل أداة مخطط JSON الكامل الخاص بها إلى مطالب النظام (system prompt). حدث هذا قبل أن أكتب كلمة واحدة.
يستهلك مخطط كل أداة ما بين 150 إلى 400 رمز (token). 47 أداة كلفتني 11,000 رمز كأعباء إضافية (overhead). يقرأ النموذج هذه الرموز في كل دورة (turn). أنت تدفع مقابل هذا السياق حتى لو كنت تستخدم أداتين فقط.
يقلق معظم الناس بشأن تحميل الملفات الكبيرة، لكنهم ينسون تكلفة قائمة الأدوات نفسها.
عندما تقوم بتكديس خوادم مثل GitHub وSlack وقواعد البيانات، ينتهي بك الأمر مع 60 إلى 100 أداة. لقد رأيت جلسات استهلكت فيها تعريفات الأدوات 20% من ميزانية السياق (context budget) بالكامل.
توقف عن تحميل كل شيء دفعة واحدة. استخدم التحميل المؤجل (deferred loading) بدلاً من ذلك.
إليك النمط: • قم بإدراج الأدوات بالاسم ووصف قصير فقط. • استخدم أداة بحث لجلب المخططات الكاملة عند الطلب.
بدلاً من حقن كائن JSON ضخم لكل أداة، قم بتوفير اسم بسيط. عندما يحتاج النموذج إلى أداة معينة، فإنه يستدعي وظيفة بحث (search function). تقوم هذه الوظيفة بإرجاع المخطط الكامل للأدوات المطابقة فقط.
النتائج مذهلة: • التحميل الفوري (Eager loading) لـ 80 أداة: ~18,000 رمز. • التحميل المؤجل (Deferred loading) لـ 80 أداة: ~1,000 رمز.
هذا يحول تعريفات الأدوات من مصروف رئيسي إلى مجرد خطأ تقريب بسيط.
تنجح هذه الاستراتيجية لأن معظم الجلسات تستخدم جزءاً صغيراً فقط من الأدوات المتاحة. إذا كنت تستخدم كل أداة في الجلسة، فستظل التكلفة كما هي. ولكن بالنسبة لمعظم المستخدمين، يوفر هذا كميات هائلة من السياق.
لا تسأل عن الأدوات التي يحتاج النموذج لاستدعائها. بل اسأل عما يحتاج النموذج لمعرفته بوجوده بشكل افتراضي.
توفر معظم الكتالوجات كل شيء دفعة واحدة لأن ذلك سهل. ولكنه أيضاً أسرع طريقة لاستنزاف ميزانيتك في قائمة لا يقرأها أحد.
اجعل الأمر بسيطاً. قدم اسماً، ووصفاً، ووظيفة بحث. ادفع مقابل الأدوات الثلاث التي تستخدمها، وليس مقابل الثمانين أداة التي تتجاهلها.
المصدر: https://dev.to/enjoy_kumawat/your-mcp-servers-are-burning-tokens-before-you-type-a-word-3076
مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi
