پوششهای Bash نسبت به پروتکل زمینه مدل (MCP) با هفت طرحواره، در یک اجرای ۱۲ سوالی توکنهای بیشتری مصرف کردند؛ این نشان میدهد که شل (shell) آن میانبر ارزانقیمتی نیست که بسیاری از مهندسان تصور میکنند. میزان مصرف توکن مستقیماً به هزینه عاملهای مدل زبانی بزرگ (LLM) که در مقیاس بالا اجرا میشوند، تبدیل میشود.
آزمایشی که بازی را عوض کرد
یک توسعهدهنده چهار روش را برای نحوه دریافت دادههای کشتی توسط یک عامل LLM اندازهگیری کرد:
- MCP – هفت طرحواره ابزار که پشت پروتکل زمینه مدل (Model Context Protocol) میزبانی میشوند.
- Bash + curl (cold) – یک فراخوانی خام شل بدون هیچ پرامپت اضافی.
- Bash + curl (warm) – همان فراخوانی شل به همراه پرامپتهای سیستمی که استفاده ایمن را هدایت میکنند.
- Dedicated CLI tool – یک رابط خط فرمان که برای این هدف ساخته شده است.
هر چهار روش در یک مکالمه ۱۲ مرحلهای اجرا شدند. میزان مصرف توکن، که تعیینکننده صورتحسابهای API است، به شرح زیر بود:
- MCP: ۱۰۹,۷۷۹ توکن
- Bash + curl (cold): ۱۵۸,۰۲۱ توکن
- Bash + curl (warm): ۱۷۸,۵۷۷ توکن
اعداد مربوط به ابزار CLI اختصاصی فاش نشد، اما دو نسخه Bash همین حالا هم هزینهای بیشتر از MCP داشتند.
چرا شل بیشتر از پروتکل هزینه داشت
هر ابزار Bash تقریباً به ۲,۷۰۰ توکن «پرامپتهای مهارکننده» (harness prompts) نیاز داشت – دستورالعملهایی که به عامل میگویند چگونه شل را به صورت ایمن فراخوانی کند، خروجی را تجزیه (parse) کند و خطاها را مدیریت کند. این پرامپتها به تنهایی از مجموع وزن توکنهای هر هفت طرحواره MCP فراتر میروند.
هزینه فقط مربوط به فراخوانی اولیه نیست. در محیط عملیاتی، همان عامل ۱۱ سرور MCP را در هنگام شروع بارگذاری کرد که باعث مصرف ۱۹,۸۰۰ توکن قبل از رسیدن اولین پرسش کاربر شد. سپس، در هر مرحله، عامل هر طرحواره را از هر سرور دوباره میخواند، بنابراین حتی یک درخواست ساده مانند «ساعت چند است؟» هزینه توکنِ تمام توضیحات ابزارهای دیگر را نیز به همراه داشت.
تخلیه پنهان منابع در بارگذاری مشتاقانه (eager loading)
وقتی یک عامل LLM در هر مرحله تمام سرورهای ابزار را به صورت مشتاقانه (eagerly) بارگذاری میکند، صورتحساب توکن به شدت افزایش مییابد. این آزمایش نشان داد که هزینه «واقعی» استفاده از Bash، خودِ دستور شل نیست، بلکه بافت (context) پیرامونی است که باید هر بار به مدل ارسال شود.
- ابزارهای با هزینه ثابت (طرحوارههای MCP) یک سربار توکن قابل پیشبینی در هر مرحله اضافه میکنند.
- محمولههای پویا (پاسخهای curl) بدهی رو به رشدی را اضافه میکنند که با طول مکالمه و اندازه دادهها افزایش مییابد.
بنابراین، شلی که در ظاهر «رایگان» به نظر میرسد، در واقع مالیات توکن بزرگتر و متغیری را تحمیل میکند.
مهندسان هوش مصنوعی در مرحله بعد باید چه کنند
- استفاده از بارگذاری تنبل (lazy loading). یک سرور ابزار را تنها زمانی بارگذاری کنید که طرحواره آن واقعاً مورد نیاز باشد، و به جای خواندن مجدد آن در هر بار، آن را در طول مراحل در حافظه نگه دارید.
- برخورد با طرحوارههای ابزار به عنوان یک هزینه ثابت در هر مرحله. بودجههای توکن را بر اساس اندازه مشخص تعاریف MCP برنامهریزی کنید، به جای اینکه فرض کنید دستورات شل رایگان هستند.
- بازنگری در فرض «شل = ارزان». پیش از نهایی کردن یک طراحی، میزان مصرف توکن را برای هر مسیر ابزار بررسی (profile) کنید.
- استفاده از ابزارهای ساختاریافته (shaped tools) برای مدلهای کوچک. حتی با پنجرههای بافت (context windows) محدود، طرحوارههای دقیق، استدلال، تبدیل واحد و مدیریت خطا را بهبود میبخشند.
نکته نهایی: اقتصاد توکن، و نه طراحی پروتکل، تعیینکننده هزینه است. مدیریت زمان و نحوه بارگذاری سرورهای ابزار میتواند دهها هزار توکن را از یک مکالمه بکاهد و مستقیماً هزینههای عملیاتی را کاهش دهد.
Source: https://dev.to/clarkbw--/enabling-bash-costs-more-context-than-seven-mcp-tool-schemas-2h82
