คู่มือพรอมต์
Few-shot prompting: การให้ตัวอย่างแก่โมเดล
วิธีใช้ตัวอย่างหนึ่งชิ้นหรือมากกว่าในพรอมต์เพื่อแสดงรูปแบบที่คุณต้องการให้โมเดลเห็น แทนที่จะอธิบายเพียงอย่างเดียว พร้อมคำแนะนำว่าตัวอย่างกี่ชิ้นจึงจะช่วยได้ และเมื่อไรที่ zero-shot ก็เพียงพอแล้ว
คู่มือพรอมต์ทั้งหมด · ตรวจสอบล่าสุด:
ความหมายของ "few-shot" และ "zero-shot"
พรอมต์แบบ zero-shot คือการขอผลลัพธ์โดยไม่มีตัวอย่างแนบมาด้วย พรอมต์แบบ one-shot มีตัวอย่างแนบมาพอดีหนึ่งชิ้น ส่วนพรอมต์แบบ few-shot มีหลายชิ้น คำเหล่านี้อธิบายว่าในพรอมต์มีตัวอย่างกี่ชิ้น ไม่ใช่การอ้างความแม่นยำ — พรอมต์แบบ zero-shot ที่เขียนดีสามารถให้ผลดีกว่าพรอมต์แบบ few-shot ที่เลือกตัวอย่างมาไม่ดีได้ เพราะตัวอย่างจะช่วยก็ต่อเมื่อมันสะท้อนสิ่งที่คุณต้องการจริง ๆ
เมื่อไรที่ตัวอย่างช่วยได้มากกว่าคำอธิบายที่ยาวขึ้น
ตัวอย่างจะคุ้มค่าเมื่องานนั้นมีรูปแบบ โทนเสียง หรือแพทเทิร์นที่แสดงให้ดูง่ายกว่าอธิบายจริง ๆ เช่น การติดป้ายข้อมูลเป็นหมวดหมู่ที่ยากจะนิยามเป็นคำพูด การเลียนแบบน้ำเสียงการเขียนเฉพาะ หรือการทำตามเทมเพลตที่มีลูกเล่นซึ่งคำอธิบายธรรมดาอาจพลาดไป สำหรับงานที่ชัดเจนอยู่แล้วจากคำสั่งสั้น ๆ ตัวอย่างจะเพิ่มความยาวโดยไม่เพิ่มข้อมูล
อะไรที่ทำให้ตัวอย่างมีประโยชน์ ไม่ใช่แค่มีอยู่
ตัวอย่างจะดีได้เพียงเท่าที่มันสะท้อนงานจริง — ตัวอย่างที่ง่ายเกินไปหรือแปลกเกินไปอาจสอนรูปแบบที่ผิด ตัวอย่างที่เลือกมาอย่างดีสองสามชิ้นซึ่งครอบคลุมช่วงของกรณีที่คุณคาดว่าจะเจอจริง รวมถึงกรณีขอบเขตหากมีโอกาสเกิดขึ้น มักได้ผลดีกว่าตัวอย่างหลายชิ้นที่หน้าตาเหมือนกันหมด หากตัวอย่างของคุณขัดแย้งกันเองทั้งในโทนเสียงหรือรูปแบบ ให้คาดหวังว่าโมเดลจะผสมมันเข้าด้วยกันแทนที่จะเลือกอันที่คุณตั้งใจไว้
คำถามที่คนมักถาม
- พรอมต์แบบ few-shot ควรมีตัวอย่างกี่ชิ้น
- ไม่มีจำนวนตายตัว เพียงพอที่จะครอบคลุมช่วงของกรณีที่คุณคาดหวัง มักจะอยู่ที่สองถึงห้าชิ้น และมากกว่านั้นก็ต่อเมื่องานมีความหลากหลายจริง ๆ มากกว่านั้น การเพิ่มตัวอย่างที่หน้าตาเหมือนกันหมดแทบไม่ช่วยอะไรเลยหลังจากชิ้นแรกหรือสองชิ้น
- Few-shot prompting ดีกว่า zero-shot เสมอหรือไม่
- ไม่ ไม่มีการเผยแพร่ว่าเป็นการเพิ่มความแม่นยำที่รับประกันได้ และหน้านี้จะไม่อ้างเช่นนั้น — พรอมต์แบบ zero-shot ที่ชัดเจนสำหรับงานที่นิยามไว้ดีสามารถทำได้ดีเท่ากัน และตัวอย่างส่วนใหญ่ช่วยได้เมื่องานนั้นแสดงให้ดูง่ายกว่าอธิบาย
- สามารถรวม few-shot กับคำสั่งให้ทำทีละขั้นตอนได้หรือไม่
- ได้ ทั้งสองแก้ปัญหาคนละเรื่อง ตัวอย่างแสดงรูปแบบหรือโครงสร้างที่คุณต้องการ ส่วนการขอให้ให้เหตุผลทีละขั้นตอนเปลี่ยนวิธีที่โมเดลทำงานไปสู่คำตอบ ดู chain-of-thought prompting ซึ่งลิงก์ไว้ด้านล่าง สำหรับเทคนิคที่สอง
ลองใช้กับบทสนทนาจริง
พรอมต์แบบ few-shot ทำงานเหมือนกันในทุกโมเดลที่ ClawAI กำหนดเส้นทางไป ตัวอย่างอยู่ในพรอมต์ของคุณเอง ไม่ใช่ในการตั้งค่า จึงติดตามไปกับบทสนทนาไม่ว่าผู้ให้บริการใดจะเป็นผู้ตอบ