- คู่มือที่แบ่งปันกลยุทธ์และเทคนิคเพื่อให้ได้ผลลัพธ์ที่ดียิ่งขึ้นจากโมเดลภาษาขนาดใหญ่ (หรือที่เรียกว่าโมเดล GPT)
- วิธีการที่อธิบายไว้ที่นี่บางครั้งสามารถนำมาผสมผสานกันเพื่อให้ได้ผลลัพธ์ที่ดีกว่าเดิม และแนะนำให้ทดลองเพื่อค้นหาวิธีที่เหมาะสมที่สุด
- สามารถสำรวจตัวอย่างพรอมป์ต์เพื่อเรียนรู้ว่าโมเดลทำอะไรได้บ้าง
หกกลยุทธ์เพื่อให้ได้ผลลัพธ์ที่ดีกว่า
เขียนคำสั่งให้ชัดเจน
- โมเดลไม่สามารถอ่านใจได้ จึงต้องขอสิ่งที่ต้องการอย่างชัดเจน
- ใส่รายละเอียดเพื่อให้ได้คำตอบที่เกี่ยวข้องมากขึ้น ขอให้โมเดลสวมบทบาทเป็นบุคคลเฉพาะ หรือใช้ตัวคั่นเพื่อระบุส่วนที่แยกจากกันของอินพุตให้ชัดเจน
- ระบุขั้นตอนที่จำเป็นต่อการทำงานให้เสร็จสิ้น ยกตัวอย่าง และกำหนดความยาวของเอาต์พุตตามที่ต้องการ
ให้ข้อความอ้างอิง
- โมเดลภาษาสามารถสร้างคำตอบปลอมอย่างมั่นใจได้ โดยเฉพาะเมื่อถามถึงหัวข้อที่ยากมาก หรือขอคำอ้างอิงหรือ URL
- สั่งให้โมเดลตอบโดยใช้ข้อความอ้างอิง หรือสั่งให้ตอบพร้อมยกข้อความจากข้อความอ้างอิง
แบ่งงานที่ซับซ้อนออกเป็นงานย่อยที่ง่ายกว่า
- เช่นเดียวกับที่การแยกระบบที่ซับซ้อนออกเป็นองค์ประกอบแบบโมดูลาร์เป็นแนวปฏิบัติที่ดีในวิศวกรรมซอฟต์แวร์ งานที่ส่งให้โมเดลภาษาก็เช่นกัน
- งานที่ซับซ้อนมีอัตราความผิดพลาดสูง และมักนิยามใหม่ให้เป็นเวิร์กโฟลว์ของงานที่ง่ายกว่าได้
- ใช้การจัดประเภทเจตนาเพื่อระบุคำสั่งที่เกี่ยวข้องที่สุดกับคำถามของผู้ใช้ และสำหรับแอปพลิเคชันสนทนาที่ต้องมีบทสนทนายาวมาก ให้สรุปหรือกรองบทสนทนาก่อนหน้า
- สรุปเอกสารยาวเป็นส่วน ๆ และประกอบเป็นบทสรุปทั้งหมดแบบเวียนซ้ำ
ให้โมเดลมี "เวลาคิด"
- แทนที่โมเดลจะรีบตอบ การขอ "ห่วงโซ่ความคิด" ก่อนให้คำตอบสามารถนำไปสู่คำตอบที่น่าเชื่อถือยิ่งขึ้นได้
- สั่งให้โมเดลจัดเตรียมวิธีแก้ของตัวเองก่อน และใช้บทพูดภายในหรือชุดของคิวรีเพื่อซ่อนกระบวนการให้เหตุผลของโมเดล
- ถามโมเดลว่ามีสิ่งใดที่พลาดไปจากรอบก่อนหน้าหรือไม่
ใช้เครื่องมือภายนอก
- ป้อนผลลัพธ์จากเครื่องมืออื่นให้โมเดลเพื่อชดเชยจุดอ่อนของโมเดล
- ใช้การค้นหาแบบอิง embedding เพื่อทำระบบค้นหาความรู้ที่มีประสิทธิภาพ ใช้การรันโค้ดเพื่อคำนวณได้แม่นยำขึ้น หรือเรียกใช้ API ภายนอก
- อนุญาตให้โมเดลเข้าถึงฟังก์ชันเฉพาะ
ทดสอบการเปลี่ยนแปลงอย่างเป็นระบบ
- การปรับปรุงประสิทธิภาพจะทำได้ง่ายขึ้นเมื่อสามารถวัดผลได้
- จำเป็นต้องกำหนดชุดทดสอบที่ครอบคลุม (หรือ "eval") เพื่อตรวจสอบว่าการเปลี่ยนแปลงส่งผลเชิงบวกต่อประสิทธิภาพโดยรวมหรือไม่
- ประเมินโดยเปรียบเทียบเอาต์พุตของโมเดลกับคำตอบมาตรฐาน
ความเห็นของ GN⁺
- ประเด็นสำคัญที่สุด: Prompt Engineering เป็นวิธีหลักในการเพิ่มประสิทธิภาพของโมเดลภาษา โดยช่วยให้เข้าใจเจตนาของผู้ใช้ได้อย่างแม่นยำและให้คำแนะนำที่เป็นรูปธรรมเพื่อให้ได้ผลลัพธ์ตามต้องการ
- เหตุผลที่น่าสนใจ: กลยุทธ์เหล่านี้ทำให้การใช้งานโมเดลภาษาปัญญาประดิษฐ์มีประสิทธิภาพมากขึ้น และช่วยให้แสดงสมรรถนะได้สูงขึ้นยิ่งกว่าเดิม โดยเฉพาะในโมเดลรุ่นใหม่อย่าง GPT-4
- จุดที่น่าจับตา: คู่มือนี้นำเสนอวิธีใช้โมเดลให้เกิดประสิทธิผลมากขึ้นในงานจริง ผ่านตัวอย่างและกลยุทธ์ที่เป็นรูปธรรมซึ่งช่วยแก้ปัญหาทั่วไปที่วิศวกรซอฟต์แวร์ระดับเริ่มต้นอาจพบเมื่อใช้งานโมเดลภาษา
2 ความคิดเห็น
แนวทางปฏิบัติที่ดีที่สุดสำหรับ GPT ของ OpenAI: ภาพรวม 6 กลยุทธ์การเขียนพรอมต์เพื่อให้ได้คำตอบที่ดียิ่งขึ้น
ความเห็นจาก Hacker News
การพูดคุยเกี่ยวกับ system prompt ของ ChatGPT
ประสบการณ์การสั่งชีสเบอร์เกอร์เป็นภาษาสเปน
การพูดคุยเกี่ยวกับลักษณะของ LLM (Large Language Models)
ความลังเลในการเรียนรู้การเขียนพรอมป์ต์
การเปรียบเทียบระหว่าง prompt engineering กับคำค้นหาขั้นสูงของ Google
การเปรียบเทียบระหว่างพรอมป์ต์ของ Google Search กับพรอมป์ต์ของ LLM
ความล้มเหลวของการสื่อสารระหว่างมนุษย์และข้อจำกัดของ LLM
คำวิจารณ์ต่อคำว่า "prompt engineering"
บทบาทของ LLM ในการสอนให้มนุษย์สื่อสารได้ชัดเจนขึ้น
ความง่ายในการพัฒนาแชตแอปที่ใช้ LLM