پرامپت نویسی برای دقت واقعی چگونه انجام می‌شود و چرا توهم مدل‌های زبانی این‌قدر سرسختانه است؟ دقت واقعی یکی از چالش‌برانگیزترین حوزه‌های کار با مدل‌های زبانی است. تفاوت بین یک پاسخ دقیق و یک پاسخ خیال‌پردازانه، معمولاً نه در مدل، بلکه در ساختار پرامپت نهفته است. طراحی دقیق پرامپت، مهم‌ترین ابزار برای کنترل این تفاوت است.

چکیده‌ای از مسیر پیش رو

در این نوشتار ابتدا تعریف دقت واقعی در پرامپت نویسی و ریشه‌های توهم مدل‌های زبانی بررسی می‌شود. سپس زمینه‌سازی، اجبار به استناد، مدیریت عدم قطعیت، درخواست خودبازبینی و محدودسازی دامنه پاسخ ارائه می‌گردد. در ادامه، شاخص‌های سنجش دقت، اشتباهات رایج و ابعاد معماری دقت مرور می‌شود.

دقت واقعی در پرامپت نویسی چیست؟

دقت واقعی به معنای انطباق خروجی مدل با واقعیت است. در پرامپت نویسی، این موضوع به طراحی پرامپت‌هایی گفته می‌شود که احتمال تولید اطلاعات نادرست را کاهش می‌دهند. برای مطالعه پایه‌های این حوزه، نوشتار راهنمای پایه پرامپت نویسی را ببینید.

مدل‌های زبانی، ذاتاً به سمت پاسخ‌های روان و محتمل حرکت می‌کنند، نه پاسخ‌های دقیق. این تمایل در طراحی پرامپت باید کنترل شود. اگر پرامپت فقط از مدل بخواهد «پاسخ بدهد»، احتمال تولید اطلاعات نادرست بالا است. اما اگر پرامپت محدوده، معیار و رفتار در شرایط عدم قطعیت را تعریف کند، دقت به‌طور محسوس افزایش می‌یابد.

در ادبیات علمی، این حوزه با عنوان Hallucination in AI شناخته می‌شود و در ویکی‌پدیا نیز به‌عنوان Hallucination in Artificial Intelligence معرفی شده است.

ریشه‌های توهم در مدل‌های زبانی

برای طراحی پرامپت دقیق، اول باید بفهمیم توهم از کجا می‌آید:

۱. محدودیت دانش

هر مدل زبانی، محدود به داده‌های آموزشی خود است. اگر پرسشی خارج از این دامنه باشد، مدل ممکن است به سمت جعل اطلاعات برود. برای مطالعه دقیق‌تر، نوشتار راهنمای توهم در مدل‌های زبانی را ببینید.

۲. فشار برای پاسخ‌دهی

مدل‌ها طوری آموزش دیده‌اند که همیشه پاسخ دهند. این فشار، حتی در مواردی که مدل نمی‌داند، به تولید پاسخ منجر می‌شود. طراحی پرامپت باید به مدل اجازه‌ی اعلام ندانستن بدهد.

۳. کمبود زمینه

اگر پرامپت زمینه کافی نداشته باشد، مدل به سمت پاسخ‌های عمومی یا ساختگی می‌رود. زمینه‌سازی (Grounding) یکی از مؤثرترین راه‌های کاهش توهم است.

مدل زبانی، برخلاف تصور رایج، دروغ نمی‌گوید؛ اما وقتی نمی‌داند، حرف می‌زند. وظیفه پرامپت این است که این فاصله را پر کند.

زمینه‌سازی (Grounding) به‌عنوان ستون اصلی

زمینه‌سازی، یعنی ارائه‌ی اطلاعات مستند به مدل، به‌گونه‌ای که پاسخ بر پایه‌ی آن اطلاعات ساخته شود. سه راهبرد اصلی:

ارائه متن مرجع

اگر قرار است مدل درباره‌ی موضوعی پاسخ دهد، متن مرجع را در پرامپت قرار دهید. این تکنیک که در سیستم‌های RAG رایج است، دقت را به‌طور محسوس بالا می‌برد. برای مطالعه دقیق‌تر، نوشتار بررسی عمیق RAG را ببینید.

اجبار به ارجاع

از مدل بخواهید هر ادعا را به بخشی از متن مرجع ارجاع دهد. اگر مدل نتواند ارجاع دهد، یعنی ادعا بر پایه‌ی متن نیست. این تکنیک، خطاها را زودتر آشکار می‌کند.

تعریف مرجع مجاز

مشخص کنید که مدل فقط مجاز به استفاده از متن مرجع است و نباید از دانش داخلی خود استفاده کند. این محدودیت، جلوی ورود اطلاعات تأییدنشده را می‌گیرد.

اجبار به استناد و منبع‌دهی

یکی از مؤثرترین تکنیک‌ها برای افزایش دقت، اجبار به استناد است. سه سطح استناد:

