প্রম্পট ইঞ্জিনিয়ারদের জন্য কনটেক্সট ইঞ্জিনিয়ারিং
অনেকে বলেন প্রম্পট ইঞ্জিনিয়ারিং এখন মৃত। তারা বলেন কনটেক্সট ইঞ্জিনিয়ারিং এর জায়গা দখল করে নিয়েছে। এটি ভুল।
প্রম্পট ইঞ্জিনিয়ারিং হলো কনটেক্সট ইঞ্জিনিয়ারিংয়ের একটি অংশ মাত্র। প্রম্পটিং হলো আপনি যা বলেন। কনটেক্সট ইঞ্জিনিয়ারিং হলো মডেলটি যা কিছু দেখে তার সবকিছু। এর মধ্যে রয়েছে system prompts, tool definitions, retrieved documents এবং memory।
আপনার প্রম্পট একটি বড় ধাঁধার একটি মাত্র অংশ। এর পরিধি এখন আরও বিস্তৃত হয়েছে।
সবকিছু সমাধান করার জন্য বিশাল context windows ব্যবহার করার চেষ্টা করবেন না। একটি মিলিয়ন-টোকেন উইন্ডো মানেই এই নয় যে মডেলটি মিলিয়ন টোকেন পরিমাণ কার্যকর মনোযোগ দিতে পারবে। অতিরিক্ত ইনপুট আসলে মডেলের পারফরম্যান্স আরও খারাপ করে দিতে পারে।
আপনাকে দুটি প্রধান সমস্যার দিকে নজর দিতে হবে:
• Lost in the middle: মডেলগুলো প্রম্পটের শুরু এবং শেষের দিকে সবচেয়ে ভালো মনোযোগ দেয়। যখন গুরুত্বপূর্ণ তথ্য মাঝখানে থাকে, তখন তারা হিমশিম খায়। • Context rot: ইনপুটের দৈর্ঘ্য বাড়ার সাথে সাথে reasoning এবং recall ক্ষমতা হ্রাস পায়। উইন্ডো পূর্ণ হয়ে গেলে এমনকি সাধারণ কাজগুলোও মডেলের জন্য কঠিন হয়ে পড়ে।
লক্ষ্য হলো সবচেয়ে কম সংখ্যক high-signal টোকেন খুঁজে বের করা যা কাজটি সম্পন্ন করতে পারে। আপনার context window-কে একটি বাজেটের মতো বিবেচনা করুন।
আপনার বাজেট পরিচালনা করতে এই ছয়টি প্যাটার্ন ব্যবহার করুন:
• Attention budgeting: সমস্ত boilerplate এবং অতিরিক্ত টেক্সট বাদ দিন। শুধুমাত্র high-signal কন্টেন্ট ব্যবহার করুন। • Retrieval placement: প্রাসঙ্গিক ডেটা শুরুতে বা শেষে রাখুন। গুরুত্বপূর্ণ তথ্য মাঝখানে রাখা এড়িয়ে চলুন। • Tool-result formatting: সংকুচিত (condensed) ডেটা প্রদান করুন। উইন্ডোতে বড় API অবজেক্ট সরাসরি ঢেলে দেবেন না। • Schema design: স্ট্রাকচার্ড আউটপুট ব্যবহার করুন। ত্রুটি এড়াতে nesting levels কম রাখুন। • System vs. turn separation: মূল নিয়মগুলো system prompt-এ রাখুন। নির্দিষ্ট ডেটা user turns-এ রাখুন। • Memory and compaction: উইন্ডোর বাইরে state সেভ করুন। থ্রেডটি সচল রাখতে পুরনো ডেটা summarize করুন।
কনটেক্সট ইঞ্জিনিয়ারিং মানে কেবল RAG নয়। এটি সঠিক অবস্থান এবং সংযমের বিষয়। আপনি যদি ইতিমধ্যে ভালো প্রম্পট লিখতে পারেন, তবে আপনাকে নতুন করে শুরু করতে হচ্ছে না। আপনি কেবল আপনার প্রম্পট যে বাজেট খরচ করে তা পরিচালনা করতে শিখছেন।
Source: https://dev.to/anoopk/context-engineering-for-people-who-already-know-how-to-prompt-2pj1
Optional learning community: https://t.me/GyaanSetuAi