AI Engineer 101 · Prompt Lab
Bad Prompt vs Good Prompt
เรียนรู้การเขียน Prompt ผ่านการลงมือทำ เริ่มจากทำความเข้าใจว่า Prompt คืออะไร จากนั้นฝึกแยก Prompt ที่ดีกับไม่ดีในส่วนที่ 1 แล้วลองเขียนและทดสอบกับ AI จริงในส่วนที่ 2
Prompt คืออะไร
ความหมายของคำว่า "Prompt"
Prompt (พรอมต์) ในภาษาอังกฤษเป็นได้ทั้งคำกริยาและคำนาม
- กริยา (to prompt): กระตุ้น เตือน ชี้นำ เป็นตัวจุดประกายให้ใครทำบางอย่าง เช่น การกระซิบบอกบทให้นักแสดงละครเวทีที่ลืมบท
- คำนาม (a prompt): สิ่งที่ใช้กระตุ้นหรือชี้นำนั้น เช่น บทที่ถูกกระซิบบอก หรือโจทย์ที่ให้นักเรียนเขียนเรียงความ
ในวงการ AI คำว่า Prompt หมายถึงข้อความหรือคำสั่งที่เราป้อนให้โมเดล AI เพื่อให้มันตอบสนองหรือทำงานตามที่เราต้องการภาษาไทยอาจเรียกว่า "คำสั่ง" หรือ "ข้อความนำเข้า" แต่ส่วนใหญ่นิยมทับศัพท์ว่า "พรอมต์" เพราะ Prompt ไม่ได้มีแค่คำสั่ง แต่รวมถึงบริบท ตัวอย่าง และข้อมูลที่เราให้ด้วย
Prompt Engineering คืออะไร
Prompt Engineering คือทักษะการออกแบบ ทดสอบ และปรับปรุง Prompt เพื่อให้ AI ให้ผลลัพธ์ที่แม่นยำ สม่ำเสมอ และนำไปใช้งานจริงได้ สำหรับ AI Engineer นี่คือทักษะพื้นฐาน เพราะ Prompt ที่ดีช่วยลดต้นทุน ลดข้อผิดพลาด และลดโค้ดที่ต้องเขียนมาแก้ผลลัพธ์ทีหลัง
องค์ประกอบของ Prompt
| องค์ประกอบ | ความหมาย |
|---|---|
| Instruction (คำสั่ง) | งานที่ต้องการให้ทำ |
| Context (บริบท) | ข้อมูลพื้นหลังที่โมเดลต้องรู้ |
| Input Data (ข้อมูลนำเข้า) | เนื้อหาที่ต้องการให้ประมวลผล |
| Output Format (รูปแบบผลลัพธ์) | ต้องการคำตอบหน้าตาแบบไหน |
| Examples (ตัวอย่าง) | ตัวอย่างของผลลัพธ์ที่ดี |
| Constraints (ข้อจำกัด) | ความยาว โทนเสียง สิ่งที่ห้ามทำ |
ตัวอย่างสั้น ๆ
Bad Prompt
Write about Python.
Good Prompt
Write a 300-word beginner-friendly introduction to Python for first-year university students who have never coded. Cover three reasons Python is easy to learn, include one short code example, and end with a suggestion for what to learn next.
เช็กลิสต์ Prompt ที่ดี (8 องค์ประกอบ)
ใช้เช็กลิสต์นี้ตรวจ Prompt ทุกครั้งก่อนส่ง ทั้งสองส่วนของ Prompt Lab ใช้ 8 ข้อนี้เป็นเกณฑ์
| # | องค์ประกอบ | คำถามที่ควรถามตัวเอง | เคล็ดลับ |
|---|---|---|---|
| 1 | เป้าหมาย Goal | ผลลัพธ์ที่ต้องการคืออะไรกันแน่ | บอกงานที่ต้องการให้ชัดเจนในประโยคแรก เช่น "Write a 300-word introduction..." |
| 2 | บริบท Context | โมเดลต้องรู้อะไรบ้างถึงจะทำงานได้ | ใส่ข้อมูลพื้นหลัง เวอร์ชันของเครื่องมือ error message หรือสิ่งที่คาดหวัง |
| 3 | ผู้อ่าน Audience | ผลลัพธ์นี้เขียนให้ใครอ่าน | ระบุผู้อ่านและระดับความรู้ เช่น "for first-year students who have never coded" |
| 4 | รูปแบบ Format | อยากได้หน้าตาแบบไหน (JSON, ตาราง, bullet) | กำหนดโครงสร้างผลลัพธ์ เช่น JSON schema จำนวน bullet หรือหัวข้อที่ต้องมี |
| 5 | ตัวอย่าง Examples | ยกตัวอย่างที่ดี 1-3 อันให้ดูได้ไหม | ใช้ Few-Shot: ใส่ตัวอย่างอินพุตและเอาต์พุตที่ถูกต้อง 1-3 คู่ |
| 6 | ข้อจำกัด Constraints | ความยาว โทนเสียง ขอบเขต สิ่งที่ต้องเลี่ยง | บอกความยาว โทน และขอบเขต โดยเน้นบอกสิ่งที่ต้องการ ไม่ใช่แค่สิ่งที่ห้าม |
| 7 | การอ้างอิง Grounding | ให้แหล่งข้อมูลแล้วหรือยัง อนุญาตให้ตอบว่าไม่รู้ไหม | แนบเอกสารในตัวคั่น เช่น <document> และบอกให้ตอบว่า "ไม่รู้" ถ้าไม่มีข้อมูล |
| 8 | การประเมิน Evaluation | จะวัดได้อย่างไรว่า Prompt นี้ใช้ได้ผล | กำหนดเกณฑ์ที่ตรวจได้ เช่น "Answer on a line starting with Answer:" แล้วทดสอบกับหลายอินพุต |