Bỏ qua để đến nội dung

Zero-shot và Few-shot

Level: L2 — Prompt & Context Engineering (Bài 3/10)

Sau bài này, bạn có thể:

  • Phân biệt zero-shot (không ví dụ) và few-shot/multishot (có ví dụ) prompting, và biết khi nào nên dùng cách nào.
  • Áp dụng 3 tiêu chí chính thức để chọn ví dụ tốt: relevant, diverse, structured [S37].
  • Biết số lượng ví dụ khuyến nghị và vì sao “càng nhiều ví dụ càng tốt” không phải lúc nào cũng đúng.
  • Dùng cú pháp tag <example>/<examples> để đóng gói ví dụ đúng chuẩn.
  • Zero-shot prompting — yêu cầu AI thực hiện tác vụ mà không đưa bất kỳ ví dụ nào, chỉ có mô tả/instruction.
  • Few-shot (multishot) prompting — đưa kèm một vài ví dụ cụ thể minh hoạ dạng output mong muốn. Theo Anthropic, đây “là một trong những cách đáng tin cậy nhất để định hướng format, tone và cấu trúc output” [S37].
  • Vì sao ví dụ hiệu quả hơn mô tả bằng lời: 1 ví dụ cụ thể truyền đạt được nhiều sắc thái (format, mức độ chi tiết, giọng văn) khó diễn đạt đầy đủ chỉ bằng câu chữ.
  • Khi output vẫn sai hình thức dù đúng nội dung sau khi áp dụng đủ khung 4 phần (bài 10), nguyên nhân thường là bạn đang mô tả format bằng lời thay vì cho AI xem 1 ví dụ.
  • Zero-shot là điểm khởi đầu hợp lý cho tác vụ đơn giản, quen thuộc.
  • Ví dụ chọn sai cách (không đa dạng, không liên quan) có thể phản tác dụng — AI học nhầm 1 khuôn mẫu hẹp hơn ý định thực sự.

Theo Anthropic [S37], khi thêm ví dụ cần đảm bảo 3 tiêu chí:

  1. Relevant (liên quan) — phản ánh sát tình huống sử dụng thực tế.
  2. Diverse (đa dạng) — bao phủ trường hợp biên, đủ đa dạng để AI không học nhầm 1 pattern ngoài ý muốn. Nếu tất cả ví dụ giống nhau về cấu trúc/độ dài, AI có thể “học” luôn đặc điểm đó như yêu cầu ngầm.
  3. Structured (có cấu trúc) — bọc ví dụ trong tag <example> (<examples> cho nhiều ví dụ) để AI phân biệt rõ ví dụ với instruction thực sự.

Số lượng khuyến nghị: 3-5 ví dụ [S37]. Kỹ thuật nâng cao: có thể nhờ chính AI đánh giá độ liên quan/đa dạng của bộ ví dụ, hoặc tạo thêm ví dụ dựa trên bộ ban đầu [S37].

Hình dung như dạy 1 người mới việc bằng lời nói (zero-shot) so với dạy bằng cách “làm mẫu” (few-shot): zero-shot = giải thích “viết báo cáo trang trọng, súc tích” — người nghe phải tự tưởng tượng nghĩa là gì. Few-shot = đưa 2-3 báo cáo mẫu đã viết đúng phong cách — người mới tự suy ra từ ví dụ. Chọn ví dụ “đa dạng” giống chọn nhiều báo cáo mẫu khác chủ đề nhưng cùng phong cách — nếu chỉ đưa 3 báo cáo cùng chủ đề, người mới có thể nhầm chủ đề đó cũng là 1 phần phong cách cần học.

  1. Bắt đầu bằng zero-shot cho tác vụ đơn giản, quen thuộc.
  2. Nếu output sai hình thức dù đã áp dụng đủ khung bài 10, chuyển sang few-shot.
  3. Chọn 3-5 ví dụ theo đúng tiêu chí relevant, diverse, structured.
  4. Kiểm tra tính đa dạng: các ví dụ có vô tình giống nhau ở 1 đặc điểm không cố ý?
  5. Bọc từng ví dụ trong tag <example>, nhiều ví dụ bọc chung trong <examples>.
  6. (Tuỳ chọn, nâng cao) Nhờ AI tự đánh giá bộ ví dụ hoặc tạo thêm ví dụ [S37].

Cấu trúc tag theo hướng dẫn chính thức [S37] — ví dụ phân loại phản hồi khách hàng:

