MCP টুলস আপনার Claude Code-এর ইনপুট-টোকেন বিল কমায় না, বরং বাড়িয়ে দেয়; ক্লিনিং টুলের মাধ্যমে পাঠানো প্রতিটি প্রম্পট শেষ পর্যন্ত আরও বেশি টোকেন খরচ করে, এবং ফলে আরও বেশি টাকা লাগে। ডেভেলপাররা যারা API খরচ কমাতে চান, তারা প্রায়ই MCP-ভিত্তিক ক্লিনার ব্যবহার করার চেষ্টা করেন এই ভেবে যে, মডেলটি প্রম্পটটি দেখার আগেই এটি ছোট করে ফেলবে।
কেন টোকেন মিটার গুরুত্বপূর্ণ
আপনার টেক্সট মডেলের context window-তে পৌঁছানোর সাথে সাথেই Claude Code টোকেন গণনা শুরু করে। মডেলটি প্রথমে র (raw) প্রম্পটটি পড়া শুরু করে, তারপর সিদ্ধান্ত নেয় যে একটি MCP টুল ব্যবহার করা হবে কি না। ক্লিনিং টুলটি মূল টেক্সটটি কথোপকথনের অংশ হওয়ার পরে কাজ করে, তাই মিটার ইতিমধ্যেই সেই টোকেনগুলো রেকর্ড করে ফেলেছে।
একটি সাধারণ প্রবাহ দেখতে অনেকটা এরকম:
- আপনার র প্রম্পটটি সাবমিট করা হয় – টোকেন কাউন্টার বাড়তে থাকে।
- মডেলটি প্রম্পটটি পড়ে এবং ক্লিনিং টুলটি কল করার সিদ্ধান্ত নেয়।
- টুলটি একটি সংক্ষিপ্ত (trimmed) ভার্সন প্রদান করে।
- এখন context-এ তিনটি জিনিস থাকে: মূল প্রম্পট, টুল-কল মেটাডেটা এবং ক্লিন করা প্রম্পট।
আপনাকে এই তিনটি এন্ট্রির জন্যই বিল দিতে হবে। "ক্লিন" ভার্সনটি মূল ভার্সনটিকে প্রতিস্থাপন করে না; এটি কেবল তার পাশেই থাকে।
কখন MCP ক্লিনিং সাহায্য করে
একটি MCP টুল কেবল তখনই টোকেন সাশ্রয় করে যখন র টেক্সটটি মূল Claude Code context-এ প্রবেশ করে না। এটি নিচের মতো ডাউনস্ট্রিম (downstream) কলের ক্ষেত্রে ঘটে:
- Retrieval-augmented generation (RAG) কুয়েরি যা মডেলটি কোনো সার্চ ইঞ্জিন বা ডেটাবেসে পাঠায়।
- সাব-এজেন্টদের কাছে পাঠানো নির্দেশাবলী যারা মূল কথোপকথন থেকে স্বাধীনভাবে কাজ করে।
এই ক্ষেত্রে মডেলটি ক্লিন করা পেলোডটি (payload) সরাসরি এক্সটার্নাল সিস্টেমে পাঠায়, ফলে মূল ইউজার টেক্সটটি প্রাথমিক টোকেন গণনার বাইরে থাকে।
কীভাবে প্রকৃতপক্ষে আপনার ইনপুট টোকেন কমানো যায়
আপনি যদি Claude Code-এ দেওয়া টোকেনের সংখ্যা কমাতে চান, তবে টেক্সটটি মডেলে পৌঁছানোর আগে ক্লিন করুন। বর্তমানে কার্যকর তিনটি ব্যবহারিক পদ্ধতি নিচে দেওয়া হলো:
- System-level hotkeys – উইন্ডোজে AutoHotkey স্ক্রিপ্ট; ম্যাক ওএস-এ Automator ব্যবহার করুন। স্ক্রিপ্টটি আপনার পাঠানো টেক্সটটি সিলেক্ট করে একটি এক্সটার্নাল API-তে পাঠায় যা একটি ক্লিন ভার্সন ফেরত দেয় এবং তারপর এডিটরে টেক্সটটি প্রতিস্থাপন করে। যেহেতু র ভার্সনটি আপনার মেশিন থেকে বের হয় না, তাই কেবল ক্লিন ভার্সনটিই সাবমিট করা হয়।
- CLI piping – একটি টার্মিনাল থেকে Claude Code চালু করুন এবং একটি bash ফিল্টার (যেমন
sedবা Python স্ক্রিপ্ট) দিয়ে আপনার প্রম্পটটি প্রি-প্রসেস করুন যা অপ্রয়োজনীয় হোয়াইটস্পেস, কমেন্ট বা ডুপ্লিকেট শব্দগুলো বাদ দিয়ে দেয়। ফিল্টার করা আউটপুটটিই মডেলে পাঠানো হয়। - MCP for downstream calls only – MCP টুলগুলোকে আগে বর্ণিত RAG বা সাব-এজেন্ট ধাপগুলোর জন্য নির্দিষ্ট রাখুন। মডেলটিকে সরাসরি প্রাথমিক ইউজার প্রম্পটটি হ্যান্ডেল করতে দিন এবং ক্লিনিং টুলটিকে কেবল সেই পেলোডের ওপর কাজ করতে দিন যা মূল কথোপকথন থেকে বাইরে যায়।
সাধারণ ভুল যা এড়িয়ে চলা উচিত
- MCP টুলস মূল প্রম্পটটি ছোট করে দেয় বলে ধরে নেওয়া – এগুলো একটি টুল-কল টোকেন ব্লক যোগ করে এবং র টেক্সটটি সংরক্ষণ করে, যা মোট টোকেন সংখ্যা বাড়িয়ে দেয়।
- Claude Code hooks-এর ওপর নির্ভর করা – হুকস অতিরিক্ত কনটেক্সট যোগ করতে পারে বা প্রম্পট ব্লক করতে পারে, কিন্তু কথোপকথনে ইতিমধ্যে থাকা টেক্সটকে তারা ওভাররাইট করতে পারে না।
- ইনলাইন ক্লিনিং সহ স্ল্যাশ কমান্ড ব্যবহার করা – একটি কমান্ড ক্লিনিং স্ক্রিপ্ট চালালেও, র আর্গুমেন্টগুলো কমান্ড লাইনের অংশ হিসেবে থেকে যায় যা মডেল রেকর্ড করে, তাই আপনাকে সেগুলোর জন্যও পেমেন্ট করতে হবে।
আপনার ক্যারেক্টারগুলো মডেলের API এন্ডপয়েন্টে পৌঁছানোর সাথে সাথেই টোকেন মিটার শুরু হয়ে যায়। সেই সময়ের পরে যা কিছু ক্লিনিং করার চেষ্টা করে, তা কেবল অতিরিক্ত খরচ যোগ করে।
ডেভেলপারদের জন্য এর অর্থ কী
বেশিরভাগ AI-সার্ভিস বিলের একটি আইটেম হিসেবে টোকেন প্রাইসিং দেখা যায়। একটি "ক্লিনার" যদি লুকানো টোকেন যোগ করে দেয়, তবে অতিরিক্ত পেমেন্ট করার ফলে আপনার কাঙ্ক্ষিত সাশ্রয় দ্রুত শেষ হয়ে যেতে পারে। টোকেন গণনা সঠিক রাখতে এবং বাজেট অনুমানযোগ্য রাখতে ক্লিনিং ধাপটিকে ক্লায়েন্ট সাইডে নিয়ে যান।
সারকথা: MCP টুলস ডাউনস্ট্রিম পেলোডের জন্য উপযোগী, কিন্তু এগুলো আপনার টাইপ করা প্রম্পটের টোকেন কমাতে পারে না। আপনি যদি Claude Code-এর টোকেন খরচ প্রকৃত অর্থে কমাতে চান, তবে পাঠানোর আগে ক্লিন করুন অথবা ক্লিনিং প্রক্রিয়াকে কেবল সেই কলগুলোর মধ্যে সীমাবদ্ধ রাখুন যা মূল কনটেক্সটে কখনও উপস্থিত হয় না।
