งานวิจัยล่าสุดจาก arxiv โดย Amal Akli และทีมนักวิจัยเผยว่าการระบุรายละเอียดใน prompt น้อยเกินไป (under-specification) บางครั้งกลับช่วยให้ LLM สร้างโค้ดที่ถูกต้องมากขึ้น ซึ่งเป็นการท้าทายแนวคิดดั้งเดิมที่เชื่อว่า prompt ยิ่งละเอียดยิ่งดี
ผลการทดลองที่น่าทึ่ง
ทีมวิจัยได้ทดสอบ 10 โมเดล LLM บนเบนช์มาร์กที่เป็นที่ยอมรับสองตัวคือ HumanEval และ LiveCodeBench ผลการทดสอบพบสิ่งที่น่าประหลาดใจ: Robustness ของ LLM ไม่ใช่คุณสมบัติคงที่ แต่ขึ้นกับโครงสร้างของ prompt Under-specification ที่ทำให้ผลบน HumanEval แย่ลง กลับมีผลเกือบเป็นศูนย์บน LiveCodeBench เหตุผลสำคัญคือ LiveCodeBench มี task description ที่โครงสร้างสมบูรณ์กว่า (มี redundancy จาก description, constraints, examples, I/O conventions)
เซอร์ไพรส์ที่คาดไม่ถึง
ที่น่าทึ่งคือ prompt mutation บางแบบกลับทำให้ความถูกต้องดีขึ้น! เหตุผลที่น่าสนใจคือ under-specification ช่วยทำลาย misleading lexical cues ที่ทำให้ LLM ดึง solution ผิดๆ มาใช้ กลไกที่พบมีดังนี้: Disruption of over-fitted terminology: ทำลายคำศัพท์ที่ LLM จดจำไว้ผิด Removal of misleading constraints: เอาข้อจำกัดที่ทำให้สับสนออก Elimination of spurious identifier triggers: ลบตัวบอกตัวตนที่ไม่จำเป็นออก
ข้อเสนอใหม่จากงานวิจัย
งานวิจัยนี้เสนอว่า prompt ที่มีโครงสร้างสมบูรณ์ สามารถลดผลเสียจาก under-specification ได้ และบางครั้งกลับช่วยเพิ่มความถูกต้องของโค้ดที่ AI สร้างขึ้นได้ ผลการวิจัยนี้ชี้ให้เห็นว่าการออกแบบ prompt สำหรับการเขียนโค้ดต้องพิจารณาลักษณะเฉพาะของ task และโครงสร้างของเบนช์มาร์ก ไม่ใช่แค่เพิ่มรายละเอียดเข้าไปให้มากที่สุดเสมอไป งานวิจัยนี้เปิดมุมมองใหม่ให้กับวงการ Prompt Engineering และการพัฒนา AI สำหรับการเขียนโค้ดอัตโนมัติ อ่านต้นฉบับ: https://arxiv.org