Few-shot prompting là gì?
Kỹ thuật dạy AI qua ví dụ mẫu: Chỉ cần 2-3 cặp input-output đúng, model hiểu ngay format và phong cách mong muốn mà không cần fine-tuning.
Định nghĩa
Few-shot prompting là kỹ thuật đưa vào prompt các cặp ví dụ mẫu (input-output) để Large Language Model (LLM) nhận diện pattern và áp dụng định dạng đó cho yêu cầu thực tế, thay vì chỉ đưa ra chỉ thị trống trơn (zero-shot).
Giải thích chi tiết
In-context learning: Học ngay trong ngữ cảnh
LLM không có bộ nhớ dài hạn giữa các lần chat, nhưng trong một prompt duy nhất, model có khả năng "học" từ các ví dụ bạn cung cấp — gọi là in-context learning. Đây không phải là huấn luyện lại model (fine-tuning), mà là khai thác khả năng nhận diện pattern có sẵn của kiến trúc Transformer để bắt chước format.
Khi bạn cung cấp 2-3 ví dụ đúng, model thực chất đang thực hiện "pattern matching" nâng cao: nó so sánh cấu trúc ngôn ngữ, độ dài câu, style trả lời giữa các ví dụ, sau đó áp dụng quy luật đó cho input mới.
Phổ biết: Zero-shot, One-shot, Few-shot
- Zero-shot: Không có ví dụ, chỉ đưa ra lệnh trực tiếp. Phù hợp khi yêu cầu đơn giản hoặc model đã quá quen với task (ví dụ: "tóm tắt đoạn văn").
- One-shot: Một ví dụ duy nhất. Giúp model hiểu format cơ bản nhưng rủi ro cao — model có thể copy quá mức thay vì tổng quát hóa.
- Few-shot: 2-5 ví dụ (thường 3 là điểm ngọt). Đủ để model thấy sự biến thiên giữa các mẫu, từ đó trích xuất quy luật tổng quát.
Tại sao few-shot hiệu quả?
- Giảm ambiguity: Thay vì diễn giải bằng lời "hãy trả lời theo kiểu trang trọng", bạn cho model thấy kiểu trang trọng trông như thế nào qua ví dụ cụ thể.
- Pattern consistency: Model sao chép cấu trúc logic, độ dài, tone giọng từ các ví dụ — đặc biệt hữu ích khi cần output có định dạng nghiêm ngặt (JSON, bảng biểu, email formal).
- Trigger knowledge: Ví dụ có thể "kích hoạt" kiến thức liên quan mà model đã học trong quá trình pre-training nhưng cần gợi ý để triệu hồi đúng ngữ cảnh.
Cấu trúc chuẩn của một few-shot prompt
Ví dụ 1:
Input: [nội dung đầu vào]
Output: [kết quả mong muốn]
Ví dụ 2:
Input: [nội dung đầu vào]
Output: [kết quả mong muốn]
Input: [nội dung cần xử lý thực tế]
Output:Lưu ý quan trọng: Luôn dùng delimiter rõ ràng (Input/Output hoặc ###) để model không nhầm lẫn phần ví dụ với câu hỏi thực tế cần trả lời.
Giới hạn cần biết
- Context window: Mỗi ví dụ tốn token. Với model context ngắn (4k-8k tokens), 10 ví dụ dài có thể đầy ngữ cảnh, buộc model "quên" hướng dẫn ban đầu.
- Overfitting ngữ cảnh: Nếu ví dụ quá cụ thể (cùng chủ đề, cùng từ khóa), model có thể áp dụng máy móc thay vì tổng quát hóa đúng ý bạn.
- Complex reasoning: Few-shot giúp format, nhưng không giúp model suy luận logic tốt hơn. Với bài toán cần nhiều bước suy nghĩ, cần kết hợp với Chain of Thought.
Ví dụ thực tế
Phân tích sentiment đánh giá Shopee
Thay vì nói "hãy phân loại đánh giá tích cực/tiêu cực" (zero-shot thường chỉ trả về nhị phân), bạn dùng few-shot để dạy model nhận diện cả "mixed feelings":
Đánh giá: "Giao hàng nhanh, đóng gói cẩn thận nhưng giá hơi cao so với chất lượng"
Phân loại: Mixed
Đánh giá: "Sản phẩm chất lượng kém, không đúng mô tả, đòi hoàn tiền"
Phân loại: Negative
Đánh giá: "Rất hài lòng, shop uy tín, sẽ mua lại lần sau"
Phân loại: Positive
Đánh giá: "Hàng đẹp nhưng giao chậm 3 ngày, tạm được"
Phân loại:Model sẽ trả về "Mixed" thay vì ép buộc chọn "Positive" hay "Negative", phản ánh đúng thực tế thương mại điện tử Việt Nam nơi khách hàng thường có đánh giá phức tạp.
Trích xuất thông tin hóa đơn VietQR
Doanh nghiệp F&B Việt Nam thường cần chuyển ảnh chụp hóa đơn thành dữ liệu có cấu trúc. Few-shot giúp định hình JSON chuẩn hóa:
Input: Hóa đơn số 123, Cafe Trung Nguyên, 45.000đ, ngày 15/03/2024
Output: {"merchant": "Cafe Trung Nguyên", "amount": 45000, "date": "2024-03-15", "invoice_no": "123", "category": "F&B"}
Input: The Coffee House #456, 89.000 VND, 20/05/2024, mua 2 ly cà phê
Output: {"merchant": "The Coffee House", "amount": 89000, "date": "2024-05-20", "invoice_no": "456", "category": "F&B"}
Input: [Ảnh hóa đơn Highland mới chụp: Highland Coffee - 125.000đ - 22/07/2024 - Bill #789]
Output:Model tự động nhận ra pattern: bỏ dấu "đ", chuyển sang ISO date, thêm category mặc định, giúp kế toán viên không cần nhập liệu thủ công hàng trăm hóa đơn.
Phân loại ticket hỗ trợ khách hàng ngân hàng
Techcombank hay Vietcombank có thể dùng few-shot để tự động phân loại email khách hàng vào các nhóm "Kỹ thuật", "Thanh toán", "Khiếu nại" dựa trên 3-4 email mẫu đã phân loại sẵn:
Nội dung: "Thẻ ATM bị nuốt tại cây Số 123 Lê Lợi, khi nào nhận lại được?"
Phân loại: Kỹ thuật - Thẻ vật lý
Nội dung: "Sao tài khoản bị trừ 50.000đ phí duy trì tháng này?"
Phân loại: Thanh toán - Phí dịch vụ
Nội dung: "Giao dịch chuyển tiền thành công nhưng người nhận chưa nhận được"
Phân loại:Hệ thống có thể đạt độ chính xác 85-90% mà không cần xây dựng model Machine Learning riêng, tiết kiệm chi phí triển khai cho các ngân hàng vừa và nhỏ.
Ứng dụng
Sinh viên
- Format luận văn: Cho 2-3 đoạn trích dẫn đúng chuẩn APA/Vancouver, yêu cầu model chuyển đổi toàn bộ danh mục tài liệu sang cùng format thay vì format tay từng trang.
- Dịch thuật chuyên ngành: Với thuật ngữ y khoa hoặc luật, few-shot các cặp câu đã dịch để model dùng đúng terminology (ví dụ: "tort" → "bồi thường thiệt hại ngoài hợp đồng") thay vì dịch word-by-word.
Người đi làm
- Viết email theo brand voice: Copy 2 email cũ của công ty (tone formal nhưng không cứng nhắc) vào prompt, yêu cầu viết email mới với nội dung khác nhưng giữ nguyên phong cách công ty.
- Tóm tắt báo cáo tài chính: Đưa mẫu format tóm tắt 3 bullet points cho báo cáo quý 1, áp dụng cho 10 báo cáo quý còn lại với cấu trúc nhất quán cho ban lãnh đạo.
Doanh nghiệp
- Content moderation trên nền tảng Zalo/Facebook: Xác định comment nào vi phạm chính sách cộng đồng bằng cách đưa 5 ví dụ vi phạm/5 không vi phạm, giúp AI kiểm duyệt tự động theo chuẩn văn hóa Việt Nam (ví dụ: phân biệt "chém gió" văn minh và "troll" toxic).
- Data extraction từ CV: Trích xuất thông tin ứng viên (học vấn, kinh nghiệm, kỹ năng) vào bảng Excel chuẩn hóa dựa trên 3 mẫu CV đã parse sẵn, giảm thời gian sàng lọc hồ sơ cho phòng nhân sự.
So sánh
| Tiêu chí | Zero-shot | One-shot | Few-shot | Fine-tuning |
|---|---|---|---|---|
| Số ví dụ | 0 | 1 | 2-5 (có thể nhiều hơn) | Hàng nghìn đến hàng triệu mẫu |
| Thời gian thiết lập | Ngay lập tức | Ngay lập tức | Ngay lập tức | Vài giờ đến vài ngày |
| Chi phí inference | Rẻ nhất | Rẻ | Rẻ (tốn thêm token) | Rẻ (model chuyên biệt) |
| Hiệu quả format | Thấp | Trung bình | Cao | Rất cao |
| Hiệu quả reasoning | Phụ thuộc model gốc | Không cải thiện | Không cải thiện | Cải thiện đáng kể |
| Bền vững | Prompt dài | Prompt dài | Prompt rất dài | Permanent (kiến thức nội tại) |
| Khi nào dùng | Task đơn giản, rõ ràng | Format đơn giản | Cần format nhất quán | Cần chuyên môn sâu, xử lý hàng nghìn case |
Kết luận: Few-shot là giải pháp "lợi ích tối đa, công sức tối thiểu" cho việc định hình output. Nó không thay thế fine-tuning cho các tác vụ chuyên sâu hoặc yêu cầu kiến thức miền cụ thể (y khoa, luật phức tạp), nhưng đủ mạnh để thay thế hầu hết các hệ thống rule-based đơn giản trong doanh nghiệp vừa và nhỏ.
Bài viết liên quan
Cùng cụm
- Prompt nâng cao là gì? — Tổng quan các kỹ thuật từ cơ bản đến nâng cao để điều khiển LLM hiệu quả, bối cảnh sử dụng few-shot trong arsenal prompting.
- Chain of Thought là gì? — Khi few-shot không đủ cho logic phức tạp, hãy kết hợp với kỹ thuật buộc model "suy nghĩ từng bước" để tăng độ chính xác reasoning.
- Role prompting là gì? — Kết hợp vai trò (chuyên gia, reviewer) với few-shot để tăng tính chuyên môn và độ tin cậy của output.
- System prompt là gì? — Thiết lập hành vi tổng thể của model trước khi áp dụng few-shot cho từng tác vụ cụ thể, tạo lớp kiểm soát kép.
Đọc tiếp
- LLM hoạt động như thế nào? — Hiểu bản chất Transformer, attention mechanism và tokenization để nắm rõ tại sao few-shot lại "dạy" được model ngay lập tức qua in-context learning.
- Fine-tuning thực chiến — Khi few-shot đạt giới hạn context window hoặc cần xử lý hàng nghìn case đặc thù với độ chính xác >95%, đây là cách "huấn luyện thực sự" cho model thay vì chỉ dạy tạm thời qua prompt.
Chain of Thought là gì?
Khám phá kỹ thuật Chain of Thought prompting giúp AI suy luận từng bước, giải quyết bài toán phức tạp chính xác hơn thay vì đoán mò kết quả.
Role prompting là gì?
Khám phá cách gán vai trò cho AI để nhận câu trả lời chuyên sâu, chính xác hơn. Kỹ thuật đơn giản nhưng hiệu quả bất ngờ trong prompt nâng cao.