لما الـ host يتوصل بسيرفرات كتير ويبقى عنده مئات أو آلاف الأدوات، التحميل الساذج بينهار: كل التعريفات في السياق من الأول بتضيع توكنز، وبتزوّد التأخير، وبتضعف اختيار الموديل. وتمرير نتائج وسيطة ضخمة عبر الموديل بين النداءات بيزوّد المشكلة.
في مسارين: اكتشاف تدريجي يتحكم في امتى التعريف يدخل السياق، ونداء برمجي يتحكم في إزاي الأدوات بتتنادى.
الاكتشاف التدريجي
الدوكس بتقارن حوالي ١٥٠ ألف توكن للتحميل المسبق بحوالي ألفين عند الحاجة. الـ host يجيب التعريفات بـ tools/list بس يأجّل حقنها. يدي الموديل أداة خفيفة اسمها search_tools. يحمّل التعريف الكامل بس لما يحتاجه.
استخدمه لما التعريفات تاخد جزء كبير من النافذة. الدوكس بتوصي بحد كنسبة، مثلًا من ١٪ لـ ٥٪. لما توصل للحد، حوّل للاكتشاف.
استراتيجيات البحث: كلمات مفتاحية لما الأسماء والأوصاف واضحة، أو تشابه معنى للمرادفات، أو موديل صغير سريع يختار الأدوات (أغلى)، أو خليط. بعض المزودين عندهم بحث أدوات جاهز. ابنيه بنفسك لو محتاج ترتيب خاص بمجالك أو فلترة حسب الصلاحيات.
النمط الثلاثي: كتالوج (اسم وسطر وصف) ثم فحص (السكيمة الكاملة لأداة واحدة) ثم تنفيذ. الموديل يركز على كام أداة مش مئات.
الفكرة تمتد للسيرفرات: سجل باللي متاح، تتصل بالسيرفر لما الموديل يحتاجه، وتفصل اللي مش مهم للمهمة عشان تفضّي السياق. مناسب للوكيل العام اللي نية اليوزر مش معروفة مسبقًا. ابدأ بسيرفرات قليلة دايمًا شغالة، والباقي عند الحاجة. ملف المهارة ممكن يعلن السيرفرات المطلوبة والـ host يوصلها لما المهارة تتستدعى.
خليك على مستويات تفاصيل: اسم بس، أو اسم ووصف، أو سكيمة كاملة. اعمل كاش للتعريفات على الـ host عشان إعادة الحقن ما تحتاجش tools/list تاني. وحدّث الكاش لما يوصل list_changed. اعتبر فصل السيرفر عملية على حدود المحادثة مش كل دورة.
وضع الكود
بدل ما كل نتيجة وسيطة تعدي على الموديل، الموديل يكتب كود قصير ينادي الأدوات جوه عزل، والنتيجة النهائية بس ترجع للسياق. مفيد لما الخطوات الوسطى ضخمة: جدول، أو صفحة، أو بحث واسع.
العزل من غير شبكة عامة. الكود يشوف أدوات سمحتها له، مش كل الجهاز. فيه تلات مكونات: الـ host اللي يجهّز العزل ويمسك الأسرار، الوسيط اللي ينفّذ النداء، والكود اللي الموديل كتبه ومفيهوش مفاتيح.
اختار عزل يناسب الخطر: عملية بصلاحيات قليلة للتجربة، وحاوية لما الأداة تلمس ملفات أو شبكة. سجّل النداءات. حدد الوقت والذاكرة. ومتخلّيش الكود يفتح عنوان اليوزر كتبه من غير قائمة سماح.