Prompt and context — প্রম্পট ও প্রসঙ্গ
প্রম্পট এবং কনটেক্সট হলো বৃহৎ ভাষা মডেলের (LLM) prompt engineering-এর মৌলিক ধারণা।
কনটেক্সট হলো প্রম্পটের একটি গুরুত্বপূর্ণ উপাদান, যা LLM-এর সুনির্দিষ্ট, প্রাসঙ্গিক এবং উপকারী উত্তর তৈরির সক্ষমতা নির্ধারণ করে। কার্যকর prompt engineering মূলত সঠিক মুহূর্তে মডেলের কাছে সঠিক কনটেক্সট সংগ্রহ, ফিল্টার, কাঠামোবদ্ধকরণ এবং উপস্থাপনের শিল্পে নিহিত, পাশাপাশি আধুনিক LLM-এর সীমাবদ্ধতা অতিক্রম করতে সক্ষম।
প্রম্পটের সংজ্ঞা
প্রম্পট (ইং. prompt) — হলো LLM-কে উত্তর তৈরির জন্য প্রদত্ত সম্পূর্ণ ইনপুট ডেটার সমষ্টি। এটি কেবল একটি প্রশ্ন বা নির্দেশ নয়, বরং একটি কাঠামোবদ্ধ পাঠ্য যা অন্তর্ভুক্ত করতে পারে:
- নির্দেশনা: মডেলকে কী করতে হবে, কোন ফরম্যাট, শৈলী বা সুরে করতে হবে সে সম্পর্কে সরাসরি নির্দেশ।
- মূল অনুরোধ (Query): ব্যবহারকারীর সরাসরি প্রশ্ন বা মূল কাজের বিবরণ।
- কনটেক্সট: অনুরোধ সঠিকভাবে পূরণের জন্য প্রয়োজনীয় অতিরিক্ত তথ্য।
- উদাহরণ (Few-shot examples): অনুরূপ কাজে কাঙ্ক্ষিত ফরম্যাট বা শৈলীর প্রদর্শন।
প্রম্পটের মান ও সম্পূর্ণতা সরাসরি LLM-এর উত্তরের প্রাসঙ্গিকতা, সুনির্দিষ্টতা এবং উপযোগিতা নির্ধারণ করে।
কনটেক্সটের সংজ্ঞা
Prompt engineering-এর পরিপ্রেক্ষিতে কনটেক্সট হলো প্রম্পটের ভেতরে থাকা যেকোনো তথ্য যা মডেলকে কাজ, পরিস্থিতির বিশেষত্ব বা ব্যবহারকারীর প্রত্যাশা আরও ভালোভাবে বুঝতে সাহায্য করে, কিন্তু মডেলের মূল প্রশিক্ষণ ডেটার অংশ নয়। কনটেক্সট পরিস্থিতিগত বিবরণ প্রদান করে যা উপযুক্ত উত্তর তৈরির জন্য প্রয়োজনীয়।
কনটেক্সট অন্তর্ভুক্ত করতে পারে:
- পূর্ববর্তী কথোপকথনের ইতিহাস (চ্যাটবটে)।
- বাহ্যিক উৎস থেকে সংগৃহীত ডেটা (দলিলপত্র, ডেটাবেস, ওয়েবপেজ) — RAG-এর ভিত্তি।
- ব্যবহারকারী সম্পর্কিত তথ্য (প্রোফাইল, পছন্দ)।
- বর্তমান কাজ বা পরিস্থিতির নির্দিষ্ট বিবরণ।
- অনুরূপ কাজ সম্পাদনের উদাহরণ (few-shot prompting-এর অংশ হিসেবে)।
প্রম্পটে প্রদত্ত কনটেক্সট এবং মডেলের পূর্ব প্রশিক্ষণে অর্জিত সাধারণ জ্ঞানের মধ্যে পার্থক্য করা গুরুত্বপূর্ণ। Prompt engineering মূলত পরিস্থিতিগত কনটেক্সট কার্যকরভাবে সরবরাহ করার উপর দৃষ্টি নিবদ্ধ করে।
পারস্পরিক সম্পর্ক ও প্রভাব
প্রম্পট এবং কনটেক্সট — transformer-এর কার্যপ্রণালীতে মৌলিক ধারণা, যা নির্ধারণ করে মডেল কীভাবে ইনপুট ডেটা উপলব্ধি করে এবং কীসের ভিত্তিতে ফলাফল তৈরি করে। আর্কিটেকচারালভাবে transformer বিশেষভাবে 'প্রম্পট' এবং 'কনটেক্সট'-এর মধ্যে পার্থক্য করে না — উভয়ই ইনপুট token সিকোয়েন্সের অংশ, যা embedding-এ রূপান্তরিত হয়, অবস্থানগত তথ্যে সমৃদ্ধ হয় এবং self-attention স্তর দ্বারা সামগ্রিকভাবে প্রক্রিয়া করা হয়।
প্রম্পট এবং কনটেক্সট অবিচ্ছেদ্যভাবে সংযুক্ত: কনটেক্সট হলো প্রম্পটের একটি অবিচ্ছেদ্য অংশ।
- কনটেক্সট প্রম্পট গঠন করে: ইঞ্জিনিয়ার প্রম্পটে অন্তর্ভুক্তির জন্য প্রাসঙ্গিক কনটেক্সট বাছাই ও কাঠামোবদ্ধ করেন।
- কনটেক্সট মডেলকে নির্দেশ করে: প্রদত্ত তথ্য LLM-কে সম্ভাব্য উত্তরের পরিসর সংকুচিত করতে, প্রাসঙ্গিক দিকগুলোতে মনোযোগ দিতে এবং hallucination এড়াতে সাহায্য করে।
- কনটেক্সটের মান উত্তরের মান নির্ধারণ করে: অপর্যাপ্ত, অপ্রাসঙ্গিক বা পরস্পরবিরোধী কনটেক্সট অসুনির্দিষ্ট, সাধারণ বা ভুল উত্তরের দিকে নিয়ে যায়। সুনির্দিষ্ট ও সম্পূর্ণ কনটেক্সট উৎপাদনের নির্দিষ্টতা ও উপযোগিতা বাড়ায়।
- নির্দেশনার ব্যাখ্যায় প্রভাব: কনটেক্সট প্রম্পটে সাধারণ নির্দেশনার ব্যাখ্যা স্পষ্ট বা পরিবর্তন করতে পারে।
প্রম্পটের কার্যকারিতা মূলত নির্ভর করে ইঞ্জিনিয়ার কতটা সফলভাবে প্রাসঙ্গিক কনটেক্সট সংগ্রহ, ফিল্টার ও মডেলের সামনে উপস্থাপন করতে পেরেছেন তার উপর।
কনটেক্সটের ধরনসমূহ
কনটেক্সটকে বিভিন্ন মানদণ্ড অনুযায়ী শ্রেণিবদ্ধ করা যায়:
উৎস অনুযায়ী:
- ব্যবহারকারী কর্তৃক প্রদত্ত: ব্যবহারকারীর স্পষ্ট ইনপুট, তার প্রশ্ন বা কাজের বিবরণ।
- কথোপকথনের ইতিহাস থেকে: ব্যবহারকারী ও সহকারীর পূর্ববর্তী বার্তাসমূহ (স্বল্পমেয়াদী স্মৃতি)।
- সংগৃহীত (Retrieved): RAG-এর মাধ্যমে বাহ্যিক উৎস (দলিলপত্র, ডেটাবেস, ওয়েব) থেকে ডেটা।
- প্রোফাইল/জ্ঞানভান্ডার থেকে: ব্যবহারকারী বা নির্দিষ্ট ক্ষেত্র সম্পর্কে দীর্ঘমেয়াদী তথ্য।
- স্থির/নির্দেশমূলক: ইঞ্জিনিয়ার কর্তৃক প্রম্পট টেমপ্লেটে নির্ধারিত তথ্য (নির্দেশনা, উদাহরণ, ভূমিকার সংজ্ঞা)।
গতিশীলতা অনুযায়ী:
- স্থির কনটেক্সট: প্রম্পটের অপরিবর্তনীয় অংশ (নির্দেশনা, সংজ্ঞা, উদাহরণ)। সামগ্রিক কাজ নির্ধারণ করে।
- গতিশীল কনটেক্সট: অনুরোধভেদে পরিবর্তিত তথ্য (ব্যবহারকারীর ডেটা, RAG-এর ফলাফল, বর্তমান সময়)। নির্দিষ্ট বিবরণ সরবরাহ করে।
সংরক্ষণকাল অনুযায়ী (স্মৃতি):
- স্বল্পমেয়াদী কনটেক্সট: বর্তমান কথোপকথন সেশনের ইতিহাস।
- দীর্ঘমেয়াদী কনটেক্সট: ব্যবহারকারী বা পূর্ববর্তী মিথস্ক্রিয়া সম্পর্কে সংরক্ষিত ডেটা, যার জন্য সংরক্ষণ ও পুনরুদ্ধারের প্রক্রিয়া প্রয়োজন।
কনটেক্সট ব্যবস্থাপনা
কার্যকর কনটেক্সট ব্যবস্থাপনা prompt engineering-এর একটি মূল কাজ, বিশেষত LLM-এর context window-এর সীমাবদ্ধতার আলোকে। প্রধান পদ্ধতিসমূহ:
- RAG: বৃহৎ তথ্য পরিমাণের সাথে কাজ করার সর্বাধিক প্রচলিত পদ্ধতি। বিশাল জ্ঞানভান্ডার থেকে কেবল সবচেয়ে প্রাসঙ্গিক অংশগুলো গতিশীলভাবে খুঁজে বের করে প্রম্পটে অন্তর্ভুক্ত করার সুযোগ দেয়। ভেক্টর ডেটাবেস ও কার্যকর অনুসন্ধান প্রক্রিয়া (লেক্সিক্যাল বা সিমান্টিক) প্রয়োজন।
- Chunking (চাঙ্কিং): RAG-এর মাধ্যমে ইন্ডেক্সিং ও পরবর্তী পুনরুদ্ধারের জন্য বড় দলিলপত্রকে শব্দার্থগতভাবে সংযুক্ত বা নির্দিষ্ট আকারের অংশে বিভক্ত করা।
- সংক্ষেপণ (Sumarization): সীমিত context window-এ মূল অর্থ প্রেরণের জন্য দীর্ঘ কথোপকথনের ইতিহাস বা বৃহৎ দলিলপত্র সংকুচিত করা।
- Memory Management (স্মৃতি ব্যবস্থাপনা): চ্যাটবট ও এজেন্টে কথোপকথনের ইতিহাস সংরক্ষণ ও পুনরুদ্ধারের জন্য বিভিন্ন কৌশল ব্যবহার (যেমন LangChain-এ ConversationBufferMemory, ConversationSummaryBufferMemory)।
- Sliding Window (স্লাইডিং উইন্ডো): কনটেক্সটে কেবল সর্বশেষ N-টি কথোপকথনের বার্তা ধরে রাখা।
- ফিল্টারিং ও অগ্রাধিকার নির্ধারণ: চূড়ান্ত প্রম্পট তৈরির আগে তাদের গুরুত্বের ভিত্তিতে (যেমন অনুসন্ধানে প্রাপ্ত প্রাসঙ্গিকতা স্কোর ব্যবহার করে) সবচেয়ে প্রাসঙ্গিক কনটেক্সট অংশ বাছাই করা।
Prompt Engineering-এ কনটেক্সটের ভূমিকা
- প্রাসঙ্গিকতা বৃদ্ধি: কনটেক্সট মডেলকে ব্যবহারকারীর অনুরোধ ও পরিস্থিতির সাথে সঠিকভাবে সামঞ্জস্যপূর্ণ উত্তর তৈরি করতে সক্ষম করে।
- Hallucination হ্রাস: RAG-এর মাধ্যমে বাস্তব তথ্য সরবরাহ মডেলকে তথ্য উদ্ভাবন না করে সেটির উপর নির্ভর করতে বাধ্য করে।
- ব্যক্তিগতকরণ: ব্যবহারকারী সম্পর্কিত কনটেক্সট (পছন্দ, ইতিহাস) উত্তর অভিযোজিত করার সুযোগ দেয়।
- অবস্থা ব্যবস্থাপনা: কথোপকথন ও বহু-ধাপের প্রক্রিয়ায় কনটেক্সট (ইতিহাস) পূর্ববর্তী ধাপ সম্পর্কে মডেলের ধারাবাহিকতা ও সচেতনতা নিশ্চিত করে।
- মডেলের জ্ঞান সীমাবদ্ধতা অতিক্রম: RAG মডেলকে তার প্রশিক্ষণের পরে ঘটা ঘটনা বা নির্দিষ্ট/ব্যক্তিগত ডেটা সম্পর্কে প্রশ্নের উত্তর দিতে সক্ষম করে।
সীমাবদ্ধতা
- Context Window-এর সীমা: আধুনিক মডেলে ১-২ মিলিয়ন token পর্যন্ত বৃদ্ধি পেলেও এত বড় পরিমাণ প্রক্রিয়াকরণ ব্যয়বহুল ও ধীর হতে পারে। কার্যকর সংকোচন ও বাছাই কৌশল (RAG, সংক্ষেপণ) প্রয়োজন।
- প্রাসঙ্গিক কনটেক্সট অনুসন্ধান: RAG-এর কার্যকারিতা অনুসন্ধানের মানের উপর নির্ভর করে। ভুলভাবে সংগৃহীত কনটেক্সট মডেলকে বিভ্রান্ত করতে পারে ("আবর্জনা ইনপুটে — আবর্জনা আউটপুটে")।
- "উদাসীনতার উপত্যকা" (Valley of Meh): অত্যন্ত দীর্ঘ প্রম্পটের মাঝখানে অবস্থিত তথ্য মডেল উপেক্ষা করতে পারে। প্রম্পট কাঠামোবদ্ধ করা প্রয়োজন (যেমন "স্যান্ডউইচ কৌশল")।
- Context Injection-এর ঝুঁকি: কনটেক্সট অবিশ্বস্ত উৎস (যেমন ওয়েবপেজ) থেকে সংগৃহীত হলে তাতে ক্ষতিকর নির্দেশনা থাকতে পারে (prompt injection)।
সাহিত্য
- Lewis, P. et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. arXiv:2005.11401.
- Wei, J. et al. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
- Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
- Kojima, T. et al. (2022). Large Language Models are Zero-Shot Reasoners. arXiv:2205.11916.
- Chen, S. et al. (2023). Extending Context Window of Large Language Models via Positional Interpolation. arXiv:2306.15595.
- Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. arXiv:2302.04761.
- Besta, M. et al. (2023). Graph of Thoughts: Solving Elaborate Problems with Large Language Models. arXiv:2308.09687.
- Packer, C. et al. (2023). MemGPT: Towards LLMs as Operating Systems. arXiv:2310.08560.
- Wang, Y. et al. (2023). Self-Instruct: Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.
- Sahoo, P. et al. (2024). A Systematic Survey of Prompt Engineering in Large Language Models: Techniques and Applications. arXiv:2402.07927.
- Kim, S. H. et al. (2024). Theanine: Revisiting Memory Management in Long-term Conversations with Timeline-augmented Response Generation. arXiv:2406.10996.
- Chen, S. et al. (2024). StruQ: Defending Against Prompt Injection with Structured Queries. arXiv:2402.06363.
- Zhong, M. et al. (2024). Understanding the RoPE Extensions of Long-Context LLMs: An Attention Perspective. arXiv:2406.13282.
- Han, H. et al. (2025). Retrieval-Augmented Generation with Graphs (GraphRAG). arXiv:2501.00309.
- Self-Instruct (2025). Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.
আরও দেখুন
- বৃহৎ ভাষা মডেল
- Context Window
- ভেক্টর ডেটাবেস
- LangChain