পাঠ ১৫ · ২৮-এর মধ্যে

টোকেন ও প্রম্পট খরচ কীভাবে হিসেব হয়

How tokens and prompt cost are calculated
৮ মিনিট পড়া মধ্যম · Intermediate পাঠ ০১ পড়া থাকা জরুরি সম্পূর্ণ বাংলায়

এই পাঠে যা শিখবেন

  • ইনপুট ও আউটপুট টোকেনের মধ্যে দামের পার্থক্য কেন থাকে
  • একটি একক API কলের খরচ কীভাবে গণনা করা হয়
  • বহু-বার্তার কথোপকথনে খরচ কেন ক্রমান্বয়ে বাড়তে থাকে
  • বাংলা টোকেনাইজেশনের বাস্তব খরচ-প্রভাব এবং এই মডিউলের বাকি অংশে কী আসছে

১ · ইনপুট টোকেন বনাম আউটপুট টোকেন

পাঠ ০১-এ আমরা দেখেছি মডেল টেক্সটকে টোকেনে ভেঙে পড়ে এবং টোকেন-বাই-টোকেন পরবর্তী শব্দ অনুমান করে। বিলিং-এর দৃষ্টিকোণ থেকে এই টোকেনগুলোকে দুই ভাগে ভাগ করা হয় — ইনপুট টোকেন (Input Tokens)Input Tokensআপনি মডেলে যা পাঠান — system prompt, কথোপকথনের ইতিহাস, বর্তমান প্রশ্ন, উদাহরণ, সংযুক্ত ডকুমেন্ট — সবকিছু গণনা হয়। (আপনি মডেলে যা পাঠান) এবং আউটপুট টোকেন (Output Tokens) (মডেল যা ফেরত দেয়)। দুটোই আলাদাভাবে গণনা হয় এবং প্রায় সব প্রোভাইডারেই আলাদা রেটে বিল হয়।

গুরুত্বপূর্ণ প্যাটার্ন · Industry pattern

প্রায় সব প্রধান প্রোভাইডারেই আউটপুট টোকেনের দাম ইনপুট টোকেনের চেয়ে বেশি — সাধারণত কয়েক গুণ বেশি। এর কারণ সহজ — ইনপুট টোকেন মডেল একবারে পড়ে ও প্রসেস করে, কিন্তু আউটপুট টোকেন তৈরি করতে মডেলকে প্রতিটি টোকেনের জন্য পূর্ণ একটি ফরওয়ার্ড-পাস চালাতে হয় (পাঠ ০১-এ বর্ণিত next-token-prediction চক্র মনে করুন) — যা কম্পিউটেশনালি বেশি ব্যয়বহুল। এর মানে দাঁড়ায় — একটি দীর্ঘ, বিস্তারিত আউটপুট চাওয়া একটি দীর্ঘ ইনপুট পাঠানোর চেয়ে সাধারণত বেশি খরচ করে।

২ · একটি API কলের খরচ — সরল হিসাব

একটি একক API কলের মোট খরচ মূলত একটি সরল সূত্রে হিসাব করা যায় —

খরচের সূত্র
মোট খরচ = (ইনপুট টোকেন সংখ্যা × ইনপুট প্রতি-টোকেন রেট)
        + (আউটপুট টোকেন সংখ্যা × আউটপুট প্রতি-টোকেন রেট)

অর্থাৎ যদি একটি প্রম্পটে ১,০০০ ইনপুট টোকেন থাকে এবং মডেল ৫০০ টোকেনের একটি উত্তর তৈরি করে, তাহলে আপনি ১,৫০০ টোকেনের জন্য বিল পাবেন — কিন্তু ইনপুট আর আউটপুট অংশ ভিন্ন রেটে গণনা হবে। এই কারণেই শুধু "কতগুলো শব্দ লিখলাম" ভাবাটা যথেষ্ট নয় — প্রম্পটে কতটা অপ্রয়োজনীয় ইনপুট আছে, এবং মডেলকে কতটা লম্বা আউটপুট তৈরি করতে বলা হচ্ছে — দুটোই খরচের উপর সরাসরি প্রভাব ফেলে।

