প্রতিটি সেশনে প্রতিটি নির্দেশাবলী লোড করা বন্ধ করুন
বেশিরভাগ মানুষ উন্নত প্রম্পটের দিকে মনোযোগ দেন। তারা প্রম্পট শুরু হওয়ার আগে কী ঘটে তা উপেক্ষা করেন। তারা অ্যাসিস্ট্যান্ট কনটেক্সটে (assistant context) অতিরিক্ত নির্দেশাবলী লোড করেন।
এটি তিনটি সমস্যার সৃষ্টি করে:
- উচ্চ টোকেন খরচ (High token costs)।
- উচ্চ ল্যাটেন্সি (High latency)।
- কম সিগন্যাল-টু-নয়েজ রেশিও (Low signal-to-noise ratio)।
যখন আপনি প্রতিটি ছোট প্রশ্নের জন্য একটি বিশাল নির্দেশিকা ফাইল লোড করেন, তখন এটি একটি সাধারণ প্রশ্ন জিজ্ঞাসা করার আগে পুরো এমপ্লয়ী হ্যান্ডবুক (employee handbook) পড়ার মতো। সেই তথ্যের বেশিরভাগই বর্তমান কাজের জন্য অপ্রয়োজনীয়।
আপনি যত বেশি নিয়ম যোগ করবেন, প্রাসঙ্গিক অংশগুলো তত বেশি 희석 (dilute) হয়ে যাবে। বেশি কনটেক্সট মানেই বেশি দক্ষতা নয়।
আমি একটি একক ফাইল থেকে মডুলার সিস্টেমে (modular system) চলে গিয়ে এটি সমাধান করেছি। আমি আমার নির্দেশাবলীকে বিশেষায়িত মডিউলে বিভক্ত করেছি:
• instructions.md: একটি ছোট এন্ট্রি পয়েন্ট যা সব সময় লোড হয়। • persona.md: ব্যক্তিত্ব এবং টোন (personality and tone)। • structure.md: নেভিগেশন কাজের জন্য সিস্টেম স্ট্রাকচার। • workflows.md: সেশন শেষ করার জন্য নির্দিষ্ট নিয়ম।
এখন, মূল ফাইলটি একটি রাউটার (router) হিসেবে কাজ করে। কাজটি যখন প্রয়োজন হয়, তখনই এটি অন্য মডিউলগুলোকে কল করে।
উদাহরণস্বরূপ:
- যদি আপনার একটি প্রজেক্ট নেভিগেট করার প্রয়োজন হয়, তবে structure.md লোড করুন।
- যদি আপনার একটি সেশন শেষ করার প্রয়োজন হয়, তবে workflows.md লোড করুন।
- যদি আপনার দ্রুত কোনো প্রশ্ন থাকে, তবে অন্য কিছু লোড করার প্রয়োজন নেই।
ফলাফল ছিল স্পষ্ট। আমার বেসলাইন টোকেন লোড (baseline token load) ৪,৮০০ টোকেন থেকে কমে ১,৪৫০ টোকেনে নেমে এসেছে। এটি ৭০% হ্রাস।
লক্ষ্য নির্দেশাবলী ছোট করা নয়। লক্ষ্য হলো বেসলাইন লোডকে (baseline load) অন-ডিমান্ড লোড (on-demand load) থেকে আলাদা করা।
বেসলাইন লোড হলো যা আপনাকে প্রতিবার দিতে হয়। এটি আপনাকে অত্যন্ত নগণ্য রাখতে হবে। অন-ডিমান্ড লোড হলো যা আপনি কেবল তখনই লোড করেন যখন এটি প্রয়োজন হয়। এটি বড় এবং বিস্তারিত হতে পারে।
এই পদ্ধতির কিছু সীমাবদ্ধতা (trade-offs) রয়েছে। আপনি দক্ষতা অর্জন করবেন কিন্তু নির্দেশাবলী রাউট করার ক্ষেত্রে জটিলতা বাড়বে। আপনাকে নিশ্চিত করতে হবে যে অ্যাসিস্ট্যান্ট নির্ভরযোগ্যভাবে মডিউলগুলোতে অ্যাক্সেস করতে পারে।
যদি আপনার নির্দেশাবলী ছোট হয়, তবে এটি করবেন না। এটি সময়ের অপচয়। যদি আপনার নির্দেশাবলীর সেট বিশাল হয় এবং ক্রমাগত বাড়তে থাকে, তবে অবিলম্বে এটি করুন।
অ্যাসিস্ট্যান্টকে অপ্রয়োজনীয় বোঝা বহন করতে বাধ্য করা বন্ধ করুন। অপ্রাসঙ্গিক নির্দেশাবলী থেকে পরিবেশ পরিষ্কার রাখুন।
Optional learning community: https://t.me/GyaanSetuAi