Few-shot prompting là gì? Đây là kỹ thuật cung cấp vài ví dụ mẫu (thường 2-5) trong prompt để AI học nhanh logic nhiệm vụ, giúp tăng độ chính xác mà không cần huấn luyện lại mô hình. Kỹ thuật này đặc biệt hữu ích khi zero-shot hoặc one-shot chưa đủ để AI nắm bắt format hoặc quy tắc phức tạp.
Few-shot prompting là gì?
Few-shot prompting là một pattern prompting cung cấp nhiều ví dụ mẫu (shots) ngay trong prompt để hướng dẫn AI thực hiện nhiệm vụ mới. Thay vì chỉ mô tả nhiệm vụ như zero-shot hay dùng một ví dụ như one-shot, few-shot dùng 2-5 ví dụ đầu vào-đầu ra để AI “học trong ngữ cảnh” (in-context learning), tự suy luận pattern và áp dụng cho input mới.
Pattern này tận dụng khả năng tổng quát hóa của mô hình ngôn ngữ lớn (LLMs), giúp AI hiểu rõ hơn về few shot examples mà không cần fine-tuning. Ví dụ, với nhiệm vụ phân loại cảm xúc, bạn đưa vài câu văn bản kèm nhãn “tích cực” hoặc “tiêu cực”, AI sẽ học cách phân loại câu mới tương tự.
Few-shot khác biệt rõ với các pattern lân cận:
- Zero-shot: Không ví dụ, chỉ hướng dẫn – phù hợp nhiệm vụ đơn giản.
- One-shot: Một ví dụ – tốt cho format cơ bản nhưng dễ thiếu độ chính xác với logic phức tạp.
- Few-shot cân bằng giữa hiệu quả và chi phí, lý tưởng khi nhiệm vụ cần pattern learning rõ ràng.
Tại sao few-shot prompting hiệu quả?
Few-shot hiệu quả vì nó cung cấp ví dụ mẫu cụ thể, giúp AI “thấy” logic và format mong muốn thay vì đoán mò. Với zero-shot, AI dựa hoàn toàn vào kiến thức pre-trained, dễ sai nếu nhiệm vụ mơ hồ; few-shot bổ sung context trực tiếp, tăng độ chính xác lên đáng kể cho các task như phân loại, dịch thuật sáng tạo hoặc code generation.
Lý do cốt lõi
Dưới đây là các yếu tố chính khiến few-shot vượt trội hơn các pattern ít ví dụ hơn:
- Học pattern nhanh: AI nhận diện quy luật từ shots, áp dụng cho input mới – hiệu quả với task ít dữ liệu huấn luyện.
- Kiểm soát format output: Ví dụ định dạng JSON hoặc bảng giúp AI tuân thủ cấu trúc chính xác.
- Giảm nhầm lẫn: Nhiều ví dụ làm rõ biên giới giữa các lớp (ví dụ: phân biệt “tích cực” vs “trung lập”).
- Tăng độ tin cậy: Phù hợp task phức tạp nơi zero/one-shot thất bại, như style transfer hoặc reasoning nhẹ.
Tuy nhiên, trade-off là tốn token hơn, có nguy cơ overload context nếu lạm dụng – chỉ dùng khi pattern rõ ràng cần mẫu minh họa.
Cấu trúc prompt chuẩn cho few-shot
Cấu trúc few-shot đơn giản nhưng phải nhất quán để AI học tốt. Bắt đầu bằng hướng dẫn nhiệm vụ, theo sau là 2-5 ví dụ (input → output), rồi input mới. Giữ ví dụ ngắn gọn, đa dạng để bao quát edge cases.
Các bước xây dựng
Để tạo few shot prompt hiệu quả, theo quy trình sau:
- Hướng dẫn rõ ràng: Mô tả nhiệm vụ đầu tiên, ví dụ: “Phân loại cảm xúc văn bản thành Tích cực/Tiêu cực.”
- Ví dụ nhất quán: Mỗi ví dụ: Input → Output, không giải thích thừa.
- Input test: Đặt cuối prompt, yêu cầu “Trả lời tương tự.”
- Kết thúc bằng delimiter: Dùng ### hoặc — để tách.
Ví dụ cơ bản phân loại cảm xúc:
Phân loại cảm xúc văn bản: Tích cực hoặc Tiêu cực.
Ví dụ 1:
Input: Sản phẩm tuyệt vời!
Output: Tích cực
Ví dụ 2:
Input: Dịch vụ kém quá.
Output: Tiêu cực
Input mới: Sản phẩm giá rẻ hiệu quả.
Output:
AI sẽ trả: Tích cực.
Ví dụ thực tế few-shot prompting
Few-shot tỏa sáng ở task cần format chính xác hoặc logic không trực quan. Dưới đây là các ví dụ minh họa few shot examples cho tình huống phổ biến.
Phân loại văn bản
Dùng 3 ví dụ để dạy AI phân loại chủ đề:
Phân loại chủ đề: Thể thao, Công nghệ, Giải trí.
Ví dụ 1:
Messi ghi bàn quyết định.
→ Thể thao
Ví dụ 2:
iPhone 15 ra mắt với chip mới.
→ Công nghệ
Ví dụ 3:
Bộ phim mới phá kỷ lục phòng vé.
→ Giải trí
Input: Lập trình Python với AI.
→
Kết quả mong đợi: Công nghệ.
Format output JSON
Khi cần cấu trúc dữ liệu:
Trích xuất thông tin thành JSON: {tên: "...", tuổi: số, nghề: "..."}
Ví dụ 1:
Nguyễn Văn A, 30 tuổi, kỹ sư.
→ {"tên": "Nguyễn Văn A", "tuổi": 30, "nghề": "kỹ sư"}
Ví dụ 2:
Trần Thị B, 25, giáo viên.
→ {"tên": "Trần Thị B", "tuổi": 25, "nghề": "giáo viên"}
Input: Lê Văn C là bác sĩ 40 tuổi.
→
Style transfer
Chuyển văn bản sang phong cách trang trọng:
Viết lại câu theo phong cách trang trọng.
Ví dụ 1:
Ăn ngon quá!
→ Bữa ăn rất ngon miệng.
Ví dụ 2:
Mệt mỏi vl.
→ Tôi cảm thấy rất mệt mỏi.
Input: Hay ho thật!
→
Kết quả: Thật sự thú vị.
Những ví dụ này cho thấy few-shot giúp AI bắt chước in context learning chính xác, nhưng tránh quá 5 shots để không tốn token.
Khi nào dùng few-shot: Hướng dẫn quyết định
Chỉ dùng few-shot khi bài toán cần mẫu rõ ràng hoặc output có format khó. Ưu tiên zero-shot cho task đơn giản; chuyển sang few-shot nếu kết quả kém chính xác hoặc format lệch. Không dùng nếu context ngắn gọn đủ (dưới 1k token) hoặc task quá phức tạp cần chain-of-thought.
Các tình huống lý tưởng vs tránh
Dưới đây là tiêu chí quyết định nhanh:
- Dùng few-shot khi:
- Task sáng tạo/format-specific (JSON, bảng).
- Zero/one-shot sai >20%.
- Cần dạy pattern không phổ biến (style transfer hiếm).
- Tránh few-shot khi:
- Task cơ bản (dịch đơn giản) – phí token.
- Context dài sẵn – dễ overload.
- Muốn giải thích reasoning – thử chain-of-thought.
Trade-off lớn nhất: Tăng độ chính xác nhưng tốn token, dẫn đến chi phí cao hơn và giới hạn context ở model nhỏ.
Kết luận
Few-shot prompting là pattern mạnh mẽ để tăng độ chính xác qua nhiều ví dụ mẫu, giúp AI học logic và format nhanh chóng mà không cần fine-tuning. Nó vượt trội zero/one-shot ở task phức tạp nhưng đòi hỏi cân nhắc token và số shots hợp lý để tránh overload context. Hãy thử nghiệm với 2-3 ví dụ trước, so sánh kết quả với pattern đơn giản hơn để chọn tối ưu. Chỉ dùng few-shot khi bài toán cần mẫu rõ ràng hoặc output có format khó – điều này giúp bạn tiết kiệm tài nguyên và đạt hiệu suất cao nhất.
Các câu hỏi thường gặp (FAQs)
Nên dùng bao nhiêu ví dụ là đủ trong few-shot?
Thường 2-5 ví dụ là tối ưu: bắt đầu với 2-3 để kiểm tra, tăng nếu cần độ chính xác cao hơn. Quá 5 dễ tốn token mà lợi ích giảm dần; chọn ví dụ đa dạng, đại diện edge cases.
Few-shot có tốn token không?
Có, few-shot tốn token hơn zero/one-shot vì thêm ví dụ, có thể tăng 20-50% chi phí prompt. Bù lại, giảm lỗi và retry – chỉ dùng khi lợi ích vượt trội phí token.
Khi nào few-shot gây quá tải context?
Few-shot gây overload khi tổng token vượt 70-80% giới hạn model (ví dụ: 4k token ở GPT-3.5), đặc biệt với ví dụ dài hoặc >5 shots. Giảm bằng cách rút gọn ví dụ, dùng RAG lấy examples liên quan.
Few-shot khác gì chain-of-thought?
Few-shot dùng ví dụ input-output để dạy pattern; chain-of-thought thêm bước reasoning (“hãy suy nghĩ từng bước”). Kết hợp cả hai cho task phức tạp cần cả format và logic sâu.