Prompt and context — پرامپت و زمینه
پرامپت و زمینه (context) مفاهیم بنیادین در prompt engineering برای مدلهای زبانی بزرگ (LLM) هستند.
زمینه یک مؤلفهی حیاتی از پرامپت است که توانایی LLM را در تولید پاسخهای دقیق، مرتبط و مفید تعیین میکند. prompt engineering مؤثر تا حد زیادی هنر جمعآوری، فیلتر کردن، ساختاردهی و ارائهی زمینهی درست به مدل در لحظهی مناسب است، و در عین حال محدودیتهای LLM های مدرن را پشت سر میگذارد.
تعریف Prompt - پرامپت
پرامپت (به انگلیسی prompt) — مجموعهی کامل دادههای ورودی است که برای تولید پاسخ در اختیار LLM قرار میگیرد. این تنها یک سؤال یا دستور نیست، بلکه متنی ساختاریافته است که میتواند شامل موارد زیر باشد:
- دستورالعملها: راهنماییهای مستقیم به مدل دربارهی کاری که باید انجام دهد، در چه قالب، سبک یا لحنی.
- درخواست اصلی (Query): سؤال مستقیم کاربر یا توصیف وظیفهی اصلی.
- زمینه (Context): اطلاعات تکمیلی لازم برای اجرای صحیح درخواست.
- نمونهها (Few-shot examples): نمایش قالب یا سبک پاسخ دلخواه در وظایف مشابه.
کیفیت و جامعیت پرامپت مستقیماً ارتباط، دقت و سودمندی پاسخ LLM را تعیین میکند.
تعریف Context - زمینه
زمینه در چارچوب prompt engineering — هر اطلاعاتی است درون پرامپت که به مدل کمک میکند وظیفه، ویژگیهای موقعیت یا انتظارات کاربر را بهتر درک کند، اما بخشی از دادههای آموزشی اولیهی آن نیست. زمینه جزئیات موقعیتی لازم برای تولید پاسخ مناسب را فراهم میکند.
زمینه میتواند شامل موارد زیر باشد:
- تاریخچهی مکالمهی قبلی (در chatbot ها).
- دادههای استخراجشده از منابع خارجی (اسناد، پایگاههای داده، صفحات وب) — پایهی RAG.
- اطلاعات کاربر (پروفایل، ترجیحات).
- جزئیات خاص وظیفه یا موقعیت جاری.
- نمونههای اجرای وظایف مشابه (بهعنوان بخشی از few-shot prompting).
مهم است که زمینهی ارائهشده در پرامپت را از دانش عمومی که مدل در طول پیشآموزش کسب کرده، متمایز کنیم. prompt engineering بر ارائهی مؤثر زمینهی موقعیتی تمرکز دارد.
تعامل و تأثیر
پرامپت و زمینه — مفاهیم بنیادین در کارکرد transformer ها هستند که تعیین میکنند مدل چگونه دادههای ورودی را درک میکند و بر چه اساسی نتیجه تولید میکند. از نظر معماری، transformer به طور خاص «پرامپت» و «زمینه» را از هم تمیز نمیدهد — هر دو بخشهایی از دنبالهی ورودی token ها هستند که به embedding تبدیل میشوند، با اطلاعات موقعیتی غنی میشوند و بهطور مشترک توسط لایههای self-attention پردازش میگردند.
پرامپت و زمینه پیوندی ناگسستنی دارند: زمینه بخشی از پرامپت است.
- زمینه پرامپت را میسازد: مهندس زمینهی مرتبط را برای گنجاندن در پرامپت انتخاب و ساختاردهی میکند.
- زمینه مدل را هدایت میکند: اطلاعات ارائهشده به LLM امکان میدهد فضای پاسخهای ممکن را محدود کند، بر جنبههای مرتبط تمرکز کند و از توهمزایی بپرهیزد.
- کیفیت زمینه کیفیت پاسخ را تعیین میکند: زمینهی ناکافی، نامرتبط یا متناقض به پاسخهای نادقیق، کلی یا اشتباه میانجامد. زمینهی دقیق و کامل ویژگی و سودمندی تولید را افزایش میدهد.
- تأثیر بر تفسیر دستورالعملها: زمینه میتواند تفسیر دستورالعملهای کلی در پرامپت را دقیقتر یا تغییر دهد.
اثربخشی پرامپت تا حد زیادی به این بستگی دارد که مهندس تا چه اندازه موفق شده زمینهی مرتبط را جمعآوری، فیلتر و به مدل ارائه کند.
انواع زمینه
زمینه را میتوان بر اساس معیارهای مختلف طبقهبندی کرد:
بر اساس منبع:
- ارائهشده توسط کاربر: ورودی صریح کاربر، سؤال یا توصیف وظیفهاش.
- از تاریخچهی مکالمه: پیامهای قبلی کاربر و دستیار (حافظهی کوتاهمدت).
- استخراجشده (Retrieved): دادهها از منابع خارجی (اسناد، پایگاه داده، وب) با کمک RAG.
- از پروفایل/پایگاه دانش: اطلاعات بلندمدت دربارهی کاربر یا حوزه.
- ایستا/دستوری: اطلاعاتی که مهندس در قالب پرامپت قرار داده (دستورالعملها، نمونهها، تعریف نقشها).
بر اساس پویایی:
- زمینهی ایستا: بخش تغییرناپذیر پرامپت (دستورالعملها، تعاریف، نمونهها). وظیفهی کلی را تعیین میکند.
- زمینهی پویا: اطلاعاتی که از درخواستی به درخواست دیگر تغییر میکند (دادههای کاربر، نتایج RAG، زمان جاری). جزئیات خاص را فراهم میکند.
بر اساس مدت نگهداری (حافظه):
- زمینهی کوتاهمدت: تاریخچهی جلسهی مکالمهی جاری.
- زمینهی بلندمدت: دادههای ذخیرهشده دربارهی کاربر یا تعاملات قبلی که به مکانیزمهای ذخیرهسازی و بازیابی نیاز دارند.
مدیریت زمینه
مدیریت مؤثر زمینه — وظیفهی کلیدی prompt engineering است، بهویژه با توجه به محدودیتهای پنجرهی زمینهی LLM. روشهای اصلی:
- RAG: رایجترین روش برای کار با حجمهای بزرگ اطلاعات. امکان یافتن پویا و گنجاندن تنها مرتبطترین قطعهها از پایگاه دانش گسترده در پرامپت را میدهد. نیازمند پایگاه دادهی برداری و مکانیزمهای جستجوی کارآمد (لغوی یا معنایی) است.
- Chunking (تقسیمبندی): تقسیم اسناد بزرگ به بخشهای معناً مرتبط یا با اندازهی ثابت برای نمایهسازی و بازیابی بعدی از طریق RAG.
- خلاصهسازی: فشردهسازی تاریخچهی طولانی مکالمه یا اسناد حجیم برای انتقال معنای اصلی در پنجرهی زمینهی محدود.
- مدیریت حافظه (Memory Management): استفاده از استراتژیهای مختلف برای ذخیره و بازیابی تاریخچهی مکالمه در chatbot ها و عوامل (مثلاً ConversationBufferMemory، ConversationSummaryBufferMemory در LangChain).
- پنجرهی لغزنده (Sliding Window): نگه داشتن تنها N پیام آخر مکالمه در زمینه.
- فیلتر و اولویتبندی: انتخاب مرتبطترین قطعههای زمینه بر اساس اهمیتشان (مثلاً با استفاده از امتیازهای ارتباط بهدستآمده در جستجو) پیش از ساخت پرامپت نهایی.
نقش زمینه در Prompt Engineering
- افزایش ارتباط: زمینه به مدل امکان میدهد پاسخهایی تولید کند که دقیقاً با درخواست و موقعیت کاربر مطابقت دارند.
- کاهش توهمزایی: ارائهی اطلاعات واقعی (از طریق RAG) مدل را وادار میکند بر آنها تکیه کند، نه اینکه حقایق را اختراع کند.
- شخصیسازی: زمینه دربارهی کاربر (ترجیحات، تاریخچه) امکان تطبیق پاسخها را فراهم میکند.
- مدیریت وضعیت: در مکالمات و فرآیندهای چندمرحلهای، زمینه (تاریخچه) تداوم و آگاهی مدل از مراحل قبلی را تضمین میکند.
- غلبه بر محدودیتهای دانش مدل: RAG به مدل امکان میدهد به سؤالاتی دربارهی رویدادهای پس از آموزشش یا دادههای خاص/خصوصی پاسخ دهد.
محدودیتها
- محدودیت پنجرهی زمینه: علیرغم افزایش به ۱ تا ۲ میلیون token در مدلهای مدرن، پردازش چنین حجمی میتواند گران و کند باشد. به استراتژیهای مؤثر فشردهسازی و انتخاب (RAG، خلاصهسازی) نیاز دارد.
- جستجوی زمینهی مرتبط: اثربخشی RAG به کیفیت جستجو بستگی دارد. زمینهی استخراجشدهی نادرست میتواند مدل را گیج کند («زباله در ورودی — زباله در خروجی»).
- «درهی بیتفاوتی» (Valley of Meh): اطلاعاتی که در میانهی یک پرامپت بسیار طولانی قرار دارد ممکن است توسط مدل نادیده گرفته شود. به ساختاردهی پرامپت نیاز دارد (مثلاً «تکنیک ساندویچ»).
- خطر تزریق زمینه: اگر زمینه از منابع نامطمئن (مانند صفحات وب) استخراج شود، ممکن است حاوی دستورالعملهای مخرب باشد (prompt injection).
همچنین ببینید
- مدلهای زبانی بزرگ
- پنجرهی زمینه
- پایگاههای دادهی برداری
- LangChain
منابع
- 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.