Cách đáng tin cậy nhất để AI tạo ra chính xác những gì bạn muốn là hãy cho nó xem ví dụ. Kỹ thuật few-shot prompting là đưa vào 3 - 10 ví dụ đầu vào/đầu ra trong prompt của bạn để AI học được mẫu mình mong muốn.
Zero-shot (không có ví dụ): "Phân loại phiếu hỗ trợ này là Lỗi, Yêu cầu tính năng hoặc Câu hỏi."
Few-shot (có ví dụ):
<examples>
Input: "Ứng dụng bị lỗi khi tôi nhấp vào xuất"
Category: Lỗi
Input: "Bạn có thể thêm chế độ dark mode không?"
Category: Yêu cầu tính năng
Input: "Làm thế nào để reset mật khẩu của tôi?"
Category: Câu hỏi
Input: "Trang đăng nhập hiển thị màn hình trống trên Firefox"
Category: Lỗi
Input: "Có giảm giá cho sinh viên không?"
Category: Câu hỏi
</examples>
<input>Bộ lọc tìm kiếm không hoạt động khi tôi chọn nhiều tag</input>
Phiên bản few-shot đáng tin cậy hơn nhiều vì AI nhìn thấy chính xác từng phân loại trông như thế nào - chứ không chỉ tên phân loại.
Nghệ thuật lựa chọn ví dụ
Không phải tất cả các ví dụ đều như nhau. Các ví dụ được lựa chọn chiến lược sẽ hiệu quả hơn những ví dụ ngẫu nhiên.
Quy tắc 1: Bao gồm mọi phân loại
Để phân loại, hãy bao gồm ít nhất một ví dụ cho mỗi phân loại. Tốt hơn: 2 - 3 ví dụ cho mỗi phân loại.
Quy tắc 2: Bao gồm các trường hợp ngoại lệ
Các ví dụ có giá trị nhất là những ví dụ có thể theo cả hai hướng:
<examples>
<!-- Các trường hợp rõ ràng -->
Input: "Tôi yêu sản phẩm này! Đây là lần mua hàng tốt nhất từ trước đến nay!"
Sentiment: Tích cực
Input: "Trải nghiệm tồi tệ. Tôi muốn được hoàn tiền."
Sentiment: Tiêu cực
<!-- Các trường hợp khó phân loại — những trường hợp này dạy AI VỊ TRÍ của ranh giới -->
Input: "Sản phẩm hoạt động tốt, nhưng bao bì bị hư hỏng."
Sentiment: Trung lập
Input: "Không tệ, tôi đoán vậy. Nó thực hiện đúng như những gì đã nói."
Sentiment: Trung lập
Input: "Ý tưởng tuyệt vời, nhưng cần cải thiện khâu thực hiện."
Sentiment: Trung lập
</examples>
Nếu không có các trường hợp khó phân loại, AI xử lý tốt những đầu vào rõ ràng nhưng lại đoán mò đối với các đầu vào mơ hồ. Những trường hợp khó phân loại dạy cho AI ranh giới quyết định.
Quy tắc 3: Đa dạng hóa đặc điểm đầu vào
Nếu tất cả các ví dụ của bạn có độ dài, phong cách hoặc độ phức tạp tương tự nhau, AI có thể bị quá khớp với những đặc điểm đó:
<!-- XẤU: Tất cả các ví dụ đều là câu ngắn, đơn giản -->
Input: "Tôi thích nó" → Tích cực
Input: "Tôi ghét nó" → Tiêu cực
Input: "Tạm được" → Trung lập
<!-- TỐT: Đa dạng về độ dài, phong cách và độ phức tạp -->
Input: "Tôi thích nó"
→ Tích cực
Input: "Sau khi sử dụng cái này trong ba tháng, tôi có thể tự tin nói rằng
nó đã thay đổi cách nhóm của chúng tôi cộng tác. Quá trình học hỏi ban đầu
khá khó khăn, nhưng đáng giá từng phút."
→ Tích cực
Input: "Tạm được. Hoạt động được nhưng không có gì đặc biệt cả"
→ Trung lập
✅ Kiểm tra nhanh: Bạn đã xây dựng một prompt few-shot để trích xuất các mục hành động trong cuộc họp. 5 ví dụ của bạn đều cho thấy các ghi chú cuộc họp được định dạng tốt với những mục "HÀNH ĐỘNG: Người này thực hiện X trước Ngày" rõ ràng. Trên thực tế, ghi chú cuộc họp thường rất lộn xộn - lỗi chính tả, phân công không rõ ràng, thiếu ngày tháng. Liệu prompt của bạn có hoạt động tốt với dữ liệu thực tế không?
Câu trả lời: Có lẽ là không tốt lắm. Ví dụ của bạn chỉ thể hiện trường hợp "sạch sẽ". Hãy thêm ví dụ với dữ liệu đầu vào lộn xộn: "John nói anh ấy sẽ xem xét vấn đề ngân sách có thể vào tuần tới" → Hành động: John sẽ xem xét ngân sách vào [tuần tới]. Việc hướng dẫn AI cách xử lý dữ liệu đầu vào lộn xộn, mơ hồ là điều giúp các prompt ngắn gọn hoạt động hiệu quả trong môi trường sản xuất.
Few-Shot cho các nhiệm vụ khác nhau
Chuyển đổi phong cách
Dạy AI giọng văn của bạn:
<task>Viết email cập nhật sản phẩm bằng giọng văn của công ty chúng tôi.</task>
<examples>
Chủ đề: Tính năng bảng điều khiển mới
Phong cách của chúng tôi: "Bảng điều khiển của bạn vừa trở nên thông minh hơn. Chúng tôi đã thêm cảnh báo thời gian thực
sẽ thông báo cho bạn khi các chỉ số thay đổi - không cần kiểm tra thủ công nữa. Tính năng này hiện đã hoạt động. Hãy khám phá ngay."
Chủ đề: Thay đổi giá cả
Phong cách của chúng tôi: "Thông báo: Chúng tôi sẽ điều chỉnh giá bắt đầu từ ngày 1 tháng 3.
Các gói hiện tại sẽ được giữ nguyên cho đến khi gia hạn. Dưới đây là những gì
đang thay đổi và lý do."
Chủ đề: Thời gian bảo trì
Phong cách của chúng tôi: "Lưu ý nhanh: Chúng tôi sẽ thực hiện một số công việc bảo trì vào thứ Bảy này, từ 2 - 4 giờ sáng theo giờ EST. Mọi thứ có thể bị gián đoạn trong vài phút.
Chúng tôi sẽ hoàn thành trước khi bạn uống cà phê."
</examples>
<topic>Tăng giới hạn tốc độ API mới</topic>
Ba ví dụ dạy AI giọng văn chính xác của bạn: Thân mật, trực tiếp, ngôi thứ nhất số nhiều, câu ngắn gọn, không có lời lẽ quảng cáo hoa mỹ.
Trích xuất dữ liệu
Dạy AI lược đồ trích xuất của bạn:
<task>Trích xuất dữ liệu có cấu trúc từ hóa đơn này.</task>
<examples>
Input: "Hóa đơn số 1234 từ Acme Corp, ngày 15 tháng 1 năm 2026.
Items: Web hosting (99 USD/tháng), chứng chỉ SSL (29 USD/năm). Tổng cộng: 128 USD.
Payment due: 15 tháng 2 năm 2026."
Output:
{
"invoice_number": "1234",
"vendor": "Acme Corp",
"date": "2026-01-15",
"items": [
{"description": "Web hosting", "amount": 99, "recurring": "monthly"},
{"description": "SSL cert", "amount": 29, "recurring": "yearly"}
],
"total": 128,
"due_date": "2026-02-15"
}
</examples>
Tạo code
Dạy AI các mẫu lập trình của bạn:
<task>Viết một hàm Python theo các quy ước của chúng tôi.</task>
<examples>
Request: "Hàm để xác thực định dạng email"
Code:
def validate_email(email: str) -> bool:
"""Validate email format using regex pattern."""
import re
pattern = r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'
return bool(re.match(pattern, email))
</examples>
<request>Hàm tính phần trăm thay đổi giữa hai số</request>
Cần bao nhiêu ví dụ?
Độ phức tạp của nhiệm vụ
Số ví dụ được đề xuất
Tại sao
Lựa chọn đơn giản (có/không)
2 - 4
Chỉ cần hiển thị mẫu
Nhiều loại (3-5 loại)
5 - 10
Cần có sự đa dạng giữa các lớp
Trích xuất phức hợp
3 - 5 chi tiết
Chất lượng của từng ví dụ mới là điều quan trọng hơn
Chuyển đổi phong cách
3 - 5
Đủ để thiết lập mẫu giọng nói
Khó phân loại: đầu vào không rõ ràng
Thêm 2 - 3 trường hợp khó phân loại
Đây là những ví dụ có giá trị nhất
Ngân sách token rất quan trọng: Mỗi ví dụ sẽ tiêu tốn token từ cửa sổ ngữ cảnh của bạn. Đối với một tác vụ có ngữ cảnh 4K, bạn sẽ có ít chỗ hơn cho các ví dụ so với ngữ cảnh 100K. Hãy ưu tiên chất lượng ví dụ hơn số lượng.
Bài tập thực hành
Tạo một bài tập phân loại với ít nhất 3 danh mục và 2 ví dụ cho mỗi danh mục
Bao gồm một trường hợp khó phân loại cho mỗi danh mục để kiểm tra giới hạn
Thử cùng một nhiệm vụ với dữ liệu đầu vào zero-shot và few-shot - so sánh tính nhất quán
Xây dựng một bài tập chuyển đổi phong cách: Đưa ra 3 ví dụ về giọng văn của bạn, sau đó tạo ra một đoạn văn mới
Thử nghiệm với thứ tự ví dụ: Di chuyển ví dụ tốt nhất của bạn xuống cuối và xem liệu kết quả có được cải thiện hay không
Những điểm chính cần ghi nhớ
Kỹ thuật tạo prompt few-shot (3 -10 ví dụ) là kỹ thuật đáng tin cậy nhất để có được kết quả nhất quán và có quy luật
Chất lượng ví dụ quan trọng hơn số lượng - các ví dụ đa dạng, bao gồm cả trường hợp khó phân loại sẽ cho kết quả tốt hơn nhiều ví dụ tương tự
Bao quát mọi danh mục, bao gồm cả các trường hợp khó phân loại và thay đổi đặc điểm đầu vào để tránh hiện tượng quá khớp
Thiên lệch gần đây: Đặt các ví dụ quan trọng nhất của bạn ở cuối để có ảnh hưởng tối đa
Phương pháp Few-shot có hiệu quả cho phân loại, chuyển đổi phong cách, trích xuất dữ liệu, tạo code, v.v...
Ngân sách token: Cân bằng số lượng ví dụ với kích thước cửa sổ ngữ cảnh có sẵn
Câu 1:
THỨ TỰ của các ví dụ few-shot ảnh hưởng đến đầu ra. Cụ thể, điều gì thường xảy ra?
GIẢI THÍCH:
Nghiên cứu cho thấy thiên lệch gần đây trong kỹ thuật tạo prompt few-shot: Các ví dụ gần cuối prompt có ảnh hưởng đến đầu ra nhiều hơn những ví dụ ở đầu. Điều này là do cách thức hoạt động của cơ chế chú ý trong các mô hình transformer. Ứng dụng thực tiễn: Đặt những ví dụ quan trọng nhất, tiêu biểu nhất ở cuối. Đặt những ví dụ bất thường hoặc trường hợp ngoại lệ ở đầu bài, nơi chúng cung cấp ngữ cảnh nhưng không chi phối toàn bộ bài viết. Đây là hiện tượng gọi là thiên lệch gần đây. Việc đặt những ví dụ tiêu biểu nhất ở cuối và các trường hợp ngoại lệ ở đầu bài thường cải thiện hiệu suất.
Câu 2:
Tất cả các ví dụ few-shot của bạn đều cho thấy cùng một mẫu: đầu vào ngắn → phân loại tích cực. Điều này sẽ tạo ra vấn đề gì?
GIẢI THÍCH:
Kỹ thuật Few-shot learning liên quan đến việc khớp mẫu. Nếu tất cả các ví dụ đều có chung một đặc điểm (ngắn + tích cực), AI sẽ bám vào mẫu đó. Nó bắt đầu liên kết độ dài với cảm xúc. Cách khắc phục: Thay đổi độ dài đầu vào, đại diện cho tất cả các loại gần như bằng nhau và bao gồm những ví dụ cụ thể phá vỡ các mẫu không mong muốn (ví dụ: một ví dụ tiêu cực ngắn, một ví dụ tích cực dài).
Câu 3:
Bạn đang xây dựng một prompt few-shot để phân loại email khách hàng thành 5 danh mục. Bạn nên đưa vào bao nhiêu ví dụ?
GIẢI THÍCH:
Một ví dụ cho mỗi danh mục là không đủ - nó không cho AI thấy cách xử lý sự mơ hồ. 2 - 3 ví dụ cho mỗi danh mục, với sự kết hợp giữa các trường hợp rõ ràng và ranh giới, sẽ dạy AI cả các danh mục VÀ ranh giới quyết định. Hơn 100 ví dụ sẽ lãng phí token và vượt quá hầu hết các cửa sổ ngữ cảnh. Chất lượng và sự đa dạng của các ví dụ quan trọng hơn số lượng.
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây: