Self-Refine Prompting (FA)

From Systems analysis Wiki
Jump to navigation Jump to search

Self-Refine (خودبازبینی یا خودتصحیحی) — رویکردی در حوزه‌ی prompt engineering است که به مدل‌های زبانی بزرگ (LLM) امکان می‌دهد به‌صورت تکراری پاسخ تولیدشده را بر اساس بازخورد خودشان بهبود بخشند[1]. این ایده در سال ۲۰۲۳ توسط گروهی از پژوهشگران به رهبری Aman Madaan پیشنهاد شد و بر این مشاهده استوار است که مدل‌های زبانی، همانند انسان، همیشه در اولین تلاش بهترین نتیجه را تولید نمی‌کنند.

در این روش، یک LLM به‌طور متوالی سه نقش را ایفا می‌کند:

  1. مولد (Generator): پاسخ اولیه‌ی پیش‌نویس را برای درخواست تولید می‌کند.
  2. منتقد (Feedback): پاسخ خود را ارزیابی کرده و بازخورد سازنده ارائه می‌دهد.
  3. ویراستار (Refiner): از این بازخورد برای تولید نسخه‌ی بهبودیافته‌ی پاسخ استفاده می‌کند.

این چرخه‌ی تکراری «تولید ← بازخورد ← بهبود» می‌تواند چندین بار تکرار شود تا زمانی که کیفیت مورد نظر حاصل شود یا شرط توقف برقرار گردد.

نکته‌ی مهم این است که Self-Refine نیازی به آموزش اضافی مدل، fine-tuning یا داده‌های خارجی ندارد — کل فرایند صرفاً از طریق prompt در مرحله‌ی استنتاج (inference) کنترل می‌شود[1].

مکانیزم پیاده‌سازی

روش Self-Refine از طریق دنباله‌ای از promptهای طراحی‌شده‌ی ویژه پیاده‌سازی می‌شود که رفتار مدل را هدایت می‌کنند.

  1. تولید اولیه. مدل prompt اصلی را دریافت کرده و پاسخ پیش‌نویس تولید می‌کند.
  2. ایجاد بازخورد. مدل دستورالعمل دریافت می‌کند تا پاسخ قبلی خود را تحلیل کرده و نقص‌های آن را شناسایی کند. برای مثال، ممکن است اشاره کند که پاسخ به اندازه کافی مفصل نیست یا خطای منطقی دارد. نتیجه، بازخورد متنی با نکات و پیشنهادهای مشخص است.
  3. بهبود تکراری. مدل درخواست اولیه، پاسخ نخست خود و بازخورد تولیدشده را به‌عنوان prompt جدید دریافت می‌کند. بر این اساس، نسخه‌ی بهبودیافته‌ای از پاسخ تولید می‌کند.

این چرخه‌ی دومرحله‌ای «نقد ← ویرایش» می‌تواند چندین بار اجرا شود. در زمینه‌ی هر تکرار جدید، نسخه‌های قبلی پاسخ و نظرات گنجانده می‌شود که به مدل کمک می‌کند از تکرار خطاها اجتناب کند[2]. برای کنترل رفتار مدل اغلب از تکنیک‌های few-shot prompting استفاده می‌شود که در آن نمونه‌هایی از قالب بازخورد و اصلاحات مطلوب در prompt گنجانده می‌شود.

اثربخشی و کاربرد

روش Self-Refine اثربخشی خود را در تعدادی از وظایفی که نیاز به بازبینی‌های مکرر دارند نشان داده است، از جمله:

  • تولید پاسخ‌های مکالمه‌ای.
  • ادامه‌دهی خلاقانه‌ی داستان.
  • حل مسائل ریاضی با استدلال گام‌به‌گام.
  • بهینه‌سازی کد نرم‌افزاری.

در پژوهش اصلی، پاسخ‌های به‌دست‌آمده با Self-Refine به‌طور میانگین ~۲۰٪ نسبت به تولید تک‌مرحله‌ای از دید ارزیابان انسانی و معیارهای خودکار ترجیح داده شدند[1]. بهبود حتی برای پیشرفته‌ترین مدل‌ها مانند GPT-4 نیز حاصل شد، که نشان می‌دهد حتی LLMهای قدرتمند نیز اغلب تنها به یک گام تأمل اضافی برای تصحیح خطاهای خود نیاز دارند.

رویکردهای مشابهی مانند RCI (Recursive Criticism and Improvement) نیز اثربخشی بالایی در وظایف تعاملی نشان دادند، برای مثال در کنترل رایانه و حل مسائل منطقی. ترکیب RCI با تکنیک «زنجیره‌ی افکار» (Chain-of-Thought) اثر هم‌افزایی ایجاد کرد و توانایی مدل در حل مسائل پیچیده را از طریق یک مرحله‌ی خودبررسی درون‌ساخت به‌طور چشمگیری بهبود بخشید[3].

