ابزارهای MCP هزینهی توکن ورودی Claude Code شما را افزایش میدهند، نه اینکه کاهش دهند؛ هر پرامپتی که از طریق یک ابزار پاکسازی ارسال میکنید، در نهایت توکنهای بیشتری مصرف میکند و در نتیجه هزینه بیشتری دارد. توسعهدهندگانی که به دنبال کاهش هزینههای API هستند، اغلب به سراغ پاککنندههای مبتنی بر MCP میروند، با این فرض که آنها پرامپت را پیش از آنکه مدل آن را ببیند، کوچکتر میکنند.
چرا شمارشگر توکن اهمیت دارد
Claude Code به محض اینکه متن شما به پنجرهی کانتکست (context window) مدل برسد، توکنها را محاسبه میکند. مدل خواندن پرامپت خام را شروع میکند و سپس تصمیم میگیرد که آیا یک ابزار MCP را فراخوانی کند یا خیر. ابزار پاکسازی پس از آن اجرا میشود که متن اصلی از قبل بخشی از گفتگو شده است، بنابراین شمارشگر قبلاً آن توکنها را ثبت کرده است.
یک جریان معمول به این صورت است:
- پرامپت خام شما ارسال میشود – شمارشگر توکن شروع به کار میکند.
- مدل پرامپت را میخواند و تصمیم میگیرد ابزار پاکسازی را فراخوانی کند.
- ابزار یک نسخهی اصلاحشده (trimmed) را برمیگرداند.
- اکنون کانتکست شامل سه مورد است: پرامپت اصلی، متادیتای فراخوانی ابزار، و پرامپت پاکسازی شده.
هزینه هر سه مورد از شما دریافت میشود. نسخهی «پاکسازی شده» جایگزین نسخه اصلی نمیشود؛ بلکه صرفاً در کنار آن قرار میگیرد.
چه زمانی پاکسازی با MCP کمککننده است
یک ابزار MCP تنها زمانی در مصرف توکن صرفهجویی میکند که متن خام هرگز وارد کانتکست اصلی Claude Code نشود. این اتفاق در فراخوانیهای پاییندستی (downstream) رخ میدهد، مانند:
- پرسوجوهای تولید مبتنی بر بازیابی (RAG) که مدل آنها را به یک موتور جستجو یا پایگاه داده ارسال میکند.
- دستورالعملهای ارسال شده به زیر-عاملها (sub-agents) که مستقل از گفتگوی اصلی عمل میکنند.
در این موارد، مدل محتوای (payload) پاکسازی شده را مستقیماً به سیستم خارجی ارسال میکند و متن اصلی کاربر را از شمارش توکنهای اصلی خارج نگه میدارد.
چگونه واقعاً توکنهای ورودی خود را کاهش دهید
اگر میخواهید تعداد توکنهایی را که به Claude Code میدهید کاهش دهید، متن را پیش از رسیدن به مدل پاکسازی کنید. در اینجا سه روش عملی وجود دارد که امروزه کارآمد هستند:
- کلیدهای میانبر در سطح سیستم – در ویندوز از اسکریپت AutoHotkey و در macOS از Automator استفاده کنید. اسکریپت متن مورد نظر شما را انتخاب کرده، آن را به یک API خارجی میفرستد که نسخهی پاکسازی شده را برمیگرداند، و سپس متن را در ویرایشگر جایگزین میکند. از آنجایی که نسخهی خام هرگز از دستگاه شما خارج نمیشود، تنها نسخهی پاکسازی شده ارسال میگردد.
- پایپ کردن در CLI – Claude Code را از طریق ترمینال اجرا کنید و پرامپت خود را با یک فیلتر bash (مانند اسکریپت
sedیا Python) پیشپردازش کنید که فضاهای خالی غیرضروری، کامنتها یا عبارات تکراری را حذف میکند. خروجی فیلتر شده همان چیزی است که به مدل داده میشود. - استفاده از MCP فقط برای فراخوانیهای پاییندستی – ابزارهای MCP را فقط برای مراحل RAG یا زیر-عاملها که پیشتر توضیح داده شد، رزرو کنید. اجازه دهید مدل مستقیماً با پرامپت اولیه کاربر برخورد کند و ابزار پاکسازی فقط روی محتوایی (payload) عمل کند که از گفتگوی اصلی خارج میشود.
اشتباهات رایجی که باید از آنها اجتناب کرد
- فرض بر این که ابزارهای MCP پرامپت اصلی را کوتاه میکنند – آنها یک بلوک توکن برای فراخوانی ابزار اضافه میکنند و متن خام را نیز حفظ میکنند که باعث افزایش مجموع توکنها میشود.
- اتکا به هوکهای (hooks) Claude Code – هوکها میتوانند بافت اضافی تزریق کنند یا پرامپتها را مسدود کنند، اما نمیتوانند متنی را که از قبل در گفتگو وجود دارد، بازنویسی کنند.
- استفاده از دستورات اسلش (slash commands) با پاکسازی درونخطی – حتی اگر یک دستور یک اسکریپت پاکسازی را اجرا کند، آرگومانهای خام همچنان بخشی از خط دستوری هستند که مدل ثبت میکند، بنابراین شما باید هزینه آنها را نیز بپردازید.
شمارشگر توکن از لحظهای که کاراکترهای شما به نقطه پایانی (endpoint) API مدل میرسند، شروع میشود. هر چیزی که بعد از آن نقطه پاکسازی انجام دهد، فقط بار اضافی (overhead) ایجاد میکند.
این موضوع برای توسعهدهندگان چه معنایی دارد
قیمتگذاری توکن در اکثر صورتحسابهای سرویسهای هوش مصنوعی به عنوان یک ردیف هزینه ظاهر میشود. پرداخت بیش از حد به دلیل اینکه یک «پاککننده» توکنهای پنهان اضافه میکند، میتواند به سرعت هرگونه صرفهجویی را که امیدوار بودید به دست آورید، از بین ببرد. مرحله پاکسازی را به سمت کلاینت (client side) منتقل کنید تا تعداد توکنها دقیق و بودجه شما قابل پیشبینی باقی بماند.
نتیجهگیری: ابزارهای MCP برای محتواهای (payloads) پاییندستی مفید هستند، اما نمیتوانند توکنهای پرامپتی را که تایپ میکنید کوتاه کنند. اگر میخواهید کاهش واقعی در هزینههای توکن Claude Code داشته باشید، پیش از ارسال، متن را پاکسازی کنید یا پاکسازی را فقط به فراخوانیهایی محدود کنید که هرگز در کانتکست اصلی ظاهر نمیشوند.