سطح استنادتوضیحکاربرد
بدون استنادادعاها بدون ذکر منبعکاربردهای عمومی
استناد به سندارجاع به سند یا متن مرجعپاسخ بر پایه RAG
استناد به بخشارجاع به بخش مشخص متنپاسخ‌های دقیق
استناد به پاراگرافارجاع به شماره پاراگرافپاسخ‌های حساس

هرچه سطح استناد دقیق‌تر باشد، دقت پاسخ بالاتر می‌رود. در سیستم‌های حساس، سطح استناد به پاراگراف توصیه می‌شود. برای مطالعه دقیق‌تر، نوشتار پرامپت نویسی برای استخراج اطلاعات را ببینید.

مدیریت عدم قطعیت در پرامپت

یکی از مهم‌ترین ابزارها برای کاهش توهم، مدیریت عدم قطعیت است. سه راهبرد اصلی:

اجازه‌ی اعلام ندانستن

در پرامپت مشخص کنید که مدل در صورت ندانستن، اجازه دارد بگوید «نمی‌دانم». این اجازه، جلوی جعل اطلاعات را می‌گیرد.

درخواست سطح اطمینان

از مدل بخواهید برای هر ادعا، سطح اطمینان خود را در قالب یک عدد بین ۰ تا ۱ بیان کند. اگر سطح اطمینان پایین است، لایه‌های بالاتر می‌توانند آن را به بازبینی انسانی ارجاع دهند.

تفکیک واقعیت از فرض

از مدل بخواهید به‌طور صریح بین واقعیت و فرض تفکیک قائل شود. این تکنیک، خطاهای ظریف را آشکار می‌کند. برای مطالعه دقیق‌تر، نوشتار پرامپت نویسی برای استدلال را ببینید.

درخواست خودبازبینی از مدل

در برخی پیاده‌سازی‌ها، می‌توان از مدل خواست پاسخ خود را بازبینی کند. این تکنیک که با عنوان Self-Refine شناخته می‌شود، دقت را به‌طور محسوس بالا می‌برد. ساختار پیشنهادی:

  1. نسخه اول پاسخ را تولید کنید.
  2. از مدل بخواهید پاسخ خود را برای دقت بررسی کند.
  3. نسخه اصلاح‌شده را تولید کنید.

این چرخه می‌تواند یک یا دو بار تکرار شود. بیشتر از دو بار، معمولاً بازده کمی دارد. برای مطالعه دقیق‌تر، نوشتار اصلاح تدریجی پرامپت را ببینید.

محدودسازی دامنه پاسخ

یکی از مؤثرترین راه‌ها برای افزایش دقت، محدودسازی دامنه‌ی پاسخ است. سه تکنیک اصلی:

تعریف موضوع دقیق

اگر موضوع پاسخ مشخص باشد، مدل به سمت موضوعات جانبی نمی‌رود. به‌جای «درباره X توضیح بده»، بنویسید «فقط جنبه‌های فنی X را توضیح بده، بدون پرداختن به جنبه‌های تاریخی».

تعریف سطح تخصص

سطح توضیح باید مشخص باشد. اگر مدل بخواهد در سطحی پایین‌تر یا بالاتر از تعریف‌شده توضیح دهد، ممکن است اطلاعات غیرمرتبط اضافه کند.

تعریف مخاطب

مخاطب هدف، دامنه‌ی پاسخ را محدود می‌کند. اگر مخاطب متخصص است، مدل می‌تواند از توضیحات پایه پرهیز کند. برای مطالعه دقیق‌تر، نوشتار نقش زمینه و بافت در پرامپت نویسی را ببینید.

مدیریت اطلاعات حساس به زمان

یکی از چالش‌های مهم در دقت، اطلاعات حساس به زمان است. مدل‌های زبانی تا یک تاریخ مشخص آموزش دیده‌اند و از وقایع بعد از آن بی‌خبر هستند. برای مدیریت این موضوع:

تعریف تاریخ مرجع

اگر پاسخ حساس به زمان است، تاریخ مرجع را در پرامپت مشخص کنید. مثلاً «پاسخ را بر اساس اطلاعات تا پایان ۲۰۲۴ ارائه بده».

استفاده از ابزارهای جستجو

اگر مدل به ابزارهای جستجو دسترسی دارد، از آن بخواهید برای اطلاعات جاری از این ابزارها استفاده کند. این تکنیک، دقت اطلاعات حساس به زمان را بالا می‌برد.

اعلام محدودیت

اگر اطلاعات مدل قدیمی است، اجازه دهید مدل این محدودیت را اعلام کند. این شفافیت، جلوی جعل اطلاعات را می‌گیرد.

سنجش دقت واقعی خروجی

سنجش دقت واقعی، یکی از سخت‌ترین بخش‌های این حوزه است. چند شاخص مفید:

شاخصتوضیح
Factual Accuracyدرصد ادعاهای صحیح از کل ادعاها
Citation Accuracyدرصد استنادهای صحیح
Hallucination Rateدرصد پاسخ‌های حاوی اطلاعات ساختگی
Uncertainty Calibrationمیزان تطابق سطح اطمینان با دقت واقعی
Refusal Rateدرصد پاسخ‌های «نمی‌دانم»

