แม้ว่าเราจะเคยพูดคุยถึงเทคนิคเบื้องต้นในการลดการเกิด Hallucination ไปบ้างแล้ว แต่หนังสือ The Developer’s Guide to AI ยังได้เจาะลึกเทคนิคและแนวปฏิบัติที่ดีที่สุดในการเขียน Prompt โดยแบ่งออกเป็นหลักการพื้นฐาน เทคนิคขั้นสูง และคำแนะนำสำหรับนักพัฒนา ดังนี้ครับ:
1. ยึดหลักการพื้นฐาน 3 ประการ (Prompting Basics) คอมพิวเตอร์และ AI ไม่สามารถเข้าใจเจตนาที่แท้จริงของคุณได้หากคุณไม่บอกกล่าว ดังนั้นคำสั่งที่ดีจะต้องมีคุณสมบัติ 3 ข้อ:
- Detailed (ลงรายละเอียด): ระบุสิ่งที่ต้องการให้ AI ทำอย่างชัดเจน ไม่เปิดช่องให้เกิดการตีความผิด
- Clear (ชัดเจน): ใช้ภาษาที่ตรงไปตรงมาและเข้าใจง่าย
- Concise (กระชับ): หลีกเลี่ยงการใช้คำเยิ่นเย้อหรือข้อมูลที่ไม่เกี่ยวข้องกับงาน
2. วางโครงสร้าง Prompt ด้วย 5 องค์ประกอบหลัก (Prompt Elements) การเขียน Prompt ในระดับโปรดักชันควรมีโครงสร้างที่ช่วยชี้แนะ AI อย่างเป็นระบบ ได้แก่:
- Instruction (คำสั่ง): บอกสิ่งที่ต้องทำ (อาจเป็นคำสั่งสั้นๆ หรืออธิบายเป็นลำดับขั้นตอน)
- Context (บริบท): ข้อมูลอ้างอิงหรือพื้นฐานที่ AI ต้องใช้ในการตอบคำถาม
- Examples (ตัวอย่าง): ตัวอย่างของชุดข้อมูลเข้าและรูปแบบคำตอบที่คาดหวัง
- Query (คำถาม): คำสั่งย่อยหรือคำถามที่ต้องการให้ AI จัดการในรอบนั้นๆ
- Output format (รูปแบบผลลัพธ์): โครงสร้างคำตอบที่ต้องการ เช่น JSON, CSV หรือ Markdown
3. เลือกใช้เทคนิคให้เหมาะสมกับงาน (Prompting Techniques)
- Persona Prompting: กำหนดบทบาทให้ AI (เช่น “คุณคือผู้เชี่ยวชาญด้าน…") วิธีนี้ช่วยตีกรอบเนื้อหา ลดปริมาณการใช้โทเค็น คุมโทนภาษาให้สม่ำเสมอ และเพิ่มความปลอดภัยของคำตอบ
- Zero-, One-, and Few-Shot Prompts: หากงานมีความซับซ้อน ควรแทรกตัวอย่างการโต้ตอบที่ถูกต้อง (Few-shot) เข้าไปใน Prompt เพื่อสอน AI ให้เลียนแบบรูปแบบคำตอบที่คุณต้องการ
- Chain-of-Thought (CoT): บังคับให้ AI “คิดทีละขั้นตอน” (Think step-by-step) ก่อนให้คำตอบสุดท้าย เพื่อป้องกันไม่ให้ AI รีบด่วนสรุปและให้เหตุผลผิดพลาด
- Prompt Chaining: สำหรับงานสเกลใหญ่ ควรแบ่งงานย่อยๆ เป็นคำสั่งที่ทำงานต่อกันเป็นทอดๆ เพื่อให้ตรวจสอบความผิดพลาดได้ง่าย (Debugging) ประหยัดโทเค็น และลดโอกาสที่ AI จะหลงลืมคำสั่ง
- ใช้ Delimiters (สัญลักษณ์แบ่งส่วนข้อมูล): ใช้แท็ก เช่น XML (
<article>,<instructions>) เพื่อแยกแยะระหว่างคำสั่ง บริบท และตัวอย่างออกจากกัน ช่วยให้ AI ไม่สับสนข้อมูล
4. กฎเหล็กและข้อควรปฏิบัติ (Best Practices)
- Focus on the Positive (สั่งในเชิงบวก): บอกสิ่งที่ “ควรทำ” แทนที่จะบอกว่า “ห้ามทำ” การใช้คำสั่งเชิงบวกจะสั้นกว่า ตรวจสอบได้ง่ายกว่า และทำให้ AI ทำตามได้อย่างสม่ำเสมอ
- Collaborate with the Model (ให้ AI ช่วยคิด): คุณสามารถป้อนตัวอย่างสิ่งที่คุณต้องการ แล้วสั่งให้ AI ช่วยเขียนหรือแนะนำ Prompt ที่ดีที่สุดเพื่อดึงศักยภาพของมันออกมา
- Treat Your Prompts Like Code (จัดการ Prompt เหมือนโค้ด): ควรจัดเก็บและทำ Version Control เสมอ เพื่อให้คุณสามารถย้อนกลับไปใช้เวอร์ชันที่ใช้งานได้ดีหากการทดลองปรับแก้เกิดข้อผิดพลาด
- ใช้ Prompt Templates: เมื่อนำไปเขียนโปรแกรม ควรแยก Prompt ออกจากโค้ด (เช่น ใช้เทมเพลต Jinja) เพื่อให้ดูแลรักษาง่าย และกำหนดส่วนที่คงที่ (คำสั่งหลัก) แยกจากส่วนที่แปรผัน (ข้อมูลผู้ใช้)
- วาง Guardrails ดักหน้าและหลัง: เพื่อป้องกันผู้ใช้แฮ็กคำสั่ง (Prompt Injection) คุณควรวางคำสั่งควบคุมไว้ทั้งส่วนหัวและส่วนท้ายสุดของ Prompt เพราะแม้ข้อมูลตรงกลางจะพยายามหลอก AI แต่ข้อความสุดท้ายที่ AI อ่านเจอจะเป็นตัวตีกรอบการทำงานที่แท้จริง