محدودیت‌ها و پژوهش‌های جاری

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

  • تعصب به خود (self-bias): مدل‌ها در قضاوت بی‌طرفانه درباره‌ی پاسخ‌های خود دچار مشکل می‌شوند. LLMها تمایل دارند متن تولیدشده‌ی خود را مطلوب ببینند و آن را به اندازه کافی نقادانه ارزیابی نکنند، که می‌تواند پس از چند تکرار به رکود یا حتی کاهش کیفیت منجر شود[4].
  • اطمینان بیش از حد: مشاهده شده است که با افزایش تعداد تکرارهای خودتصحیحی، مدل ممکن است اطمینان بیش از حد به پاسخ‌های خود پیدا کند، حتی اگر دقت آن‌ها افزایش نیافته باشد. این امر به افزایش شاخص Expected Calibration Error (ECE) — ناهماهنگی بین اطمینان مدل و دقت واقعی — منجر می‌شود[5].
  • هزینه‌های محاسباتی: این روش برای دریافت یک پاسخ نهایی نیازمند چندین فراخوانی از LLM است که در مقایسه با تولید تک‌گذری، تأخیر و هزینه را به‌طور قابل توجهی افزایش می‌دهد.

پژوهش‌های جاری در پی حل این مشکلات هستند. یکی از جهت‌ها — پیاده‌سازی مکانیزم‌های کالیبراسیون اطمینان در هر گام تکرار است. جهت دیگر — بهره‌گیری از منابع اطلاعاتی یا ابزارهای خارجی (مانند اجرای کد، جستجوی داده) برای خودارزیابی عینی‌تر است[6].

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

  • Chain-of-Thought (CoT): CoT بر تولید زنجیره‌ی خطی استدلال برای رسیدن به پاسخ تمرکز دارد. Self-Refine در مقابل، بر بهبود تکراری پاسخ از پیش تولیدشده تمرکز می‌کند (که ممکن است شامل CoT باشد).
  • Tree of Thoughts (ToT): ToT مسیرهای استدلال موازی متعددی را به شکل درخت بررسی می‌کند، در حالی که Self-Refine یک مسیر را به‌صورت تکراری بهبود می‌بخشد. ToT تکنیکی برای کاوش فضای راه‌حل است، در حالی که Self-Refine تکنیکی برای بهینه‌سازی یک راه‌حل مشخص است.

پیوندها

  • وب‌سایت رسمی پروژه‌ی Self-Refine
  • مقاله‌ی علمی اصلی "Self-Refine: Iterative Refinement with Self-Feedback"

منابع

  • Madaan, A. et al. (2023). Self-Refine: Iterative Refinement with Self-Feedback. arXiv:2303.17651.
  • Kim, G. et al. (2023). Language Models Can Solve Computer Tasks. arXiv:2303.17491.
  • Gou, Z. et al. (2023). CRITIC: Large Language Models Can Self-Correct with Tool-Interactive Critiquing. arXiv:2305.11738.
  • Huang, J. et al. (2023). Large Language Models Cannot Self-Correct Reasoning Yet. arXiv:2310.01798.
  • Pan, L. et al. (2023). Automatically Correcting Large Language Models: Surveying the Landscape of Diverse Self-Correction Strategies. arXiv:2308.03188.
  • Jiang, C. et al. (2024). Importance Weighting Can Help Large Language Models Self-Improve. arXiv:2408.09849.
  • Liang, X. et al. (2024). Internal Consistency and Self-Feedback in Large Language Models: A Survey. arXiv:2407.14507.
  • Zhu, D. et al. (2025). Beyond Accuracy: The Role of Calibration in Self-Improving Large Language Models. arXiv:2504.02902.
  • Hao, Q. et al. (2025). RL of Thoughts: Navigating LLM Reasoning with Inference-time Reinforcement Learning. arXiv:2505.14140.
  • Cui, Y. et al. (2023). Check Your Facts and Try Again: Improving Large Language Models by Reducing Hallucination. arXiv:2302.12813.
  • Wei, Z. et al. (2024). ReSearch: Iterative Self-Reflection for Better LLM Calibration. arXiv:2405.13022.

یادداشت‌ها

  1. 1.0 1.1 1.2 Madaan, Aman; et al. «Self-Refine: Iterative Refinement with Self-Feedback». arXiv. [۱]
  2. «Self-Refine: Iterative Refinement with Self-Feedback». Официальный сайт проекта. [۲]
  3. Kim, Geunwoo; et al. «Language Models can Solve Computer Tasks». arXiv. [۳]
  4. Huang, Jie; et al. «Large Language Models Cannot Self-Correct Reasoning Yet». arXiv. [۴]
  5. Zhu, D., et al. (2025). «Beyond Accuracy: The Role of Calibration in Self-Improving Large Language Models». arXiv. [۵]
  6. «Beyond Accuracy: The Role of Calibration in Self-Improving Large Language Models». arXiv. [۶]