<examples>
<example>
Input: "Sản phẩm giao tới bị hỏng, tôi rất thất vọng."
Output: khiếu nại
</example>
<example>
Input: "Sẽ tốt hơn nếu ứng dụng có thêm chế độ tối."
Output: góp ý
</example>
<example>
Input: "Đã 5 ngày mà đơn hàng vẫn chưa tới, tôi cần được hoàn tiền ngay."
Output: khiếu nại
</example>
</examples>

Ba ví dụ đa dạng (khác nội dung, mức độ gay gắt) nhưng vẫn liên quancó cấu trúc rõ ràng.

[Mô tả tác vụ]
<examples>
<example>
Input: [ví dụ input 1]
Output: [ví dụ output 1 mong muốn]
</example>
<example>
Input: [ví dụ input 2 — khác biệt rõ với ví dụ 1]
Output: [ví dụ output 2]
</example>
<example>
Input: [ví dụ input 3 — bao phủ 1 trường hợp biên]
Output: [ví dụ output 3]
</example>
</examples>
[Yêu cầu thực sự cần AI xử lý]
Zero-shotChỉ dẫn bằng lờiKết quả: chưa chắcFew-shot3-5 ví dụ minh hoạKết quả: rõ ràng hơn
Hình 2.3a — Zero-shot vs Few-shot cho cùng 1 tác vụ.
Ví dụ tốtRelevantDiverseStructured
Hình 2.3b — 3 tiêu chí chọn ví dụ tốt.

Chọn 1 tác vụ bạn thường giao cho AI mà kết quả hay sai hình thức dù đúng nội dung:

  1. Viết prompt zero-shot và ghi lại kết quả.
  2. Viết lại thành few-shot với 3 ví dụ đạt cả 3 tiêu chí.
  3. So sánh 2 kết quả — hình thức output có khớp mong muốn hơn ở phiên bản few-shot không?

(Suy luận từ nguyên tắc trong [S37], không phải khảo sát lỗi người dùng đã ghi nhận chính thức.)

  • Dùng toàn ví dụ giống hệt nhau về cấu trúc — vi phạm “diverse”, khiến AI học nhầm 1 khuôn mẫu hẹp.
  • Không bọc ví dụ trong tag — AI có thể nhầm lẫn ví dụ với chính yêu cầu cần thực hiện.
  • Dùng quá ít hoặc quá nhiều ví dụ — dưới 3 chưa đủ đa dạng; vượt nhiều so với 3-5 tốn context window mà không tăng lợi ích tương ứng.

13. Giới hạn & khi nào KHÔNG nên áp dụng

Phần tiêu đề “13. Giới hạn & khi nào KHÔNG nên áp dụng”
  • Với tác vụ đơn giản, không yêu cầu hình thức đặc biệt, few-shot là thừa.
  • Few-shot không thay thế được việc nêu rõ Constraints (bài 10).
  • Nếu không có sẵn ví dụ chất lượng, đa dạng thực sự, đừng cố “chế” ra 3-5 ví dụ na ná nhau chỉ để đủ số lượng — có thể khiến kết quả tệ hơn cả zero-shot.

Nếu ví dụ minh hoạ chứa dữ liệu thật của khách hàng/công ty, cần ẩn danh/thay thế bằng dữ liệu giả trước khi đưa vào prompt — đặc biệt vì ví dụ few-shot thường được lưu lại và tái sử dụng nhiều lần, nên rủi ro rò rỉ dữ liệu qua ví dụ mẫu cần cân nhắc kỹ hơn bình thường.

  1. Bắt đầu zero-shot; chỉ chuyển sang few-shot khi output sai hình thức dù nội dung đã đúng.
  2. Luôn kiểm tra đủ 3 tiêu chí relevant/diverse/structured.
  3. Dùng 3-5 ví dụ — không cần nhiều hơn nếu bộ ví dụ đã đủ đa dạng.
  4. Ẩn danh hoá dữ liệu thật trước khi dùng làm ví dụ minh hoạ.
16. Nội dung nâng cao (không bắt buộc)

Anthropic gợi ý dùng chính AI như 1 “trợ lý” để đánh giá độ liên quan/đa dạng của bộ ví dụ hiện có, hoặc sinh thêm ví dụ mới — vòng lặp tự cải thiện bộ ví dụ [S37], liên quan gần với bài 16 (Iterative Refinement).

[S37] Prompting best practices, Claude Platform Docs (Anthropic).

2026-07-12. Nội dung khái niệm và cú pháp tag ổn định, ít lỗi thời. Số lượng khuyến nghị (3-5 ví dụ) có thể thay đổi theo phiên bản model.