มีดมาจากไหน
ตอนอยู่ชั้นประถมศึกษาปีที่ 3 ผมเคยเขียนคู่มือวิธีการทำแซนด์วิชเนยถั่วและแยม
ผมเขียนไว้สี่ขั้นตอน:
- เตรียมขนมปัง
- เตรียมเนยถั่วและแยม
- ทาวัตถุดิบลงบนขนมปัง
- ประกบเข้าด้วยกัน
ครูของผมถามคำถามหนึ่งว่า: แล้วมีดมาจากไหน?
ผมเห็นภาพในหัว ผมเห็นมีดอยู่ในลิ้นชักห้องครัวเมื่อเช้านั้น ผมเลยทึกทักเอาเองว่าผู้อ่านก็เห็นมันเหมือนกัน ซึ่งผมคิดผิด
ผมทำผิดพลาดแบบเดียวกันตอนที่เริ่มทำ prompt engineering คนส่วนใหญ่ก็มักจะเดินตามเส้นทางนี้:
ระยะที่หนึ่ง: The one-liner คุณเขียนเพียงประโยคเดียวแล้วคาดหวังให้โมเดลอ่านใจคุณออก เมื่อมันล้มเหลว คุณกลับไปทะเลาะกับโมเดลแทนที่จะแก้ไข prompt
ระยะที่สอง: The notebook คุณเริ่มบันทึก prompt ที่ใช้งานได้จริง คุณเริ่มสังเกตเห็นว่าความสม่ำเสมอนั้นสำคัญ และเห็นว่า prompt บางอย่างล้มเหลวเพราะขาดการตั้งค่า (setup) ที่จำเป็น
ระยะที่สาม: The environment คุณตระหนักได้ว่า prompt ไม่ใช่แค่คำสั่ง แต่มันคือ "ห้อง" หนึ่งห้อง โมเดลจะใช้เพียงสิ่งที่อยู่ในห้องนั้นเท่านั้น ถ้าไม่มีมีดอยู่ในห้อง แซนด์วิชก็ไม่มีวันถูกทำขึ้นมาได้
การจะสร้าง prompt ที่ดีขึ้น คุณต้องวางองค์ประกอบสามอย่างนี้ซ้อนกัน:
- Context: บอกโมเดลว่ามันสามารถเข้าถึงข้อมูลอะไรได้บ้าง
- Constraints: บอกโมเดลถึงวิธีการใช้เครื่องมือและสิ่งที่ควรหลีกเลี่ยง
- Acceptance criteria: กำหนดลักษณะของผลลัพธ์ที่เสร็จสมบูรณ์ เพื่อให้โมเดลสามารถตรวจสอบงานของตัวเองได้
ลืมเรื่องคำวิเศษหรือเทคนิคแพรวพราวไปได้เลย Prompt engineering นั้นเหมือนกับการเขียน bug report หรือ design doc ให้สมมติไว้ก่อนว่าผู้อ่านไม่มีบริบทเดียวกับคุณ ดังนั้นจงใส่บริบทเหล่านั้นลงไปในข้อความของคุณด้วย
Source: https://dev.to/rshade/where-did-the-knife-come-from-1ebp
Optional learning community: https://t.me/GyaanSetuAi