ترکیب این شاخص‌ها، معیار جامعی از دقت ارائه می‌دهد. برای مطالعه دقیق‌تر، نوشتار معیارهای ارزیابی پرامپت را ببینید.

اشتباهات رایج در پرامپت نویسی برای دقت

  • نبود زمینه کافی برای پاسخ
  • عدم اجازه به مدل برای اعلام ندانستن
  • نبود درخواست استناد و منبع‌دهی
  • عدم تفکیک واقعیت از فرض
  • نبود بازبینی خودکار خروجی
  • نادیده گرفتن تاریخ مرجع در پرسش‌های حساس به زمان
  • پذیرش پاسخ اول بدون بررسی دقت
  • نبود مدیریت عدم قطعیت
  • عدم هماهنگی بین پرامپت سیستمی و کاربر
  • نادیده گرفتن زبان فارسی در طراحی پرامپت دقیق

پرسش‌های متداول درباره دقت واقعی

چطور دقت پاسخ مدل زبانی را افزایش دهیم؟

با ترکیبی از زمینه‌سازی، اجبار به استناد، مدیریت عدم قطعیت، درخواست خودبازبینی و محدودسازی دامنه پاسخ.

چرا مدل زبانی اطلاعات نادرست تولید می‌کند؟

به دلیل محدودیت دانش، فشار برای پاسخ‌دهی، و کمبود زمینه. طراحی پرامپت باید این عوامل را کنترل کند. برای مطالعه دقیق‌تر، نوشتار راهنمای توهم در مدل‌های زبانی را ببینید.

آیا استناد به منابع باعث افزایش دقت می‌شود؟

بله، اگر استناد به منابع معتبر و مشخص باشد. استنادهای کلی یا ساختگی، اثری بر دقت ندارند.

آیا مدل زبانی می‌تواند همیشه بگوید نمی‌دانم؟

با آموزش صریح در پرامپت، بله. اما این رفتار باید در پرامپت تعریف شود، زیرا به‌طور پیش‌فرض مدل تمایل به پاسخ‌دهی دارد.

آیا دقت مدل زبانی در زبان فارسی با انگلیسی متفاوت است؟

در برخی حوزه‌ها بله، به دلیل تفاوت در داده‌های آموزشی. طراحی پرامپت باید این تفاوت را در نظر بگیرد.

نگاه عمیق‌تر به معماری دقت

از منظر معماری، دقت محصول تعامل چند لایه است. لایه اول، پیش‌پردازش است که شامل زمینه‌سازی و محدودسازی می‌شود. لایه دوم، پرامپت است که رفتار مدل را هدایت می‌کند. لایه سوم، استنتاج است. لایه چهارم، اعتبارسنجی است که شامل بررسی استنادها، سطح اطمینان و انطباق با قواعد می‌شود.

در سیستم‌های بالغ، معمولاً از ترکیب چند مدل استفاده می‌شود. یک مدل برای تولید پاسخ اولیه و یک مدل برای بازبینی و اعتبارسنجی. این معماری که با عنوان Fact-Checking Pipeline شناخته می‌شود، دقت نهایی را به‌طور محسوس بالا می‌برد. برای مطالعه دقیق‌تر، نوشتار مسیریابی مدل‌های زبانی بر اساس هزینه و کیفیت را ببینید.

نکته مهم دیگر این است که دقت واقعی به داده‌های مرجع بستگی دارد. اگر داده‌های مرجع ناقص یا قدیمی باشند، دقت پاسخ هم محدود خواهد بود. برای مطالعه دقیق‌تر، نوشتار فشرده‌سازی زمینه در RAG را ببینید.

در سیستم‌های مقیاس بزرگ، معمولاً یک لایه بررسی انسانی برای موارد حساس پیش‌بینی می‌شود. این لایه، آخرین خط دفاعی در برابر خطاهای ظریف است. برای مطالعه دقیق‌تر، نوشتار راهنمای گاردریل‌های LLM را ببینید.

آخرین نکته‌ای که در طراحی سیستم‌های حساس به دقت بارها تجربه کرده‌ایم: همیشه یک نسخه از پاسخ مدل و یک نسخه از داده‌های مرجع را برای بازبینی نگه دارید. این رویکرد، امکان تشخیص انحراف تدریجی در دقت را فراهم می‌کند. مسئله هزینه نیز در این حوزه اهمیت دارد؛ برای مطالعه دقیق‌تر، نوشتار بهینه‌سازی هزینه در پرامپت نویسی را ببینید.

تجربه شما

اگر در پروژه‌ای واقعی روی دقت واقعی مدل‌های زبانی کار کرده‌اید، برای ما جالب است بدانید کدام تکنیک بیشترین اثر را داشته است: زمینه‌سازی، اجبار به استناد، یا درخواست خودبازبینی. اگر رویکرد متفاوتی برای افزایش دقت دارید، تجربه‌تان را در دیدگاه‌ها بنویسید تا خواننده بعدی از آن استفاده کند.