একটি ব্যবহারিক প্রভাব — যদি আপনার প্রম্পট মডেলকে অপ্রয়োজনীয়ভাবে দীর্ঘ ব্যাখ্যা বা repetitive ফরম্যাটে উত্তর দিতে উৎসাহিত করে (যেমন "বিস্তারিতভাবে প্রতিটি পয়েন্ট ব্যাখ্যা করো" যেখানে একটি সংক্ষিপ্ত উত্তরই যথেষ্ট), তাহলে আপনি আউটপুট টোকেনের বেশি দামি রেটে অপ্রয়োজনীয় খরচ করছেন। আউটপুট ফরম্যাট নিয়ন্ত্রণ (পাঠ ০৯) তাই শুধু গুণমানের বিষয় নয় — সরাসরি খরচ-নিয়ন্ত্রণেরও একটি হাতিয়ার।

৩ · বহু-বার্তার কথোপকথনে খরচ কেন বাড়তে থাকে

এখানেই সবচেয়ে গুরুত্বপূর্ণ এবং প্রায়ই অবহেলিত একটি সত্য আসে। LLM API-গুলো স্টেটলেস — অর্থাৎ মডেলের নিজের কোনো "স্মৃতি" নেই যা এক কল থেকে পরের কলে টিকে থাকে। তাই একটি চলমান কথোপকথন বজায় রাখতে হলে, প্রতিটি নতুন বার্তার সাথে পুরো আগের কথোপকথনের ইতিহাস আবার নতুন করে ইনপুট হিসেবে পাঠাতে হয়।

উদাহরণ · কীভাবে খরচ বাড়ে

ধরুন একটি কথোপকথনের প্রথম বার্তায় ৫০০ টোকেনের একটি system prompt এবং ১০০ টোকেনের প্রশ্ন আছে — মোট ৬০০ ইনপুট টোকেন। মডেল ২০০ টোকেনের একটি উত্তর দেয়। দ্বিতীয় বার্তায় ব্যবহারকারী আরেকটি প্রশ্ন করলে, এবার ইনপুট হবে — সেই একই ৫০০-টোকেন system prompt + প্রথম প্রশ্ন (১০০) + প্রথম উত্তর (২০০) + নতুন প্রশ্ন — অর্থাৎ ইনপুট টোকেন সংখ্যা প্রতিটি নতুন টার্নে ক্রমান্বয়ে বাড়তেই থাকে, যদিও ব্যবহারকারী প্রতিবার শুধু একটি ছোট নতুন বার্তাই টাইপ করছেন।

একটি ৫০-বার্তার দীর্ঘ কথোপকথনে শেষের দিকের প্রতিটি টার্নে পুরো ইতিহাস (কয়েক হাজার টোকেন হতে পারে) বারবার পাঠাতে হচ্ছে — যদিও ব্যবহারকারী শুধু একটি নতুন লাইন টাইপ করেছেন। এই কারণেই দীর্ঘ কথোপকথনের শেষ দিকের বার্তাগুলো শুরুর বার্তাগুলোর চেয়ে অনেক বেশি ব্যয়বহুল হয়ে যায় — একই কাজ করলেও।

এই সমস্যাটাই পরবর্তী পাঠের (পাঠ ১৬ · প্রম্পট ক্যাশিং) মূল প্রেরণা। যেহেতু কথোপকথনের আগের অংশ (system prompt, পুরনো বার্তা) প্রতিবার হুবহু একই থাকে, প্রোভাইডাররা এই অপরিবর্তিত অংশটুকু "ক্যাশ" করে রাখার সুযোগ দেয় — যাতে সেটা প্রতিবার নতুন করে পুরো রেটে প্রসেস করতে না হয়। আমরা দেখব কীভাবে এটি খরচ ৯০% পর্যন্ত কমাতে পারে।

৪ · বাংলা টেক্সট ও টোকেন খরচ — বাংলাদেশি ডেভেলপারদের জন্য একটি বাস্তব প্রভাব

পাঠ ০১-এ আমরা উল্লেখ করেছিলাম যে বেশিরভাগ টোকেনাইজার মূলত ইংরেজি-প্রধান টেক্সটে প্রশিক্ষিত, এবং তাই বাংলার মতো ভাষায় একই বাক্য প্রায়ই বেশি টোকেনে ভেঙে যায়। এখন খরচের সূত্র মাথায় রেখে এটি আবার দেখা যাক — এর সরাসরি অর্থ হলো, একই কাজের জন্য বাংলায় ইনপুট/আউটপুট পাঠালে সমতুল্য ইংরেজি টেক্সটের চেয়ে বেশি টোকেন এবং তাই বেশি খরচ হতে পারে — এমনকি যদি বার্তার প্রকৃত অর্থ ও দৈর্ঘ্য (শব্দ সংখ্যায়) একই রকম মনে হয়।

যেসব বাংলাদেশি প্রতিষ্ঠান একটি বাংলা-ভাষী পণ্য (চ্যাটবট, কাস্টমার সাপোর্ট, শিক্ষামূলক টুল) তৈরি করছে, তাদের জন্য এই টোকেনাইজেশন অসামঞ্জস্য একটি নীরব কিন্তু ক্রমবর্ধমান খরচ হয়ে দাঁড়াতে পারে, বিশেষত হাই-ভলিউম প্রোডাকশন সিস্টেমে যেখানে হাজার হাজার ব্যবহারকারী প্রতিদিন বাংলায় ইন্টারঅ্যাক্ট করছেন। একটি সাধারণ, ব্যবহারিক কৌশল — system prompt ও নির্দেশনার মতো "স্ট্যাটিক" অংশ ইংরেজিতে রেখে শুধু ব্যবহারকারীর প্রকৃত ইনপুট ও প্রত্যাশিত আউটপুট বাংলায় রাখা, যাতে সবচেয়ে বেশি পুনরাবৃত্ত অংশটুকু (যা প্রতি কলে ক্যাশ করা যায়) কম টোকেন-নিবিড় ভাষায় থাকে।

৫ · কেন এই পুরো মডিউলটা গুরুত্বপূর্ণ

এই পাঠ পর্যন্ত এই কোর্সের প্রায় পুরো মনোযোগ ছিল গুণমানের উপর — কীভাবে একটি প্রম্পট লিখলে মডেল সঠিক, নির্ভরযোগ্য উত্তর দেয়। কিন্তু ২০২৬ সালের প্রোডাকশন AI সিস্টেমে গুণমানই একমাত্র বিবেচ্য বিষয় নয় — প্রতিটি টোকেনের একটি বাস্তব মূল্য আছে, এবং স্কেলে (হাজার হাজার বা লক্ষ লক্ষ কল) এই মূল্যই একটি প্রোডাক্টকে লাভজনক বা লোকসানি করে দিতে পারে।

মূল কথা · Key takeaway

প্রম্পট ইঞ্জিনিয়ারিং শুধু "ভালো উত্তর পাওয়ার শিল্প" নয় — এটি সরাসরি একটি কস্ট-ইঞ্জিনিয়ারিং শৃঙ্খলা। একই মানের উত্তর কম টোকেনে, কম বার পুনরাবৃত্ত প্রসেসিং-এ, এবং সঠিক ভাষায় পাওয়া — এটাই এই মডিউলের বাকি পাঠগুলোর (প্রম্পট ক্যাশিং, লিন প্রম্পটিং, মডেল ও effort সঠিকভাবে বেছে নেওয়া) মূল লক্ষ্য। যে ইঞ্জিনিয়ার এই দুটো — গুণমান ও খরচ — একসাথে অপ্টিমাইজ করতে পারেন, তিনিই প্রকৃত অর্থে প্রোডাকশন-রেডি প্রম্পট লেখেন।

