Zero-Shot vs Few-Shot vs Many-Shot: เทคนิค Prompting แบบต่างๆ
เคยเห็นคำว่า "Zero-Shot" หรือ "Few-Shot" แล้วงงไหมคะ? วันนี้เราจะมาอธิบายความแตกต่างของเทคนิค Prompting ทั้ง 3 แบบ ให้เข้าใจง่ายๆ พร้อมแนะนำว่าควรใช้แบบไหนเมื่อไหร่ค่ะ
ความหมายของ "Shot"
ก่อนอื่น มาทำความเข้าใจคำว่า "Shot" ก่อนนะคะ
ในบริบทของ AI/Machine Learning คำว่า "Shot" หมายถึง "ตัวอย่าง" ที่เราให้ AI ดูก่อนทำงาน
- Zero-Shot = ไม่ให้ตัวอย่างเลย
- One-Shot = ให้ 1 ตัวอย่าง
- Few-Shot = ให้ 2-5 ตัวอย่าง
- Many-Shot = ให้หลายตัวอย่าง (10+)
Zero-Shot Prompting
คืออะไร?
Zero-Shot คือการให้ AI ทำงานโดย ไม่ให้ตัวอย่างใดๆ แค่บอกว่าต้องการอะไร
ตัวอย่าง
แปลประโยคนี้เป็นภาษาอังกฤษ:
"ฉันรักประเทศไทย"
ข้อดี
- เร็วและง่าย - ไม่ต้องคิดตัวอย่าง
- ประหยัด token - Prompt สั้น
- เหมาะกับงานง่ายๆ - ที่ AI เข้าใจดีอยู่แล้ว
ข้อเสีย
- ควบคุมยาก - AI อาจตอบไม่ตรงที่ต้องการ
- ไม่เหมาะกับงานซับซ้อน - หรืองานที่ต้องการ format เฉพาะ
ใช้เมื่อไหร่?
- งานทั่วไปที่ AI ทำได้ดีอยู่แล้ว
- แปลภาษา, สรุปความ, ตอบคำถามทั่วไป
- ไม่ต้องการ format เฉพาะ
Few-Shot Prompting
คืออะไร?
Few-Shot คือการให้ ตัวอย่าง 2-5 ตัวอย่าง ก่อน เพื่อให้ AI เข้าใจ pattern ที่ต้องการ
ตัวอย่าง
จัดหมวดหมู่อารมณ์ของข้อความ
ตัวอย่าง:
"อาหารอร่อยมาก" → บวก
"บริการแย่มาก รอนาน" → ลบ
"ก็โอเคนะ ไม่ได้ดีไม่ได้แย่" → กลาง
จัดหมวดหมู่:
"วิวสวยมาก แต่อาหารไม่อร่อย" →
ข้อดี
- ควบคุมได้ดี - AI ทำตาม pattern ที่เห็น
- เหมาะกับงาน specific - ที่ต้องการ format เฉพาะ
- ลดความคลุมเครือ - AI เข้าใจชัดเจนขึ้น
ข้อเสีย
- ใช้ token มากขึ้น - Prompt ยาวขึ้น
- ต้องคิดตัวอย่างดีๆ - ตัวอย่างไม่ดีก็ได้ผลไม่ดี
- อาจ overfit - ถ้าตัวอย่างไม่หลากหลาย
ใช้เมื่อไหร่?
- ต้องการ format หรือ style เฉพาะ
- งานที่ต้องการความสม่ำเสมอ
- งานที่ Zero-Shot ไม่ได้ผลดี
Many-Shot Prompting
คืออะไร?
Many-Shot คือการให้ ตัวอย่างจำนวนมาก (10-100+ ตัวอย่าง) เพื่อให้ AI เรียนรู้ pattern ที่ซับซ้อน
ตัวอย่าง
แปลงภาษาโค้ดจาก Python เป็น JavaScript
ตัวอย่างที่ 1:
Python: print("Hello")
JavaScript: console.log("Hello")
ตัวอย่างที่ 2:
Python: len(arr)
JavaScript: arr.length
ตัวอย่างที่ 3:
Python: arr.append(x)
JavaScript: arr.push(x)
... (อีก 20 ตัวอย่าง)
แปลงโค้ดนี้:
Python: for i in range(10):
JavaScript:
ข้อดี
- แม่นยำสูงมาก - AI เรียนรู้ pattern ได้ดี
- จัดการ edge cases - ครอบคลุมกรณีพิเศษ
- เหมาะกับงานซับซ้อน - ที่มีกฎหลายข้อ
ข้อเสีย
- ใช้ token มาก - อาจติด context limit
- เตรียมตัวอย่างนาน - ต้องใช้เวลาและความพยายาม
- แพง - ถ้าใช้ API คิดเงินตาม token
ใช้เมื่อไหร่?
- งานที่มีความซับซ้อนสูง
- ต้องการความแม่นยำมาก
- มี edge cases หลายแบบ
ตารางเปรียบเทียบ
| เทคนิค | ตัวอย่าง | Token | ความแม่นยำ | ความง่าย |
|---|---|---|---|---|
| Zero-Shot | 0 | น้อย | ต่ำ-กลาง | ง่ายมาก |
| Few-Shot | 2-5 | กลาง | กลาง-สูง | ง่าย |
| Many-Shot | 10+ | มาก | สูงมาก | ยาก |
ตัวอย่างเปรียบเทียบงานเดียวกัน
งาน: แปลง Email เป็น Formal/Informal
Zero-Shot:
แปลง email นี้ให้เป็นทางการมากขึ้น:
"เฮ้ พี่ ช่วยส่งไฟล์ให้หน่อยนะ"
Few-Shot:
แปลง email ให้เป็นทางการ:
"เฮ้ เจอกันพรุ่งนี้นะ" → "สวัสดีครับ/ค่ะ ยืนยันนัดพบในวันพรุ่งนี้ครับ/ค่ะ"
"ส่งของมาด้วยนะ" → "รบกวนจัดส่งสินค้าด้วยครับ/ค่ะ"
"โอเค ได้เลย" → "รับทราบครับ/ค่ะ ยินดีดำเนินการ"
แปลง:
"เฮ้ พี่ ช่วยส่งไฟล์ให้หน่อยนะ" →
Many-Shot:
แปลง email ให้เป็นทางการ ตามแบบขององค์กร ABC:
[15 ตัวอย่างครอบคลุมหลากหลายสถานการณ์]
แปลง:
"เฮ้ พี่ ช่วยส่งไฟล์ให้หน่อยนะ" →
เทคนิคขั้นสูง
1. Progressive Shots
เริ่มจาก Zero-Shot ถ้าไม่ได้ผลค่อยเพิ่มตัวอย่าง
ลอง 1: Zero-Shot → ไม่ตรง
ลอง 2: Few-Shot (3 ตัวอย่าง) → ดีขึ้น
ลอง 3: Few-Shot (5 ตัวอย่าง) → ตรงตามต้องการ
2. Diverse Examples
ในแต่ละ shot ให้ตัวอย่างที่หลากหลาย
✅ ดี: ตัวอย่าง positive, negative, edge case
❌ ไม่ดี: ตัวอย่างคล้ายๆ กันหมด
3. Chain-of-Thought + Few-Shot
รวมเทคนิค Few-Shot กับ Chain-of-Thought
ตัวอย่าง:
คำถาม: 15% ของ 80 เท่ากับเท่าไหร่?
วิธีคิด:
1. 15% = 15/100 = 0.15
2. 0.15 × 80 = 12
คำตอบ: 12
คำถาม: 25% ของ 120 เท่ากับเท่าไหร่?
วิธีคิด:
วิธีเลือกใช้
เริ่มต้น
↓
งานง่ายหรือ AI ทำได้ดีอยู่แล้ว?
↓ ใช่ ↓ ไม่
Zero-Shot ต้องการ format เฉพาะ?
↓ ใช่ ↓ ไม่
Few-Shot งานซับซ้อนมาก?
↓ ใช่
Many-Shot
ข้อควรระวัง
1. Quality over Quantity
ตัวอย่างดี 3 ตัว ดีกว่าตัวอย่างแย่ 10 ตัว
2. ระวัง Bias
ถ้าตัวอย่างทั้งหมดเป็นแบบเดียวกัน AI จะ bias ไปทางนั้น
3. Context Limit
ถ้าใส่ตัวอย่างมากไป อาจเกิน context limit ของ AI
4. ทดสอบเสมอ
ลองหลายๆ แบบ แล้วเลือกที่ได้ผลดีที่สุด
สรุป
- Zero-Shot - ไม่ให้ตัวอย่าง เหมาะกับงานง่ายๆ
- Few-Shot - ให้ 2-5 ตัวอย่าง เหมาะกับงานที่ต้องการ format เฉพาะ
- Many-Shot - ให้ 10+ ตัวอย่าง เหมาะกับงานซับซ้อนมาก
ไม่มีเทคนิคไหนดีที่สุดค่ะ ขึ้นอยู่กับงานและความต้องการ ลองเริ่มจาก Zero-Shot แล้วค่อยเพิ่มตัวอย่างถ้าจำเป็นนะคะ
อยากเรียนรู้เพิ่มเติม?
ถ้าอยากเรียนรู้เทคนิค Prompt Engineering แบบเจาะลึก
คอร์สสอน AI ที่เชียงใหม่ ของเราสอนตั้งแต่พื้นฐานจนถึงขั้นสูง พร้อม workshop ให้ลงมือทำจริง
มีคำถามเพิ่มเติม ทักมาคุยกันได้เลยค่ะ!
เขียนโดย
AI Unlocked Team
บทความอื่นๆ ที่น่าสนใจ
วิธีติดตั้ง FFmpeg บน Windows และ Mac: คู่มือฉบับสมบูรณ์
เรียนรู้วิธีติดตั้ง FFmpeg บน Windows และ macOS พร้อมการตั้งค่า PATH อย่างละเอียด เพื่อใช้งานโปรแกรมตัดต่อวิดีโอและเสียงระดับมืออาชีพ
สรุป: เส้นทางการเรียนรู้ AI สำหรับคนไทย ฉบับสมบูรณ์
สรุปทุกสิ่งที่คนไทยต้องรู้เกี่ยวกับการเรียน AI ตั้งแต่เริ่มต้นจนถึงการหางานและพัฒนาอาชีพ รวมทุก resources และ tips ในที่เดียว
อนาคตของ AI ในอีก 5 ปี: แนวโน้มและการเปลี่ยนแปลงที่จะเกิดขึ้น
วิเคราะห์อนาคตของ AI ในช่วง 5 ปีข้างหน้า ทั้งด้านเทคโนโลยี การทำงาน ธุรกิจ และสังคม พร้อมวิธีเตรียมตัวรับมือ