مهندسی زمینه: چرا از پرامپتنویسی مهمتر شده
وقتی مدلها قویتر شدند، جملهبندی درخواست کماهمیتتر شد و چیز دیگری مهم: اینکه مدل هنگام جواب دادن، دقیقاً چه اطلاعاتی جلوی چشمش باشد و چه چیزی نباشد.
چند سال پیش، ترفندهای پرامپتنویسی واقعاً فرق میساختند. «نفس عمیق بکش و قدمبهقدم فکر کن» روی مدلهای آن دوره اثر داشت، چون مدلها به راهنمایی نیاز داشتند تا مسیر درست را پیدا کنند.
حالا آن ترفندها بیشترشان کار نمیکنند — نه به این دلیل که غلط بودند، به این دلیل که مدلها دیگر به آنها نیاز ندارند. چیزی که جایشان را گرفته، سؤال دیگری است: وقتی مدل دارد جواب میدهد، چه اطلاعاتی جلوی چشمش است؟
این همان چیزی است که به آن مهندسی زمینه میگویند. و برخلاف پرامپتنویسی که کاری با جملهبندی دارد، این یکی کاری با انتخاب دارد: چه چیزی داخل، چه چیزی بیرون، به چه ترتیبی.
پنجرهی زمینه چیست و چرا بزرگتر شدنش کافی نبود
هر مدل زبانی یک محدوده دارد که میتواند یکجا ببیند: پیام سیستم، تاریخچهی گفتوگو، فایلهای پیوست و درخواست فعلی، همه در همان محدوده جا میگیرند. به این محدوده پنجرهی زمینه میگویند و در چند سال اخیر خیلی بزرگتر شده.
انتظار طبیعی این بود که با بزرگتر شدن پنجره، مسئله حل شود. نشد. دلیلش این است که توجه مدل روی کل زمینه یکنواخت نیست. وقتی متن خیلی طولانی میشود، اطلاعات میانی کمرنگتر دیده میشوند و احتمال اینکه مدل به یک جزئیات بیربط بچسبد بالا میرود. سازوکارش را در مدلهای هوش مصنوعی چطور کار میکنند شرح دادهایم.
زمینه بودجه است، نه انبار. هر چیزی که وارد میکنید، سهم چیزهای مهمتر را کم میکند. سؤال درست این نیست که «چه چیزی میتوانم اضافه کنم»، این است که «کمترین اطلاعاتی که برای جواب درست لازم است چیست».
چهار چیزی که زمینه را میسازد
| لایه | چه کاری میکند | خطای رایج |
|---|---|---|
| دستور کلی | نقش، لحن، قواعد ثابت | طولانی و متناقض نوشتنش |
| دانش | سند، داده، مرجع | دادن همهچیز بهجای بخش مربوط |
| تاریخچه | پیامهای قبلی گفتوگو | ادامه دادن یک نخ آلوده |
| درخواست | کاری که همین حالا میخواهید | مبهم گذاشتنش |
بیشتر جوابهای بد از لایهی دوم و سوم میآید، نه از لایهی چهارم. یعنی مشکل معمولاً در نحوهی پرسیدن نیست؛ در چیزی است که کنارش گذاشتهاید.
انتخاب: کم دادن بهتر از زیاد دادن
فرض کنید میخواهید دربارهی یک بند از قرارداد سؤال کنید. سه گزینه دارید: کل قرارداد را بچسبانید، فقط همان بند را بچسبانید، یا همان بند بهعلاوهی تعریفهای مرتبط را بچسبانید. گزینهی سوم تقریباً همیشه بهترین جواب را میدهد.
یک روش عملی برای اسناد بلند: اول خلاصه بگیرید، بعد روی بخش مورد نظر عمیق شوید. روشهای خلاصهسازی مؤثر را در خلاصه کردن متن با هوش مصنوعی نوشتهایم و همانجا نشان دادهایم چطور خلاصه را طوری بگیرید که جزئیات لازم را از دست ندهد.
ترتیب هم مهم است
جای اطلاعات در متن، روی نتیجه اثر میگذارد. الگویی که در عمل خوب جواب میدهد:
[۱] نقش و قواعد ثابت — کوتاه، سه چهار خط
[۲] مواد خام:
--- سند ---
[متن مرجع]
--- پایان سند ---
[۳] دستور دقیق:
فقط بر اساس سند بالا جواب بده.
اگر جواب در سند نیست، بنویس «در سند نیست».
خروجی: [قالب دقیق]
نکته این است که دستور نهایی بعد از مواد خام بیاید. اگر اول دستور را بنویسید و بعد سه هزار کلمه سند بچسبانید، دستور در فاصله گم میشود. این یک تغییر کوچک است که تفاوت محسوسی میسازد.
گفتوگوهای طولانی: نخ آلوده
یکی از رایجترین شکایتها این است که جوابها بعد از بیست پیام بدتر میشوند. علتش ساده است: همهی آن بیست پیام هنوز در زمینهاند، از جمله مسیرهایی که رها کردید و اشتباههایی که اصلاح شد. مدل هنوز آنها را میبیند.
راهحل: وقتی موضوع عوض شد، گفتوگوی تازه باز کنید و فقط نتیجه را منتقل کنید. یک جمله کافی است — «قبلاً به این نتیجه رسیدیم که ... حالا میخواهم ...». این عادت ساده، بیشتر از هر ترفند دیگری کیفیت را در کارهای طولانی بالا نگه میدارد. خطاهای مشابه را در اشتباههای رایج در کار با هوش مصنوعی فهرست کردهایم.
جایی که این بحث جدی میشود
در سیستمهای واقعی، زمینه دیگر دستی ساخته نمیشود. روش بازیابی و تولید — همان چیزی که در RAG چیست توضیح دادهایم — دقیقاً برای همین ساخته شده: بهجای دادن کل پایگاه دانش، فقط بخشهای مرتبط با سؤال پیدا و وارد زمینه میشود.
در عاملهای هوش مصنوعی مسئله سختتر هم میشود، چون عامل در طول کار مدام اطلاعات تازه تولید میکند و باید تصمیم بگیرد چه چیزی را نگه دارد و چه چیزی را دور بریزد. بیشتر شکستهای عاملها از همینجا میآید، نه از ضعف مدل.
پنج کار عملی که همین امروز میتوانید بکنید
- پیش از هر سؤال مهم بپرسید: مدل برای جواب درست، دقیقاً چه چیزی باید بداند؟
- سند بلند را خلاصه کنید یا بخش مربوط را جدا کنید؛ کامل نچسبانید.
- دستور نهایی را بعد از مواد خام بگذارید، نه قبلش.
- موضوع عوض شد، گفتوگو عوض کنید.
- همیشه اضافه کنید: «اگر اطلاعات کافی نیست، بگو چه چیزی کم داری.»
پایهی نوشتن خود درخواست هم سر جای خودش است؛ اگر آن بخش را کار نکردهاید، پرامپتنویسی فارسی نقطهی شروع است. برای امتحان کردن هم میتوانید همین ساختار را در نارنگی با یک سند واقعی پیاده کنید و تفاوت را ببینید. راهنمای رسمی مستندات آنتروپیک هم بخش خوبی دربارهی چیدمان زمینه دارد.
جمعبندی
پرامپتنویسی نمرده، ولی سقف تأثیرش پایین آمده. چیزی که امروز تفاوت میسازد، انتخاب است: چه اطلاعاتی وارد شود، به چه ترتیبی، و مهمتر از همه چه چیزی وارد نشود.
یک آزمایش برای فهمیدن اینکه چقدر این را جدی گرفتهاید: آخرین باری که جواب بدی گرفتید، پرامپت را عوض کردید یا زمینه را؟ اگر همیشه سراغ اولی میروید، احتمالاً مشکل جای دیگری بوده.