Self-Refine Prompting (TH)
Self-Refine (การปรับแต่งตนเอง หรือ การแก้ไขตนเอง) — คือแนวทางในสาขา prompt engineering ที่ช่วยให้โมเดลภาษาขนาดใหญ่ (LLM) ปรับปรุงคำตอบที่สร้างขึ้นอย่างวนซ้ำโดยอาศัยข้อเสนอแนะจากตัวเองนั้น[1] แนวคิดนี้เสนอโดยกลุ่มนักวิจัยภายใต้การนำของ Aman Madaan ในปี 2023 และมีพื้นฐานจากการสังเกตว่า เช่นเดียวกับมนุษย์ โมเดลภาษาไม่ได้สร้างผลลัพธ์ที่ดีที่สุดเสมอไปในครั้งแรก
ในวิธีนี้ LLM ตัวเดียวกันทำหน้าที่สามบทบาทตามลำดับ:
- Generator (ตัวสร้าง): สร้างคำตอบฉบับร่างเริ่มต้นสำหรับคำขอ
- Feedback (ตัวประเมิน): ประเมินคำตอบของตัวเองและให้ข้อเสนอแนะเชิงสร้างสรรค์
- Refiner (ตัวแก้ไข): ใช้ข้อเสนอแนะนั้นเพื่อสร้างคำตอบเวอร์ชันที่ดีขึ้น
วงจรวนซ้ำ «การสร้าง → ข้อเสนอแนะ → การปรับปรุง» สามารถดำเนินซ้ำได้หลายครั้งจนกว่าจะบรรลุคุณภาพที่ต้องการหรือเงื่อนไขการหยุดทำงาน
สิ่งสำคัญคือ Self-Refine ไม่ต้องการการฝึกโมเดลเพิ่มเติม การ fine-tuning หรือข้อมูลภายนอก — กระบวนการทั้งหมดควบคุมผ่าน prompt ในขั้นตอน inference เท่านั้น[1]
กลไกการทำงาน
วิธี Self-Refine ทำงานผ่านลำดับของ prompt ที่ออกแบบมาเป็นพิเศษเพื่อกำหนดพฤติกรรมของโมเดล
- การสร้างเริ่มต้น โมเดลได้รับ prompt ต้นฉบับและสร้างคำตอบฉบับร่าง
- การสร้างข้อเสนอแนะ โมเดลได้รับคำสั่งให้วิเคราะห์คำตอบก่อนหน้าของตัวเองและระบุข้อบกพร่อง ตัวอย่างเช่น อาจสังเกตว่าคำตอบไม่ละเอียดเพียงพอหรือมีข้อผิดพลาดเชิงตรรกะ ผลลัพธ์คือข้อเสนอแนะในรูปแบบข้อความพร้อมคำวิจารณ์และคำแนะนำเฉพาะ
- การปรับปรุงแบบวนซ้ำ โมเดลได้รับคำขอต้นฉบับ คำตอบเดิม และข้อเสนอแนะที่สร้างขึ้นเป็น prompt ใหม่ จากนั้นจึงสร้างคำตอบเวอร์ชันที่ดีขึ้น
วงจรสองขั้น «การวิจารณ์ → การแก้ไข» สามารถดำเนินซ้ำได้หลายครั้ง บริบทของแต่ละการวนซ้ำใหม่จะรวมคำตอบและความคิดเห็นจากรอบก่อนหน้า ซึ่งช่วยให้โมเดลหลีกเลี่ยงการทำผิดพลาดซ้ำ[2] เทคนิค few-shot prompting มักถูกนำมาใช้เพื่อควบคุมพฤติกรรมของโมเดล โดยรวมตัวอย่างรูปแบบข้อเสนอแนะและการแก้ไขที่ต้องการไว้ใน prompt
ประสิทธิภาพและการประยุกต์ใช้
วิธี Self-Refine แสดงให้เห็นถึงประสิทธิภาพในงานหลายประเภทที่ต้องการการปรับแต่งซ้ำ เช่น:
- การสร้างคำตอบในการสนทนา
- การเขียนเรื่องสั้นเชิงสร้างสรรค์
- การแก้โจทย์คณิตศาสตร์ด้วยการให้เหตุผลทีละขั้นตอน
- การปรับปรุงโค้ดโปรแกรม
ในงานวิจัยต้นฉบับ คำตอบที่ได้จาก Self-Refine มีความน่าพอใจสูงกว่าเฉลี่ย ~20% ตามการประเมินของมนุษย์และตัวชี้วัดอัตโนมัติ เมื่อเทียบกับการสร้างแบบขั้นตอนเดียว[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.0 1.1 1.2 Madaan, Aman; et al. «Self-Refine: Iterative Refinement with Self-Feedback». arXiv. [1]
- ↑ «Self-Refine: Iterative Refinement with Self-Feedback». Официальный сайт проекта. [2]
- ↑ Kim, Geunwoo; et al. «Language Models can Solve Computer Tasks». arXiv. [3]
- ↑ Huang, Jie; et al. «Large Language Models Cannot Self-Correct Reasoning Yet». arXiv. [4]
- ↑ Zhu, D., et al. (2025). «Beyond Accuracy: The Role of Calibration in Self-Improving Large Language Models». arXiv. [5]
- ↑ «Beyond Accuracy: The Role of Calibration in Self-Improving Large Language Models». arXiv. [6]