কনটেক্সট ইঞ্জিনিয়ারিংয়ের কৌশল
নতুন “প্রম্পট ইঞ্জিনিয়ারিং”
একটা মডেল একবারে সীমিত পরিমাণ পড়তে পারে। সেই জায়গা ভালোভাবে কাজে লাগানোর সাতটা কৌশল শিখবেন: কনটেক্সট বাজেটিং, সামারাইজেশন, ক্যাশিং, মেমরি, কমপ্রেশন, টুল-রেজাল্ট ছোট করা, আর “lost in the middle” সমস্যা এড়ানো।
এই পাতায়
সেকশন ১ / ৭
কনটেক্সট উইন্ডোর বাজেটিং
মডেলের কাজ করার স্মৃতির আকার নির্দিষ্ট। আপনি যে বাইটই বরাদ্দ করেন, সে অন্য সব বাইটের সাথে জায়গার জন্য প্রতিযোগিতা করে। কনটেক্সট ইঞ্জিনিয়ারিং হলো কী কোথায় থাকবে তা ঠিক করার কৌশল — সিস্টেম প্রম্পট, হিস্ট্রি, টুলের সংজ্ঞা, রিট্রিভ করা ডকুমেন্ট, আগের আউটপুট, আর ইউজারের আসল অনুরোধ।
অনুশীলন · ১টি টাস্ক
যেকোনো ফ্রি AI চ্যাট খুলুন: ChatGPT · Claude · Gemini
অনুশীলন কীভাবে করবেন
- নতুন চ্যাট মানে একদম নতুন কথোপকথন, আগের কোনো হিস্ট্রি নেই। ChatGPT, Claude বা Gemini-তে New chat-এ ক্লিক করুন। সাধারণত এটা উপরে বাঁ দিকে থাকে।
- একই চ্যাট মানে: যে চ্যাট খোলা আছে, সেখানেই লিখতে থাকুন। আগে যা পাঠিয়েছেন, AI তা মনে রাখে।
- প্রম্পট ব্যবহার করতে: কপি-তে ক্লিক করুন, চ্যাটের মেসেজ বক্সে ক্লিক করুন, পেস্ট করুন (Ctrl+V, বা ফোনে চেপে ধরে রাখুন), তারপর Enter চাপুন।
- AI-এর উত্তর প্রতিবার একটু আলাদা হয়। আপনার উত্তর উদাহরণের সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখুন।
- শুধু বানানো ডেটা ব্যবহার করুন। নিজের বা অন্যের ব্যক্তিগত তথ্য চ্যাটে পেস্ট করবেন না।
টাস্ক ১
৮,০০০ টোকেনের উইন্ডোতে প্ল্যান মেলান
এটা কেন দরকার
আপনি যখন ডকুমেন্ট সার্চ করে উত্তর দেয় এমন চ্যাট অ্যাপ বানাবেন, তখন AI একসঙ্গে শুধু নির্দিষ্ট পরিমাণ টেক্সট পড়তে পারে। সবকিছু আঁটছে কি না না দেখলে উত্তর মাঝপথে কেটে যায়।
ধাপ ১
নতুন চ্যাটএই প্রম্পটটা কপি করুন, চ্যাটে পেস্ট করে Enter চাপুন। AI সংখ্যাগুলো যোগ করবে।
প্রম্পট একটা chat app-এর context window 8,000 token। নির্দিষ্ট খরচ: - System prompt: 1,500 token - Tool definition: 2,000 token - ব্যবহারকারীর বর্তমান message: 300 token - উত্তরের জন্য আলাদা করে রাখা: 1,000 token টিম আরও যোগ করতে চায়: - Chat history: 2,500 token - Retrieved chunk (search করে পাওয়া document-এর ছোট ছোট অংশ): 6টা chunk, প্রতিটা 700 token কাজ: 1. প্রতিটা item আর মোট সংখ্যা দিয়ে একটা table বানাও। 2. Plan-টা window-তে আঁটে কি না বলো। কত token বেশি বা কম, সেটাও বলো। 3. History 2,500 token-ই থাকলে 700 token-এর কয়টা chunk আঁটে? তোমার হিসাব দেখাও।
আপনি দেখবেন: একটা টেবিল, মোট ১১,৫০০ টোকেন। প্ল্যানটা আঁটে না: ৩,৫০০ টোকেন বেশি। শুধু ১টা চাঙ্ক আঁটে।
উদাহরণ উত্তর
Item | Token System prompt | 1,500 Tool definition | 2,000 বর্তমান message | 300 উত্তরের জন্য রাখা | 1,000 Chat history | 2,500 6টা chunk x 700 | 4,200 মোট | 11,500 Plan-টা আঁটে না। 11,500 - 8,000 = 3,500 token বেশি। Chunk বাদ দিলে মোট 7,300, তাই 700 token খালি থাকে। শুধু 700 token-এর 1টা chunk আঁটে।
আপনার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ২
একই চ্যাটকাগজে ছয়টা সংখ্যা যোগ করুন: ১,৫০০ + ২,০০০ + ৩০০ + ১,০০০ + ২,৫০০ + ৪,২০০। আপনার যোগফল AI-এর মোটের সঙ্গে মেলান।
আপনি দেখবেন: আপনার যোগফল ১১,৫০০। AI-এর মোট অন্য হলে AI ভুল করেছে।
ধাপ ৩
একই চ্যাটএই প্রম্পটটা কপি করুন, পেস্ট করে Enter চাপুন। AI এবার ছোট একটা প্ল্যান বানাবে, যেটা আঁটে।
প্রম্পট এবার 8,000 token-এ আঁটে এমন একটা plan বানাও। নিয়ম: উত্তরের জন্য 1,000 token আলাদা রাখো, 700 token-এর 3টা chunk রাখো, আর এখন শুধু 1,000 token-এর tool definition load করো (বাকিগুলো পরে, দরকার হলে load হবে)। System prompt (1,500) আর বর্তমান message (300) রাখো। History summary করে ছোট করো। একটা নতুন table দাও: সবচেয়ে বড় কত token-এর history আঁটে, আর কত token বাকি থাকে।
আপনি দেখবেন: একটা নতুন টেবিল। সবচেয়ে বড় হিস্ট্রি ২,১০০ টোকেন, আর বাকি থাকে প্রায় ০ টোকেন।
উদাহরণ উত্তর
Item | Token System prompt | 1,500 Tool definition (এখন load হবে) | 1,000 বর্তমান message | 300 উত্তরের জন্য রাখা | 1,000 3টা chunk x 700 | 2,100 Summary করা history | 2,100 মোট | 8,000 সবচেয়ে বড় history 2,100 token। বাকি থাকে: 0 token।
আপনার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ৪
একই চ্যাটনতুন প্ল্যান কাগজে মেলান: ১,৫০০ + ১,০০০ + ৩০০ + ১,০০০ + ২,১০০। তারপর AI-এর দেওয়া হিস্ট্রির সাইজ যোগ করুন। মোট ৮,০০০ বা তার কম হতে হবে।
আপনি দেখবেন: প্রথম যোগফল ৫,৯০০। হিস্ট্রি ২,১০০ হলে মোট ৮,০০০। AI অন্য সাইজ দিলেও মোট ৮,০০০ বা তার কম হতে হবে।
এইমাত্র কী হলো
কনটেক্সট উইন্ডো হলো AI একসঙ্গে সবচেয়ে বেশি যতটুকু টেক্সট পড়তে পারে, আর উত্তরটাকেও এর ভেতরেই আঁটতে হয়। প্রথম প্ল্যানে নির্দিষ্ট অংশগুলো আর ডকুমেন্ট মিলে উইন্ডোর চেয়ে বড় হয়ে গিয়েছিল। ঠিক করতে একসঙ্গে কয়েকটা জিনিস কাটতে হলো: ছোট হিস্ট্রি, কম টুল, কম চাঙ্ক। উত্তরের জন্য সবসময় জায়গা রাখুন, নইলে উত্তর কেটে যায়।
কাজ শেষ, যখন আপনার কাছে প্রথম প্ল্যানের মোট (১১,৫০০) আর একটা নতুন প্ল্যান আছে, যার যোগফল ৮,০০০ বা তার কম।
নিজেকে যাচাই করুনকী কী আঁটবে সেটা ঠিক করার সময় উত্তরের জন্য জায়গা রাখতে হয় কেন?উত্তর দেখুন
উইন্ডোতে ইনপুট আর উত্তর একসঙ্গে থাকে। উত্তরের জন্য জায়গা না রাখলে উত্তর কেটে যায়, আর কেউ আপনাকে সতর্কও করে না।
আরেকটু কঠিন করে দেখুন
প্রথম প্রম্পটে উইন্ডো বদলে ৩২,০০০ টোকেন করে আবার পাঠান। প্ল্যান এখন আঁটে কি? কোন অংশটা আপনি তবুও আগে সীমিত করবেন, আর কেন?
ভিডিও দেখুন · ২টি
Context Engineering for Agents - Lance Martin, LangChain Latent Space
What is Context Engineering? Standarity
কনভার্সেশন সামারাইজেশন আর রোলিং মেমরি
৫০ বার কথা বলা চ্যাটের আকার ১ বারের চ্যাটের ৫০ গুণ। এই টোকেনগুলোর বেশিরভাগই অপ্রয়োজনীয় — শুভেচ্ছা, “একটু বুঝিয়ে বলবেন?”, আধা-শেষ চিন্তা। সামারাইজেশন কাঁচা হিস্ট্রির বদলে সংক্ষেপিত অবস্থা রাখে। এতে খরচ সমানে না বেড়েও মডেলের কথার ধারা ঠিক থাকে।
অনুশীলন · ১টি টাস্ক
যেকোনো ফ্রি AI চ্যাট খুলুন: ChatGPT · Claude · Gemini
অনুশীলন কীভাবে করবেন
- নতুন চ্যাট মানে একদম নতুন কথোপকথন, আগের কোনো হিস্ট্রি নেই। ChatGPT, Claude বা Gemini-তে New chat-এ ক্লিক করুন। সাধারণত এটা উপরে বাঁ দিকে থাকে।
- একই চ্যাট মানে: যে চ্যাট খোলা আছে, সেখানেই লিখতে থাকুন। আগে যা পাঠিয়েছেন, AI তা মনে রাখে।
- প্রম্পট ব্যবহার করতে: কপি-তে ক্লিক করুন, চ্যাটের মেসেজ বক্সে ক্লিক করুন, পেস্ট করুন (Ctrl+V, বা ফোনে চেপে ধরে রাখুন), তারপর Enter চাপুন।
- AI-এর উত্তর প্রতিবার একটু আলাদা হয়। আপনার উত্তর উদাহরণের সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখুন।
- শুধু বানানো ডেটা ব্যবহার করুন। নিজের বা অন্যের ব্যক্তিগত তথ্য চ্যাটে পেস্ট করবেন না।
টাস্ক ১
অস্পষ্ট আর স্ট্রাকচার্ড সারসংক্ষেপের তুলনা করুন
এটা কেন দরকার
আপনি যখন লম্বা চ্যাটের চ্যাটবট বানাবেন, তখন পুরনো মেসেজ ছোট একটা সারসংক্ষেপে আনতে হবে। খারাপ সারসংক্ষেপে বাজেট বা ফোনের সময়ের মতো জিনিস হারিয়ে যেতে পারে, আর তখন বট ভুল সাহায্য দেয়।
ধাপ ১
নতুন চ্যাটএই প্রম্পটটা কপি করুন, চ্যাটে পেস্ট করে Enter চাপুন। সারসংক্ষেপটা একটা নোটে কপি করে রাখুন।
প্রম্পট এই কথোপকথনটা 2টা বাক্যে summary করো। User: আমি আমার ছেলের জন্য একটা laptop কিনতে চাই। সে চট্টগ্রামে computer science পড়ে। Assistant: আপনার budget কত? User: সর্বোচ্চ 85,000 tk। আমি bKash-এ টাকা দেব, তাই দোকানকে bKash নিতে হবে। Assistant: নতুন laptop চান, না পুরনো? User: শুধু নতুন। পুরনোগুলো নিয়ে আগে সমস্যা হয়েছে। Assistant: বড় screen লাগবে? User: না। সে রোজ সঙ্গে নিয়ে যায়। 1.6 kg-র চেয়ে হালকা চাই। Assistant: আমি 16 GB RAM আর 512 GB SSD সুপারিশ করি। User: ঠিক আছে, 16 GB RAM। 512 GB নিয়ে আমি নিশ্চিত না। পরে আবার জিজ্ঞেস করবেন। Assistant: ঠিক আছে। আমি আগ্রাবাদের দোকানগুলো দেখে আপনাকে একটা list পাঠাব। User: ভালো। শুক্রবার বিকাল 5টার পরে আমাকে ফোন করবেন। আমার নম্বর 01700-000000।
আপনি দেখবেন: ২ বাক্যের একটা সারসংক্ষেপ। সাধারণত মূল লক্ষ্য থাকে, কিন্তু কিছু সঠিক তথ্য প্রায়ই বাদ পড়ে।
উদাহরণ উত্তর
একজন অভিভাবক চট্টগ্রামে computer science পড়া ছেলের জন্য 16 GB RAM-এর একটা নতুন laptop কিনতে চান। Assistant আগ্রাবাদের দোকান দেখে list পাঠাবে, আর অভিভাবক শুক্রবার ফোন করতে বলেছেন।
আপনার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ২
নতুন চ্যাটএই প্রম্পটটা কপি করুন, নতুন চ্যাটে পেস্ট করে Enter চাপুন। সারসংক্ষেপটা একটা নোটে কপি করে রাখুন। JSON-এর কী গুলো ইংরেজিতেই থাকবে।
প্রম্পট এই কথোপকথনটা JSON আকারে summary করো। ঠিক এই key গুলো ব্যবহার করো: user_goal (এক বাক্য), decisions_made (list), open_questions (list), key_facts_learned (list), entities (নাম, id, সংখ্যার list), user_preferences (list), tool_results_to_remember (list)। সঠিক সংখ্যা রাখো। নতুন কোনো তথ্য যোগ কোরো না। User: আমি আমার ছেলের জন্য একটা laptop কিনতে চাই। সে চট্টগ্রামে computer science পড়ে। Assistant: আপনার budget কত? User: সর্বোচ্চ 85,000 tk। আমি bKash-এ টাকা দেব, তাই দোকানকে bKash নিতে হবে। Assistant: নতুন laptop চান, না পুরনো? User: শুধু নতুন। পুরনোগুলো নিয়ে আগে সমস্যা হয়েছে। Assistant: বড় screen লাগবে? User: না। সে রোজ সঙ্গে নিয়ে যায়। 1.6 kg-র চেয়ে হালকা চাই। Assistant: আমি 16 GB RAM আর 512 GB SSD সুপারিশ করি। User: ঠিক আছে, 16 GB RAM। 512 GB নিয়ে আমি নিশ্চিত না। পরে আবার জিজ্ঞেস করবেন। Assistant: ঠিক আছে। আমি আগ্রাবাদের দোকানগুলো দেখে আপনাকে একটা list পাঠাব। User: ভালো। শুক্রবার বিকাল 5টার পরে আমাকে ফোন করবেন। আমার নম্বর 01700-000000।
আপনি দেখবেন: ৭টা কী-সহ একটা JSON টেক্সট। ৮৫,০০০ tk আর ১.৬ kg-এর মতো সংখ্যা তালিকাগুলোতে থাকে।
উদাহরণ উত্তর
{ "user_goal": "চট্টগ্রামে computer science পড়া ছেলের জন্য একটা laptop কেনা", "decisions_made": ["শুধু নতুন laptop", "16 GB RAM"], "open_questions": ["512 GB SSD নেওয়া হবে কি না"], "key_facts_learned": ["Budget সর্বোচ্চ 85,000 tk", "bKash-এ টাকা দেবে", "1.6 kg-র চেয়ে হালকা"], "entities": ["আগ্রাবাদ", "01700-000000"], "user_preferences": ["শুধু নতুন", "হালকা laptop, রোজ সঙ্গে নেয়", "শুক্রবার বিকাল 5টার পরে ফোন"], "tool_results_to_remember": [] }আপনার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ৩
একই চ্যাটএই ৬টা তথ্যের কয়টা প্রতিটা সারসংক্ষেপে আছে, গুনুন: ৮৫,০০০ tk, bKash, শুধু নতুন, ১.৬ kg-র কম, ১৬ GB RAM, শুক্রবার বিকাল ৫টার পরে ফোন।
আপনি দেখবেন: ২ বাক্যের সারসংক্ষেপে কম তথ্য থাকে, প্রায়ই মাত্র ২ বা ৩টা। JSON সারসংক্ষেপে বেশিরভাগ থাকে, প্রায়ই ৬টাই।
ধাপ ৪
একই চ্যাটযে প্রশ্নের উত্তর ব্যবহারকারী এখনো দেয়নি, সেটা খুঁজুন (SSD-র সাইজ)। দেখুন প্রতিটা সারসংক্ষেপে সেটা আছে কি না।
আপনি দেখবেন: JSON সারসংক্ষেপে সেটা
open_questions-এ থাকে। ছোট সারসংক্ষেপে প্রায়ই সেটা বাদ পড়ে।
এইমাত্র কী হলো
সারসংক্ষেপ হলো একটা লসি কপি: টেক্সট ছোট করতে AI কিছু তথ্য ফেলে দেয়। ২ বাক্যে-র মতো অস্পষ্ট অনুরোধে সঠিক সংখ্যা সবার আগে হারায়। নির্দিষ্ট স্লটের তালিকা (JSON-এর কী গুলো) থাকলে AI প্রতিটা ধরনের তথ্যের জন্য জায়গা রাখে। লম্বা সারসংক্ষেপে টোকেন বেশি লাগে, কিন্তু হারায় কম।
কাজ শেষ, যখন আপনার কাছে ২টা সারসংক্ষেপ আছে, আর প্রতিটায় ৬টা তথ্যের কয়টা আছে আপনি গুনেছেন।
নিজেকে যাচাই করুনবাজেটের মতো সঠিক সংখ্যার জন্য সারসংক্ষেপ ভরসার উৎস না কেন?উত্তর দেখুন
সারসংক্ষেপ একটা লসি কপি। সঠিক সংখ্যা, সিদ্ধান্ত আর উদ্ধৃতি সবার আগে হারায়। সারসংক্ষেপকে পথ দেখানোর জন্য ব্যবহার করুন, আর জরুরি তথ্য নির্দিষ্ট স্লটে বা আসল চ্যাট লগে রাখুন।
আরেকটু কঠিন করে দেখুন
চ্যাটে আরও ৪টা টার্ন যোগ করুন, যেখানে বাজেট বদলে ৯০,০০০ tk হয়। আবার JSON সারসংক্ষেপ বানান। নতুন সংখ্যাটা কি আছে, পুরনোটা নেই?
ভিডিও দেখুন · ৩টি
Context Management in Claude Code Claude
Conversation Summary Memory (4.4) Jeff Heaton
Memory in LangChain | Deep dive (python) Eden Marco
প্রম্পট ক্যাশিংয়ের কৌশল
ফ্রন্টিয়ার প্রোভাইডাররা আপনার প্রম্পটের শুরুর অংশ ক্যাশ করতে দেয়: রিকোয়েস্টের শুরুতে একই টোকেন থাকলে খরচ অনেক কম আর গতি বেশি। যে অ্যাপের সিস্টেম প্রম্পট স্থির আর রিট্রিভাল অংশ লম্বা, সেখানে ভালোভাবে করলে ইনপুটের বিলের ৮০–৯০% কমে যায়।
অনুশীলন · ১টি টাস্ক
যেকোনো ফ্রি AI চ্যাট খুলুন: ChatGPT · Claude · Gemini
অনুশীলন কীভাবে করবেন
- নতুন চ্যাট মানে একদম নতুন কথোপকথন, আগের কোনো হিস্ট্রি নেই। ChatGPT, Claude বা Gemini-তে New chat-এ ক্লিক করুন। সাধারণত এটা উপরে বাঁ দিকে থাকে।
- একই চ্যাট মানে: যে চ্যাট খোলা আছে, সেখানেই লিখতে থাকুন। আগে যা পাঠিয়েছেন, AI তা মনে রাখে।
- প্রম্পট ব্যবহার করতে: কপি-তে ক্লিক করুন, চ্যাটের মেসেজ বক্সে ক্লিক করুন, পেস্ট করুন (Ctrl+V, বা ফোনে চেপে ধরে রাখুন), তারপর Enter চাপুন।
- AI-এর উত্তর প্রতিবার একটু আলাদা হয়। আপনার উত্তর উদাহরণের সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখুন।
- শুধু বানানো ডেটা ব্যবহার করুন। নিজের বা অন্যের ব্যক্তিগত তথ্য চ্যাটে পেস্ট করবেন না।
টাস্ক ১
কোন প্রম্পট লেআউটে খরচ কম, দেখুন
এটা কেন দরকার
আপনার অ্যাপ যদি প্রতিটা কলে একই লম্বা সিস্টেম প্রম্পট পাঠায়, প্রোভাইডার সেটা ক্যাশ করে কম দাম নিতে পারে। যে লাইন বদলায় সেটা উপরে রাখলে এই সাশ্রয় হারায়, আর আপনি পুরো দাম দেন।
ধাপ ১
নতুন চ্যাটএই প্রম্পটটা কপি করুন, চ্যাটে পেস্ট করে Enter চাপুন। AI দুটো লেআউটের খরচ বের করবে।
প্রম্পট Prefix caching-এর নিয়ম: cache শুধু prompt-এর উপর থেকে একই রকম লাইনের সবচেয়ে লম্বা ধারাকে ঢাকে। যে লাইনটা প্রথম আলাদা হয়, আর তার পরের সব লাইন, cache miss (পুরো দাম)। Cache করা token-এর দাম 0.1 unit। Cache না করা token-এর দাম 1 unit। Layout X। Request 1 আর Request 2-এর লাইন একই, শুধু CHANGES লেখা লাইনগুলো বদলায়: Line 1: বর্তমান সময় (15 token) - প্রতি request-এ CHANGES Line 2: System rules (1,800 token) Line 3: Tool schemas (2,200 token) Line 4: ব্যবহারকারীর প্রশ্ন (100 token) - প্রতি request-এ CHANGES Layout Y। একই নিয়ম: Line 1: System rules (1,800 token) Line 2: Tool schemas (2,200 token) Line 3: বর্তমান সময় (15 token) - প্রতি request-এ CHANGES Line 4: ব্যবহারকারীর প্রশ্ন (100 token) - প্রতি request-এ CHANGES প্রতিটা layout-এর Request 2-এর জন্য একটা table দাও: cached token, uncached token, আর unit-এ খরচ। তারপর বলো কোন layout সস্তা, আর প্রায় কত শতাংশ।
আপনি দেখবেন: Layout X: ০ ক্যাশ করা, ৪,১১৫ ক্যাশ-না-করা, খরচ ৪,১১৫ ইউনিট। Layout Y: ৪,০০০ ক্যাশ করা, ১১৫ ক্যাশ-না-করা, খরচ ৫১৫ ইউনিট। Layout Y প্রায় ৮৭% সস্তা।
উদাহরণ উত্তর
Layout X: cached 0, uncached 4,115 (15 + 1,800 + 2,200 + 100)। খরচ: 4,115 unit। Layout Y: cached 4,000 (1,800 + 2,200), uncached 115 (15 + 100)। খরচ: 4,000 x 0.1 + 115 = 400 + 115 = 515 unit। Layout Y সস্তা। এতে 4,115 - 515 = 3,600 unit বাঁচে, যা প্রায় 87.5%।
আপনার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ২
একই চ্যাটএই প্রম্পটটা কপি করুন, পেস্ট করে Enter চাপুন। দেখুন একটা ছোট টাইপো ঠিক করলে কী হয়।
প্রম্পট এখন একজন developer Layout Y-এর System rules-এর ভেতরে একটা typo ঠিক করল। এটা Request 1 আর Request 2-এর মাঝখানে হয়, আর 1টা অক্ষর বদলায়। এখন Request 2-এর cached token, uncached token আর খরচ কত? 2 বাক্যে ব্যাখ্যা করো।
আপনি দেখবেন: ০ ক্যাশ করা টোকেন, ৪,১১৫ ক্যাশ-না-করা টোকেন, আর খরচ ৪,১১৫ ইউনিট। বদলে যাওয়া লাইন থেকে নিচের সবটাই ক্যাশ হারায়।
উদাহরণ উত্তর
Cached token: 0। Uncached token: 4,115। খরচ: 4,115 unit। Typo-টা System rules-এ, যা প্রথম লাইন। তাই Request 2 আর cache করা শুরুর অংশের সঙ্গে মেলে না, আর তার পরের সব লাইনও miss হয়।
আপনার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ৩
একই চ্যাটকাগজে Layout Y-এর খরচ মেলান: ৪,০০০ x ০.১, তারপর ১১৫ x ১ যোগ করুন। AI-এর খরচের সঙ্গে মেলান।
আপনি দেখবেন: ৪০০ + ১১৫ = ৫১৫ ইউনিট।
এইমাত্র কী হলো
প্রম্পট ক্যাশ এমন প্রম্পটের শুরুর অংশ মনে রাখে, যেটা প্রোভাইডার আগে পড়ে ফেলেছে। তাই একই শুরু পরেরবার সস্তা হয় (এখানে 1-এর বদলে ০.১)। ক্যাশ উপর থেকে মেলায়, আর যে লাইনটা প্রথম বদলেছে সেখানে থেমে যায়। Layout X-এ সময় ছিল লাইন 1-এ, তাই কিছুই মেলেনি। Layout Y-এ যে লাইন বদলায় সেগুলো শেষে ছিল, তাই ৪,০০০ টোকেন মিলেছে।
কাজ শেষ, যখন আপনার কাছে Request 2-এর খরচ আছে: Layout X-এ (৪,১১৫), Layout Y-এ (৫১৫), আর টাইপোর পরে Layout Y-এ (৪,১১৫)।
নিজেকে যাচাই করুনক্যাশিং ব্যবহার করা প্রম্পটে যে অংশ বদলায় সেটা কোথায় রাখতে হয়, আর কেন?উত্তর দেখুন
যে অংশ বদলায় না (সিস্টেম প্রম্পট, টুল) সেটা আগে রাখুন, আর যে অংশ বদলায় (সময়, ইউজার মেসেজ) সেটা শেষে। ক্যাশ শুধু হুবহু একই শুরুর অংশ রাখে, আর ১টা অক্ষর বদলালে তার পরের সবকিছুর ক্যাশ নষ্ট হয়।
আরেকটু কঠিন করে দেখুন
AI-কে Layout Y নতুন করে লিখতে বলুন, এমন অ্যাপের জন্য যেটা প্রতিটা কলে নতুন খবরের আর্টিকেলও লোড করে। আর্টিকেলগুলো কোথায় যাবে, আর প্রোভাইডারের কি সেগুলো ক্যাশ করা উচিত?
ভিডিও দেখুন · ৩টি
হায়ারার্কিক্যাল মেমরি (স্তরভাগ করা স্মৃতি)
মানুষের স্মৃতি একরকম নয় — ওয়ার্কিং মেমরি, শর্ট-টার্ম, এপিসোডিক, আর প্রসিডিউরাল স্তর আছে। যে AI সিস্টেম দীর্ঘ সময়ের কাজ করতে চায়, তারও এমন স্তরভাগ দরকার। হায়ারার্কিক্যাল মেমরি মানে বিভিন্ন ধরনের অবস্থা বিভিন্ন সময়সীমায় রাখা, আর প্রতিটি স্তরে সারসংক্ষেপ করা।
অনুশীলন · ১টি টাস্ক
যেকোনো ফ্রি AI চ্যাট খুলুন: ChatGPT · Claude · Gemini
অনুশীলন কীভাবে করবেন
- নতুন চ্যাট মানে একদম নতুন কথোপকথন, আগের কোনো হিস্ট্রি নেই। ChatGPT, Claude বা Gemini-তে New chat-এ ক্লিক করুন। সাধারণত এটা উপরে বাঁ দিকে থাকে।
- একই চ্যাট মানে: যে চ্যাট খোলা আছে, সেখানেই লিখতে থাকুন। আগে যা পাঠিয়েছেন, AI তা মনে রাখে।
- প্রম্পট ব্যবহার করতে: কপি-তে ক্লিক করুন, চ্যাটের মেসেজ বক্সে ক্লিক করুন, পেস্ট করুন (Ctrl+V, বা ফোনে চেপে ধরে রাখুন), তারপর Enter চাপুন।
- AI-এর উত্তর প্রতিবার একটু আলাদা হয়। আপনার উত্তর উদাহরণের সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখুন।
- শুধু বানানো ডেটা ব্যবহার করুন। নিজের বা অন্যের ব্যক্তিগত তথ্য চ্যাটে পেস্ট করবেন না।
টাস্ক ১
৮টা মেমরিকে লেয়ার অনুযায়ী সাজান
এটা কেন দরকার
আপনি যখন এমন একটা সাপোর্ট এজেন্ট বানাবেন যে একই ইউজারের সঙ্গে সপ্তাহের পর সপ্তাহ কথা বলে, তখন তাকে জানতে হবে কী প্রম্পটে থাকবে, কী স্টোর হবে, আর কী পরে আনা হবে। আর পুরনো কোনো মেমরি আর সত্য না থাকলে সেটাও ধরতে হবে।
ধাপ ১
নতুন চ্যাটএই প্রম্পটটা কপি করুন, চ্যাটে পেস্ট করে Enter চাপুন। AI ৮টা আইটেমকে মেমরি লেয়ারে সাজাবে।
প্রম্পট একটা AI support agent-এর পাঁচটা memory-র জায়গা আছে: - Working memory: বর্তমান prompt - Short-term: এই chat session, session store-এ রাখা - Long-term: user-এর তথ্য, database-এ রাখা - Episodic: আগের session থেকে পাওয়া শিক্ষা - External: document আর database, শুধু দরকারের সময় পড়া হয় নিচের প্রতিটা item-এর জন্য একটা জায়গা বেছে নাও, কোথায় store হয় বলো, আর কখন update হয় বলো: 1. ব্যবহারকারীর বর্তমান প্রশ্ন: "আমার router-এর আলো লাল।" 2. এই chat-এর শেষ ৬টা turn। 3. ব্যবহারকারী বাংলায় উত্তর পছন্দ করে। 4. PDF আকারে ৪০ পৃষ্ঠার একটা router manual। 5. গত সপ্তাহের শিক্ষা: "ছবিসহ ধাপে ধাপে উত্তর দিলে এই user-এর সমস্যা তাড়াতাড়ি মিটেছে।" 6. ২ turn আগের একটা tool call-এর ফল: line status = up। 7. ব্যবহারকারীর নাম আর শহর। 8. কোম্পানির দামের database। উত্তর একটা table-এ দাও। যে item দুই জায়গায় মানায়, সেটা চিহ্নিত করো।
আপনি দেখবেন: ৮টা সারির একটা টেবিল। যেমন, রাউটার ম্যানুয়াল যায় External-এ, আর লাল আলোর প্রশ্ন যায় Working memory-তে। কিছু সারি, যেমন টুলের ফল, দুই জায়গায় মানাতে পারে।
উদাহরণ উত্তর
1. বর্তমান প্রশ্ন: Working memory। Prompt-এ। প্রতি call-এ। 2. শেষ ৬ turn: Short-term। Session store। প্রতি turn-এ। 3. বাংলা পছন্দ: Long-term। User database। user বললে। 4. ৪০ পৃষ্ঠার manual: External। Document index। দরকারে পড়া হয়। 5. গত সপ্তাহের শিক্ষা: Episodic। Memory store। session শেষে। 6. ২ turn আগের tool-এর ফল: Short-term (Working-ও হতে পারে)। Session store। প্রতি turn-এ। 7. নাম আর শহর: Long-term। User database। প্রথম জানার সময়। 8. দামের database: External। কোম্পানির database। দরকারে পড়া হয়।
আপনার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ২
নতুন চ্যাটএই প্রম্পটটা কপি করুন, নতুন চ্যাটে পেস্ট করে Enter চাপুন। AI পুরনো মেমরি ঠিক করবে।
প্রম্পট তুমি একটা রান্নার assistant-এর memory manager। আজকের তারিখ 2026-06-01। Store করা memory: M1 (সংরক্ষণ 2025-01-10, confidence 0.9): ব্যবহারকারী নিরামিষভোজী। M2 (সংরক্ষণ 2025-02-02, confidence 0.9): ব্যবহারকারী সিলেটে থাকে। ব্যবহারকারীর নতুন message: "কাল আমার বন্ধুদের জন্য একটা রাতের খাবারের plan করো। আমি গত মাসে মাছ খাওয়া শুরু করেছি, আর এপ্রিলে ঢাকায় চলে এসেছি।" M1 আর M2-এর জন্য বেছে নাও: রাখো, update করো, নাকি user-কে confirm করতে বলো। কারণ লেখো। তারপর তারিখ আর confidence-সহ নতুন memory record লেখো।
আপনি দেখবেন: M2 ঢাকায় আপডেট হয়। M1 আপডেট হয় (এখন সে মাছ খায়), অথবা AI কনফার্ম করতে বলে। নতুন রেকর্ডে তারিখ আর কনফিডেন্স থাকে।
উদাহরণ উত্তর
M1: Update করো। ব্যবহারকারী এখন মাছ খায়, তাই "নিরামিষভোজী" পুরোপুরি সত্য না। মাংস এখনো এড়ায় কি না, AI জিজ্ঞেস করতে পারে। M2: Update করো। ব্যবহারকারী এপ্রিল 2026-এ ঢাকায় এসেছে, তাই সিলেট এখন পুরনো। নতুন record: N1 (সংরক্ষণ 2026-06-01, confidence 0.8): ব্যবহারকারী মে 2026 থেকে মাছ খায়, কিন্তু মাংস এখনো এড়াতে পারে। N2 (সংরক্ষণ 2026-06-01, confidence 0.9): ব্যবহারকারী এপ্রিল 2026 থেকে ঢাকায় থাকে।
আপনার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ৩
একই চ্যাটনতুন মেমরি রেকর্ডগুলো দেখুন। প্রতিটায় একটা তারিখ আর একটা কনফিডেন্স সংখ্যা আছে কি না, মিলিয়ে নিন।
আপনি দেখবেন: প্রতিটা রেকর্ডে 2026-06-01-এর মতো তারিখ আর ০.৯-এর মতো সংখ্যা থাকে। কোনোটায় না থাকলে AI-কে যোগ করতে বলুন।
এইমাত্র কী হলো
প্রতিটা ধরনের তথ্যের নিজের জায়গা আছে। প্রম্পট (ওয়ার্কিং মেমরি) ছোট, কিন্তু AI সবসময় সেটা পড়ে। ম্যানুয়ালের মতো বড় জিনিস বাইরে থাকে, আর শুধু দরকারে আনা হয়। স্টোর করা মেমরি ভুল হয়ে যেতে পারে, যেমন এখানে M2। তাই প্রতিটা মেমরির একটা টাইমস্ট্যাম্প (কবে সেভ হয়েছে) আর একটা কনফিডেন্স (কতটা নিশ্চিত, তার একটা সংখ্যা) দরকার।
কাজ শেষ, যখন আপনার কাছে ৮টা আইটেমের সাজানো টেবিল আর ২টা নতুন মেমরি রেকর্ড আছে, প্রতিটায় তারিখ আর কনফিডেন্স আছে।
নিজেকে যাচাই করুনস্টোর করা মেমরির কেন তারিখ আর কনফিডেন্স সংখ্যা লাগে?উত্তর দেখুন
পুরনো সেশনের কোনো তথ্য ইউজার নতুন কিছু বললে ভুল হয়ে যেতে পারে। তারিখ আর কনফিডেন্স থাকলে সিস্টেম নতুন তথ্যে বেশি ভরসা করতে পারে, বা পুরনোটা ইউজারকে কনফার্ম করতে বলতে পারে।
আরেকটু কঠিন করে দেখুন
দ্বিতীয় প্রম্পট আবার নতুন চ্যাটে পাঠান, কিন্তু নতুন মেসেজ বদলে লিখুন: আমি এখন অন্যভাবে খাই। AI কি প্রশ্ন করে, নাকি আন্দাজ করে?
ভিডিও দেখুন · ২টি
কনটেক্সট কমপ্রেশন আর প্রুনিং
সামারাইজেশন যখন বেশি তথ্য হারায় আর হাতে সময়ও নেই, তখন কমপ্রেশন বাড়তি পুনরাবৃত্তি সরায় আর প্রুনিং অপ্রাসঙ্গিক টোকেন ফেলে দেয়। লক্ষ্য: তথ্যের ঘনত্ব একই থাকবে, টোকেন কমবে।
অনুশীলন · ১টি টাস্ক
যেকোনো ফ্রি AI চ্যাট খুলুন: ChatGPT · Claude · Gemini
অনুশীলন কীভাবে করবেন
- নতুন চ্যাট মানে একদম নতুন কথোপকথন, আগের কোনো হিস্ট্রি নেই। ChatGPT, Claude বা Gemini-তে New chat-এ ক্লিক করুন। সাধারণত এটা উপরে বাঁ দিকে থাকে।
- একই চ্যাট মানে: যে চ্যাট খোলা আছে, সেখানেই লিখতে থাকুন। আগে যা পাঠিয়েছেন, AI তা মনে রাখে।
- প্রম্পট ব্যবহার করতে: কপি-তে ক্লিক করুন, চ্যাটের মেসেজ বক্সে ক্লিক করুন, পেস্ট করুন (Ctrl+V, বা ফোনে চেপে ধরে রাখুন), তারপর Enter চাপুন।
- AI-এর উত্তর প্রতিবার একটু আলাদা হয়। আপনার উত্তর উদাহরণের সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখুন।
- শুধু বানানো ডেটা ব্যবহার করুন। নিজের বা অন্যের ব্যক্তিগত তথ্য চ্যাটে পেস্ট করবেন না।
টাস্ক ১
চাঙ্ক বাদ দিন, তারপর প্যারাগ্রাফ ছোট করুন
এটা কেন দরকার
আপনার RAG অ্যাপ যখন একটা প্রশ্নের জন্য ২০টা টেক্সটের টুকরো পায়, তখন অনেকগুলো পুনরাবৃত্তি বা অপ্রাসঙ্গিক হয়। সব পাঠালে কাজে না লাগা টোকেনের দাম দিতে হয়, আর উত্তরও খারাপ হতে পারে।
ধাপ ১
নতুন চ্যাটএই প্রম্পটটা কপি করুন, চ্যাটে পেস্ট করে Enter চাপুন। AI চাঙ্কগুলোতে (টেক্সটের টুকরো) স্কোর দেবে আর বাছাই করবে।
প্রম্পট প্রশ্ন: ঢাকায় standard delivery-তে কত সময় লাগে? পাওয়া chunk গুলো: C1: ঢাকায় standard delivery-তে 2 কার্যদিবস লাগে। বেলা 12:00-এর আগে order করলে express delivery একই দিনে পৌঁছায়। C2: ঢাকা শহরের ভেতরে standard delivery-তে 2 কার্যদিবস লাগে। C3: আমাদের অফিস শুক্রবার আর সরকারি ছুটির দিনে বন্ধ থাকে। C4: ঢাকার বাইরে delivery-তে 4 থেকে 6 কার্যদিবস লাগে। C5: কোম্পানি 2014 সালে শুরু হয়েছে আর এতে 120 জন কর্মী আছে। C6: বাক্স সিল করা থাকলে 7 দিনের মধ্যে return নেওয়া হয়। কাজ: 1. প্রতিটা chunk-কে 0 থেকে 10 পর্যন্ত একটা relevance score দাও। 2. যেসব chunk একই কথা বলে, সেগুলো খোঁজো। তাদের মধ্যে শুধু সেরাটা রাখো। 3. Prompt-এ মাত্র 2টা chunk-এর জায়গা আছে। যেগুলো বাকি আছে, তার মধ্যে সেরা 2টা বেছে নাও। 4. শুধু তোমার বাছা 2টা chunk ব্যবহার করে প্রশ্নের উত্তর দাও।
আপনি দেখবেন: প্রতিটা চাঙ্কের স্কোর। C1 আর C2 বেশি স্কোর পায়, আর শুধু একটা রাখা হয়। C5 আর C6 পায় ০ বা ১। উত্তর হলো ২ কার্যদিবস।
উদাহরণ উত্তর
Score: C1 = 10, C2 = 9, C3 = 1, C4 = 3, C5 = 0, C6 = 0। C2 হলো C1-এর পুনরাবৃত্তি, তাই C2 বাদ দিলাম। বাছা chunk: C1 আর C4। উত্তর: ঢাকায় standard delivery-তে 2 কার্যদিবস লাগে।
আপনার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ২
একই চ্যাটAI-এর কাজ মিলিয়ে দেখুন। C1 আর C2-এর একটা কি বাদ গেছে? C5 আর C6 কি কম স্কোর পেয়েছে?
আপনি দেখবেন: দুটোরই উত্তর হ্যাঁ। AI C1 বা C2 যেকোনো একটা রাখতে পারে, দুটোই ঠিক, কারণ দুটো একই কথা বলে।
ধাপ ৩
নতুন চ্যাটএই প্রম্পটটা কপি করুন, নতুন চ্যাটে পেস্ট করে Enter চাপুন। AI প্যারাগ্রাফটা ছোট করবে।
প্রম্পট নিচের paragraph-টা অর্ধেকের চেয়েও ছোট করো। কম তথ্যের শব্দ বাদ দাও। প্রতিটা সংখ্যা, প্রতিটা নাম আর "না"-এর মতো প্রতিটা নেতিবাচক কথা রাখো। তারপর শুধু তোমার ছোট text ব্যবহার করে প্রশ্নের উত্তর দাও। Paragraph: আপনার order-এর জন্য ধন্যবাদ। আমরা আপনাকে জানাতে চাই যে Basic plan-এর দাম মাসে 500 tk, আর Pro plan-এর দাম মাসে 1,200 tk। আপনি যেকোনো সময় Pro plan বাতিল করতে পারেন, কিন্তু যে মাস শুরু হয়ে গেছে তার জন্য আমরা টাকা ফেরত দিই না। আপনি পুরো এক বছরের টাকা একসঙ্গে দিলে 2 মাস বিনা মূল্যে পাবেন। প্রশ্ন: Pro plan-এর পুরো এক বছরের দাম কত, আর মাসের মাঝখানে কি টাকা ফেরত পাওয়া যায়?
আপনি দেখবেন: সব সংখ্যাসহ একটা ছোট টেক্সট। তারপর উত্তর: Pro-র এক বছরের জন্য ১২,০০০ tk, আর শুরু হয়ে যাওয়া মাসের টাকা ফেরত নেই।
উদাহরণ উত্তর
ছোট text: Basic 500 tk/মাস। Pro 1,200 tk/মাস। Pro যেকোনো সময় বাতিল, শুরু হওয়া মাসের টাকা ফেরত নেই। 1 বছর একসঙ্গে দিলে 2 মাস বিনা মূল্যে। উত্তর: Pro-র পুরো এক বছরের দাম 10 x 1,200 = 12,000 tk। না, মাসের মাঝখানে টাকা ফেরত পাওয়া যায় না।
আপনার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ৪
একই চ্যাটছোট টেক্সট মিলিয়ে দেখুন: ৫০০, ১,২০০, "২ মাস বিনা মূল্যে" আর "ফেরত নেই" আছে কি? আরও হিসাব করুন: ১০ মাস x ১,২০০ tk।
আপনি দেখবেন: সবগুলো আছে। ১০ x ১,২০০ = ১২,০০০ tk।
এইমাত্র কী হলো
প্রুনিং মানে যে চাঙ্ক কাজে লাগে না, তাকে পুরোটা বাদ দেওয়া, যেমন পুনরাবৃত্তি (C2) বা অপ্রাসঙ্গিক চাঙ্ক (C5)। কমপ্রেশন মানে সব অংশ রেখে বাড়তি শব্দ কেটে টেক্সট ছোট করা। দুটোতেই টোকেন বাঁচে। দুটোতেই সংখ্যা আর "না"-এর মতো শব্দ রাখতে হয়, নইলে উত্তর ভুল হয়ে যায়।
কাজ শেষ, যখন আপনার কাছে রাখা আর বাদ দেওয়া চাঙ্কের তালিকা আছে, আর একটা ছোট প্যারাগ্রাফ আছে, যেটায় সব সংখ্যা আর "ফেরত নেই" নিয়মটা এখনো আছে।
নিজেকে যাচাই করুনপ্রুনিং আর কমপ্রেশনের পার্থক্য কী?উত্তর দেখুন
প্রুনিং অপ্রাসঙ্গিক বা পুনরাবৃত্ত অংশ পুরোটা বাদ দেয়। কমপ্রেশন অংশগুলো রেখে বাড়তি শব্দ কেটে ছোট করে। দুটো একসঙ্গেও ব্যবহার করা যায়।
আরেকটু কঠিন করে দেখুন
প্রথম প্রম্পটে প্রশ্ন বদলে লিখুন: অফিস কখন খোলা থাকে? AI কি এখন C3 রাখে? প্রতিটা প্রশ্নের জন্য চাঙ্ক বাছা নিয়ে এটা কী দেখায়?
ভিডিও দেখুন · ২টি
টুল রেজাল্ট ট্রাঙ্কেশনের কৌশল
একটি টুল কল ১০০K টোকেন ফেরত দিতে পারে — লম্বা কোড ফাইল, হাজার সারির ডেটাবেস ফলাফল, ৫০ পাতার ওয়েব পেজ। আটকে না রাখলে একটি টুল রেজাল্টই পুরো কনটেক্সট উইন্ডো ভরে ফেলতে পারে। ট্রাঙ্কেশন হলো টুল রেজাল্টকে কাজের কিন্তু সীমিত রাখার কৌশল।
অনুশীলন · ১টি টাস্ক
যেকোনো ফ্রি AI চ্যাট খুলুন: ChatGPT · Claude · Gemini
অনুশীলন কীভাবে করবেন
- নতুন চ্যাট মানে একদম নতুন কথোপকথন, আগের কোনো হিস্ট্রি নেই। ChatGPT, Claude বা Gemini-তে New chat-এ ক্লিক করুন। সাধারণত এটা উপরে বাঁ দিকে থাকে।
- একই চ্যাট মানে: যে চ্যাট খোলা আছে, সেখানেই লিখতে থাকুন। আগে যা পাঠিয়েছেন, AI তা মনে রাখে।
- প্রম্পট ব্যবহার করতে: কপি-তে ক্লিক করুন, চ্যাটের মেসেজ বক্সে ক্লিক করুন, পেস্ট করুন (Ctrl+V, বা ফোনে চেপে ধরে রাখুন), তারপর Enter চাপুন।
- AI-এর উত্তর প্রতিবার একটু আলাদা হয়। আপনার উত্তর উদাহরণের সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখুন।
- শুধু বানানো ডেটা ব্যবহার করুন। নিজের বা অন্যের ব্যক্তিগত তথ্য চ্যাটে পেস্ট করবেন না।
টাস্ক ১
কেটে ফেলা টুল রেজাল্ট কী লুকায়, দেখুন
এটা কেন দরকার
আপনার AI এজেন্ট যখন কোনো টুল কল করে, তার রেজাল্ট অনেক বড় হতে পারে, তাই অ্যাপ প্রায়ই সেটা কেটে ছোট করে। কাটা যদি ভুল জায়গায় পড়ে, এজেন্ট একটা ভুল সংখ্যা পড়তে পারে আর কাস্টমারকে ভুল উত্তর দিতে পারে।
ধাপ ১
নতুন চ্যাটএই প্রম্পটটা কপি করুন, চ্যাটে পেস্ট করে Enter চাপুন। এর টুল রেজাল্ট একটা সংখ্যার মাঝখানে কেটে গেছে। টুল রেজাল্টের টেক্সট ইংরেজিতেই আছে।
প্রম্পট তুমি একজন support agent। তোমার কাছে search_docs(query, cursor) নামে একটা tool আছে। তুমি search_docs('refund policy') call করেছ। Tool result একটা hard cap দিয়ে কেটে গেছে, আর তুমি শুধু এটুকু পেয়েছ: {"results": [{"id": "d1", "text": "Monthly plans can be refunded within 14 days of payment."}, {"id": "d2", "text": "Annual plans can be refunded within 3 [...truncated...] User-এর প্রশ্ন: Annual plan-এ refund চাইতে আমার কত দিন সময় আছে? শুধু tool result থেকে উত্তর দাও। নিশ্চিত না হলে বলো পরে তুমি কী করবে।আপনি দেখবেন: ভালো AI বলে সে নিশ্চিত না, কারণ সংখ্যাটা "৩"-তে থেমে গেছে। সে বলে আরও তথ্য আনবে। দুর্বল AI আন্দাজ করতে পারে।
উদাহরণ উত্তর
আমি নিশ্চিত না। Tool result "within 3"-তে থেমে গেছে, তাই সংখ্যাটা 3, 30, বা অন্য কিছু হতে পারে। উত্তর দেওয়ার আগে আমি আবার search_docs call করব, বা d2-এর পুরো text চাইব।
আপনার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ২
নতুন চ্যাটএই প্রম্পটটা কপি করুন, নতুন চ্যাটে পেস্ট করে Enter চাপুন। এই টুল রেজাল্ট একটা ছোট, সম্পূর্ণ পাতা। টুল রেজাল্টের টেক্সট ইংরেজিতেই আছে।
প্রম্পট তুমি একজন support agent। তোমার কাছে search_docs(query, cursor) নামে একটা tool আছে। তুমি search_docs('refund policy') call করেছ। Tool একটা page ফেরত দিয়েছে: {"results": [{"id": "d1", "text": "Monthly plans can be refunded within 14 days of payment."}, {"id": "d2", "text": "Annual plans can be refunded within 30 days of payment."}, {"id": "d3", "text": "Refunds go back to the original payment method."}, {"id": "d4", "text": "Gift cards cannot be refunded."}, {"id": "d5", "text": "Refund requests are handled by the billing team."}], "next_cursor": "c_02", "total": 5234} User-এর প্রশ্ন: Annual plan-এ refund চাইতে আমার কত দিন সময় আছে? শুধু tool result থেকে উত্তর দাও। পরের page লাগলে বলো।আপনি দেখবেন: একটা নিশ্চিত উত্তর: ৩০ দিন। AI বলে তার পরের পাতা লাগবে না।
উদাহরণ উত্তর
Annual plan-এ refund চাইতে payment-এর তারিখ থেকে তোমার 30 দিন সময় আছে (document d2)। এই page-এই উত্তর আছে, তাই আমার পরের page লাগবে না।
আপনার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ৩
একই চ্যাটদুটো উত্তর মেলান। প্রথম প্রম্পটে "within ৩"-এর পরে বসতে পারে এমন ৩টা সংখ্যা লিখে রাখুন।
আপনি দেখবেন: যেমন ৩, ৩০, বা ৩৬৫। প্রথম উত্তর নিশ্চিত হতে পারেনি। দ্বিতীয় উত্তর নিশ্চিত: ৩০।
এইমাত্র কী হলো
হার্ড ক্যাপ টেক্সটকে একটা নির্দিষ্ট দৈর্ঘ্যে কেটে দেয়, সংখ্যার মাঝখানে হলেও। এখানে এটা "৩০"-কে কেটে "৩" করে দিয়েছে, তাই AI নিশ্চিত হতে পারেনি। ভালো টুল ছোট একটা পাতা ফেরত দেয়, সঙ্গে একটা কার্সর (পরের পাতার বুকমার্ক) আর মোট সংখ্যা। AI পুরো তথ্য পায়, আর দরকার হলেই শুধু আরও চায়।
কাজ শেষ, যখন আপনার কাছে একটা উত্তর আছে যেখানে AI নিশ্চিত না, আর একটা উত্তর আছে যেখানে সে ৩০ দিন বলেছে।
নিজেকে যাচাই করুনহার্ড ক্যাপের চেয়ে পেজিনেশন ভালো কেন?উত্তর দেখুন
হার্ড ক্যাপ একটা তথ্য বা JSON অবজেক্টের মাঝখানে কেটে দিতে পারে, যাতে পার্সার ভেঙে যায় বা মানে বদলে যায়। কার্সরসহ ছোট পাতার রেজাল্ট পুরো রাখে, আর এজেন্ট শুধু দরকার হলে আরও আনে।
আরেকটু কঠিন করে দেখুন
দ্বিতীয় প্রম্পট আবার নতুন চ্যাটে পাঠান, কিন্তু প্রশ্ন বদলে লিখুন: Gift card-এর refund কোন team দেখে? AI কি পরের পাতা চায়? সেটা কি সঠিক সিদ্ধান্ত?
ভিডিও দেখুন · ২টি
Lost in the Middle আর তার সমাধান
Liu et al. (২০২৩) একটি পাকা ঘটনা দেখিয়েছেন: ল্যাঙ্গুয়েজ মডেল ইনপুটের শুরু আর শেষ অংশের তথ্যে জোরালো অ্যাটেনশন দেয়, কিন্তু মাঝখানে চাপা পড়া তথ্যে প্রায় এলোমেলো উত্তর দেয়। কনটেক্সট যত লম্বা, মাঝখানের অবস্থা তত খারাপ। এই একটি আবিষ্কার প্রম্পট সাজানোর ধরনটাই বদলে দেয়।
অনুশীলন · ১টি টাস্ক
যেকোনো ফ্রি AI চ্যাট খুলুন: ChatGPT · Claude · Gemini
অনুশীলন কীভাবে করবেন
- নতুন চ্যাট মানে একদম নতুন কথোপকথন, আগের কোনো হিস্ট্রি নেই। ChatGPT, Claude বা Gemini-তে New chat-এ ক্লিক করুন। সাধারণত এটা উপরে বাঁ দিকে থাকে।
- একই চ্যাট মানে: যে চ্যাট খোলা আছে, সেখানেই লিখতে থাকুন। আগে যা পাঠিয়েছেন, AI তা মনে রাখে।
- প্রম্পট ব্যবহার করতে: কপি-তে ক্লিক করুন, চ্যাটের মেসেজ বক্সে ক্লিক করুন, পেস্ট করুন (Ctrl+V, বা ফোনে চেপে ধরে রাখুন), তারপর Enter চাপুন।
- AI-এর উত্তর প্রতিবার একটু আলাদা হয়। আপনার উত্তর উদাহরণের সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখুন।
- শুধু বানানো ডেটা ব্যবহার করুন। নিজের বা অন্যের ব্যক্তিগত তথ্য চ্যাটে পেস্ট করবেন না।
টাস্ক ১
মাঝখানে লুকানো নিয়ম পরীক্ষা করুন
এটা কেন দরকার
আপনি যখন কোনো AI এজেন্টকে নিয়মের লম্বা তালিকা দেন, সে মাঝের নিয়মগুলো ভুলে যেতে পারে। একটা নিয়ম ভুলে গেলে ফল হতে পারে ভুল টোন, নিষিদ্ধ প্রতিশ্রুতি, বা আসল কাস্টমার ইমেইলে ভাঙা ফরম্যাট।
ধাপ ১
নতুন চ্যাটএই প্রম্পটটা কপি করুন, চ্যাটে পেস্ট করে Enter চাপুন। এটা ইংরেজিতে রাখা হয়েছে, কারণ এখানে ইংরেজি শব্দ গোনা হবে আর শেষ লাইন হুবহু মিলবে।
প্রম্পট You write short customer emails. Follow ALL rules. Rules: 1. Write in English. 2. Use a polite tone. 3. Greet the customer by name. 4. Say sorry one time only. 5. Mention the order number. 6. Do not promise a delivery date. 7. Keep the email under 60 words. 8. Never use exclamation marks. 9. The last line of the email must be exactly: Ref: KX-482 10. Do not use emojis. 11. Do not mention other customers. 12. Use plain words. 13. Put the signature 'Support Team' before the Ref line. Task: Write an email to Mina Akter. Her order #5521 is 2 days late. Offer a 10% discount on her next order.
আপনি দেখবেন: Mina Akter-এর জন্য একটা ছোট ইমেইল। এটা ৬০ শব্দের কম হবে, কোনো এক্সক্ল্যামেশন মার্ক থাকবে না, আর শেষে থাকবে Ref: KX-482।
উদাহরণ উত্তর
Hello Mina Akter, I am sorry that your order #5521 is 2 days late. To thank you for your patience, we offer you 10% off your next order. Support Team Ref: KX-482
আপনার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ২
একই চ্যাটইমেইলটা ৩টা নিয়মে মেলান: ৬০ শব্দের কম, কোনো এক্সক্ল্যামেশন মার্ক নেই, আর শেষ লাইন হুবহু Ref: KX-482। শব্দ গুনে দেখুন।
আপনি দেখবেন: বেশিরভাগ চ্যাটে ৩টা নিয়মই মেলে। মাঝের নিয়ম, যেমন শব্দসংখ্যা, সবচেয়ে বেশি ভুল হয়।
ধাপ ৩
নতুন চ্যাটএই প্রম্পটটা কপি করুন, নতুন চ্যাটে পেস্ট করে Enter চাপুন। এবার ৩টা মূল নিয়ম শুরুতে আর শেষে আছে। প্রম্পটটা ইংরেজিতে রাখা হয়েছে, কারণ এখানেও ইংরেজি শব্দ গোনা হবে।
প্রম্পট MOST IMPORTANT RULES: the email has under 60 words, has no exclamation marks, and its last line is exactly: Ref: KX-482 You write short customer emails. Follow ALL rules. Rules: 1. Write in English. 2. Use a polite tone. 3. Greet the customer by name. 4. Say sorry one time only. 5. Mention the order number. 6. Do not promise a delivery date. 7. Keep the email under 60 words. 8. Never use exclamation marks. 9. The last line of the email must be exactly: Ref: KX-482 10. Do not use emojis. 11. Do not mention other customers. 12. Use plain words. 13. Put the signature 'Support Team' before the Ref line. Task: Write an email to Mina Akter. Her order #5521 is 2 days late. Offer a 10% discount on her next order. Before you answer, check again: under 60 words, no exclamation marks, last line exactly 'Ref: KX-482'.
আপনি দেখবেন: আরেকটা ছোট ইমেইল, যেখানে একই ৩টা নিয়ম মানা হয়েছে। বেশিরভাগ চ্যাটে মেলে।
উদাহরণ উত্তর
Dear Mina Akter, I am sorry that your order #5521 is 2 days late. As a thank you for waiting, we give you 10% off your next order. Support Team Ref: KX-482
আপনার উত্তরের ভাষা একটু আলাদা হবে।
ধাপ ৪
একই চ্যাটএই দ্বিতীয় ইমেইলও একই ৩টা নিয়মে মেলান। শব্দ গুনে দেখুন।
আপনি দেখবেন: ৩টা নিয়মই মেলে। প্রথম ইমেইল কোনো নিয়ম ভাঙলে দুটো ইমেইল তুলনা করুন।
ধাপ ৫
একই চ্যাটঐচ্ছিক: প্রতিটা চ্যাটে রিজেনারেট বাটন (আবার করার বাটন) থাকলে ২ বার চাপুন। প্রতিবার ৩টা নিয়ম মেলান আর কয়বার মিলল গুনুন।
আপনি দেখবেন: বেশিরভাগ ফলে ৩টা নিয়মই মেলে। ভাঙা নিয়ম প্রায়ই এক্সক্ল্যামেশন মার্ক বা বেশি শব্দ।
এইমাত্র কী হলো
অনেক AI মডেল লম্বা প্রম্পটের শুরু আর শেষ সবচেয়ে ভালো পড়ে, আর মাঝখানটা কম ভালো পড়ে। একে বলে Lost in the Middle। দ্বিতীয় প্রম্পটে মূল নিয়মগুলো উপরে আছে আর শেষে আবার আছে, তাই মডেল সেগুলো দুইবার শক্তিশালী জায়গায় দেখে। এখানে আপনার প্রম্পট ছোট, তাই বেশিরভাগ মডেল দুটোতেই পাস করে। প্রম্পট লম্বা হলে সমস্যা বাড়ে।
কাজ শেষ, যখন আপনার কাছে ২টা ইমেইল আছে, আর প্রতিটায় আপনি ৩টা নিয়ম মিলিয়েছেন: ৬০ শব্দের কম, কোনো এক্সক্ল্যামেশন মার্ক নেই, শেষ লাইন Ref: KX-482।
নিজেকে যাচাই করুনযে নিয়ম মডেলের ভুললে চলবে না, সেটা কোথায় রাখবেন, আর কেন?উত্তর দেখুন
সেটা প্রম্পটের শুরুতে রাখুন আর শেষে আবার লিখুন। মডেল লম্বা প্রম্পটের শুরু আর শেষ সবচেয়ে ভালো মনে রাখে, আর মাঝখানে তুলনায় দুর্বল।
আরেকটু কঠিন করে দেখুন
প্রথম প্রম্পটের মাঝখানে আরও ৩০টা বাড়তি নিয়ম যোগ করে আবার চালান। মডেল কি এখন ৩টা নিয়মের আরও বেশি ভুল করে? দ্বিতীয় প্রম্পট কি তবুও সাহায্য করে?
ভিডিও দেখুন · ৩টি
Lost in the Middle: How Language Models use Long Context - Explained! Weaviate vector database
Lost in the Middle: How Language Models Use Long Contexts Paper Reading Arize AI
Context Rot: When Long Context Fails Hamel Husain
কুইজ
কী শিখলেন যাচাই করুন। ৫টি প্রশ্ন।
১. যে তথ্য মডেলের সবচেয়ে বেশি মনে রাখা দরকার, এই পার্ট অনুযায়ী তা কোথায় রাখবেন?
২. প্রম্পট ক্যাশিং যেন কাজ করে, তার জন্য কী করতে হবে?
৩. যে টুল বিশাল ফলাফল ফেরত দিতে পারে, তার জন্য ভালো পদ্ধতি হলো ছোট একটি অংশ আর একটি কার্সর ফেরত দেওয়া, এবং এজেন্ট দরকার হলেই আরও আনবে।
৪. MemGPT ধারণায় (Packer et al., ২০২৩) ওয়ার্কিং মেমরি আর এক্সটার্নাল স্টোরেজের মধ্যে তথ্য সরানোর সিদ্ধান্ত কে নেয়?
৫. এই পার্ট বলছে, কথোপকথনের সারসংক্ষেপ নির্ভরযোগ্য সোর্স অব ট্রুথ, তাই আসল লগ ফেলে দেওয়া যায়।
মেলাতে সব প্রশ্নের উত্তর দিন।
তথ্যসূত্র
সোর্স
সব সাইটেশন মূল পেপার (arXiv), ভেন্ডরের ডক্স (OpenAI, Anthropic, Google) বা অফিশিয়াল টিম ব্লগে যায়। প্রতিটি পাতা খুলে সাইটেশনের তথ্য যাচাই করা হয়েছে।
- [1]Liu et al., "Lost in the Middle: How Language Models Use Long Contexts" — Princeton, 2023 (the foundational paper)
- [2]Packer et al., "MemGPT: Towards LLMs as Operating Systems" — the hierarchical memory blueprint
- [3]Jiang et al., "ActiveLLMLingua: Active Learning for LLMLingua" — Microsoft prompt compression
- [5]Laban et al., "Summary of a Haystack: A Challenge to Long-Context LLMs and RAG Systems" — 2024
- [6]Hsieh et al., "RULER: What's the Real Context Size of Your Long-Context Language Models?" — 2024
- [10]A Comprehensive Survey on Long Context Language Modeling — 2025
- [13]Schick et al., "Toolformer: Language Models Can Teach Themselves to Use Tools" — Meta AI, 2023
- [14]Anthropic Engineering, "Effective context engineering for AI agents" — production playbook by the Claude team
- [15]Anthropic — Prompt caching documentation (cache_control breakpoints)
- [16]Google AI for Developers — Gemini API caching documentation
- [17]OpenAI — Prompt caching documentation