ভাবনার প্রশ্ন

প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।

প্র ০১ আউটপুট টোকেন যদি ইনপুট টোকেনের চেয়ে বেশি দামি হয়, তাহলে "সংক্ষিপ্ত উত্তর দাও" জাতীয় একটি নির্দেশনা প্রম্পটে যোগ করা কীভাবে সরাসরি খরচ কমাতে পারে?

যেহেতু আউটপুট টোকেনের রেট বেশি, প্রতিটি অপ্রয়োজনীয় আউটপুট টোকেন (যেমন ভূমিকা, পুনরাবৃত্তি, অতিরিক্ত ব্যাখ্যা) সেই বেশি রেটে বিল হয়। মডেলকে স্পষ্টভাবে সংক্ষিপ্ত ও লক্ষ্য-কেন্দ্রিক উত্তর দিতে নির্দেশ দিলে আউটপুট টোকেনের সংখ্যা কমে, এবং যেহেতু এই টোকেনগুলোই সবচেয়ে বেশি দামি অংশ, এখানে সামান্য হ্রাসও খরচে অনুপাতে বেশি প্রভাব ফেলে।

তবে সতর্কতা — সংক্ষিপ্ততা যেন গুণমানের সাথে আপস না করে; লক্ষ্য হলো অপ্রয়োজনীয় অংশ বাদ দেওয়া, প্রয়োজনীয় তথ্য নয়।

প্র ০২ একটি ৩০-বার্তার কথোপকথনের ২৯তম বার্তা এবং একটি নতুন, একক-বার্তার কথোপকথনের প্রথম বার্তা — একই প্রশ্ন হলেও কোনটির ইনপুট-টোকেন খরচ বেশি হবে, এবং কেন?

২৯তম বার্তার ইনপুট খরচ অনেক বেশি হবে, কারণ এতে সেই একই নতুন প্রশ্নের সাথে আগের ২৮টি বার্তার (এবং system prompt-এর) পুরো ইতিহাস আবার ইনপুট হিসেবে পাঠাতে হচ্ছে। একক-বার্তার কথোপকথনে ইনপুট শুধু system prompt + সেই একটি প্রশ্ন — তাই ইনপুট টোকেন সংখ্যা তুলনামূলক অনেক কম।

এটাই দেখায় কেন দীর্ঘ কথোপকথন পরিচালনাকারী প্রোডাকশন সিস্টেমে ক্যাশিং বা কথোপকথন-সংক্ষিপ্তকরণের মতো কৌশল গুরুত্বপূর্ণ হয়ে ওঠে।

প্র ০৩ একটি বাংলাদেশি স্টার্টআপ যদি তাদের পুরো প্রোডাক্ট (system prompt, নির্দেশনা, উদাহরণ — সব) বাংলায় লেখে, ইংরেজিতে না লিখে, তাহলে স্কেলে এর সম্ভাব্য আর্থিক প্রভাব কী হতে পারে?

যদি বাংলা টেক্সট গড়ে সমতুল্য ইংরেজির চেয়ে বেশি টোকেন খরচ করে, তাহলে system prompt ও নির্দেশনার মতো প্রতিটি কলে পুনরাবৃত্ত অংশ বাংলায় রাখলে প্রতিটি একক কলে সামান্য বাড়তি খরচ হবে। কিন্তু হাজার হাজার বা লক্ষ লক্ষ কলের স্কেলে, এই "সামান্য" পার্থক্যই যোগ হয়ে একটি উল্লেখযোগ্য অতিরিক্ত মাসিক খরচে পরিণত হতে পারে।

ব্যবহারিক সমাধান — যে অংশ প্রতি কলেই পুনরাবৃত্ত হয় (system prompt, নির্দেশনা) তা ইংরেজিতে রেখে, শুধু ব্যবহারকারীর প্রকৃত ইনপুট ও প্রয়োজনীয় আউটপুট বাংলায় রাখা — এতে ব্যবহারকারীর অভিজ্ঞতা সম্পূর্ণ বাংলায় থাকে, কিন্তু সবচেয়ে বেশি পুনরাবৃত্ত অংশটুকু তুলনামূলক কম টোকেন-নিবিড় ভাষায় থাকে।

অনুশীলন

  1. হিসেব করুন: একটি প্রম্পটে ৮০০ ইনপুট টোকেন আছে এবং মডেল ৪০০ টোকেনের একটি উত্তর দেয়। যদি আউটপুট টোকেনের রেট ইনপুট টোকেনের রেটের ৫ গুণ হয়, তাহলে মোট খরচের কত শতাংশ আউটপুট টোকেন থেকে আসছে (আনুমানিক)?

    ইনপুট "ইউনিট" = ৮০০ × ১ = ৮০০। আউটপুট "ইউনিট" = ৪০০ × ৫ = ২,০০০। মোট = ২,৮০০ ইউনিট, যার মধ্যে আউটপুট প্রায় ৭১%। এটি দেখায় কীভাবে আউটপুট টোকেন সংখ্যায় কম হলেও খরচে প্রায়ই সবচেয়ে বড় অংশ দখল করে।

  2. চিহ্নিত করুন: আপনার পরিচিত কোনো একটি চ্যাটবট বা AI ফিচারের কথা ভাবুন যা বহু-বার্তার কথোপকথন সাপোর্ট করে। এই পাঠের ধারণা ব্যবহার করে ব্যাখ্যা করুন কেন একটি দীর্ঘ কথোপকথনে সেই সিস্টেম চালানো একটি ছোট, একক-প্রশ্নের ফিচারের চেয়ে বেশি ব্যয়বহুল হতে পারে।

    যেকোনো বহু-টার্ন চ্যাট ফিচারে প্রতিটি নতুন টার্নে পুরো আগের কথোপকথন আবার ইনপুট হিসেবে পাঠাতে হয় (যদি না বিশেষ ক্যাশিং বা সংক্ষিপ্তকরণ ব্যবহার করা হয়) — তাই টার্ন সংখ্যা বাড়ার সাথে সাথে প্রতি-টার্ন ইনপুট খরচও বাড়তে থাকে, যেখানে একক-প্রশ্নের ফিচারে এই সঞ্চয়ী খরচ কখনো তৈরিই হয় না।

  3. পরিকল্পনা করুন: আপনি যদি একটি বাংলা-ভাষী কাস্টমার সাপোর্ট চ্যাটবট বানান, system prompt ও few-shot উদাহরণগুলো কোন ভাষায় লিখবেন এবং কেন — এই পাঠের যুক্তি ব্যবহার করে একটি সিদ্ধান্ত ও তার কারণ লিখুন।

    একটি খরচ-সচেতন সিদ্ধান্ত হবে system prompt ও few-shot উদাহরণ ইংরেজিতে লেখা (যেহেতু এগুলো প্রতি কলেই পুনরাবৃত্ত হয় এবং ইংরেজি টোকেনাইজেশন তুলনামূলক efficient), কিন্তু মডেলকে স্পষ্টভাবে নির্দেশ দেওয়া যেন সে সবসময় বাংলায় উত্তর দেয় — এতে ব্যবহারকারীর অভিজ্ঞতা সম্পূর্ণ বাংলায় থাকে, কিন্তু পুনরাবৃত্ত অংশের টোকেন খরচ কম থাকে।

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

আগের পাঠ
Claude বনাম GPT বনাম Gemini — তুলনা