Claude Certification Guide
0% chương trình học đã hoàn thành
4.4

Few-Shot Prompting

Những điều bạn cần biết

Ví dụ few-shot là kỹ thuật hiệu quả nhất để đạt được output nhất quán, đúng định dạng từ Claude. Không phải thêm chỉ dẫn. Không phải điều chỉnh ngưỡng độ tin cậy. Không phải điều chỉnh temperature. Khi output của bạn không nhất quán, ví dụ few-shot là công cụ đầu tiên bạn nên dùng đến.

Đây là một nguyên tắc thi trực tiếp. Đề thi đưa ra các tình huống mà chỉ dẫn chi tiết tạo ra kết quả không nhất quán, và kiểm tra xem bạn chọn "thêm chỉ dẫn" hay "thêm ví dụ few-shot." Đáp án đúng gần như luôn luôn là vế sau.

Khi nào nên triển khai ví dụ few-shot

Ba dấu hiệu cụ thể cho biết bạn cần dùng ví dụ few-shot:

1. Chỉ dẫn chi tiết một mình tạo ra định dạng không nhất quán. Bạn đã viết một prompt kỹ lưỡng chỉ rõ định dạng output, nhưng model vẫn tạo ra các cấu trúc khác nhau qua từng lần gọi — khi thì danh sách gạch đầu dòng, khi thì bảng, khi thì văn xuôi. Thêm chỉ dẫn sẽ không khắc phục được điều này. Một vài ví dụ thể hiện đúng định dạng bạn muốn thì sẽ khắc phục được.

2. Model đưa ra các phán đoán không nhất quán trong những trường hợp mơ hồ. Với một công cụ review code, model gắn cờ "critical" cho việc biến bị che khuất (shadowing) ở file này nhưng lại gắn "minor" ở file khác. Với một agent chọn tool, nó định tuyến "kiểm tra đơn hàng của tôi" đến các tool khác nhau tùy theo cách diễn đạt. Những trường hợp mơ hồ này cần ví dụ thể hiện phán đoán đúng, kèm lý do (reasoning).

3. Nhiệm vụ trích xuất tạo ra các trường rỗng/null cho thông tin thực sự có trong tài liệu. Thông tin có mặt nhưng ở một định dạng bất ngờ — nằm lồng trong đoạn văn tường thuật thay vì trong bảng có cấu trúc, hoặc bị chia nhỏ qua nhiều đoạn. Ví dụ few-shot thể hiện việc trích xuất từ các cấu trúc tài liệu đa dạng sẽ giải quyết được vấn đề này.

Cách xây dựng ví dụ hiệu quả

Các quy tắc xây dựng ví dụ rất chặt chẽ:

Dùng 2-4 ví dụ có mục tiêu rõ ràng. Ít hơn 2 thì không đủ để thiết lập một mẫu hình. Nhiều hơn 4 sẽ lãng phí token mà không mang lại lợi ích tương xứng. Hãy nhắm ví dụ của bạn vào đúng những tình huống mơ hồ cụ thể đang gây ra vấn đề.

Mỗi ví dụ phải thể hiện lý do (reasoning). Đừng chỉ đưa ra các cặp input-output. Hãy chỉ ra tại sao một hành động được chọn thay vì các phương án khả dĩ khác. Điều này dạy cho model cách khái quát hóa phán đoán của nó sang các mẫu hình mới, chứ không chỉ khớp máy móc với những trường hợp cụ thể trong ví dụ của bạn.

Example: Tool selection for "check my order #12345" Input: "check my order #12345" Selected tool: lookup_order Reasoning: The user provides an order number (#12345), indicating they want order-specific information. Even though this could be interpreted as a general customer query, the specific order identifier makes lookup_order the correct choice over get_customer.

Nếu không có phần lý do, model chỉ học được rằng "các truy vấn có nhắc đến số đơn hàng thì đưa đến lookup_order." Khi có phần lý do, model học được nguyên tắc tổng quát hơn: các mã định danh cụ thể sẽ được định tuyến đến các tool tra cứu cụ thể.

Bao quát các tình huống đang thất bại. Nếu việc trích xuất của bạn hoạt động tốt trên bảng nhưng thất bại trên văn bản tường thuật, ví dụ của bạn nên thể hiện cách trích xuất đúng từ văn bản tường thuật. Nếu review code của bạn không nhất quán với việc biến bị che khuất, ví dụ của bạn nên phân loại các tình huống biến bị che khuất ở các mức độ nghiêm trọng khác nhau kèm lý do.

Hiệu ứng giảm ảo giác (hallucination)

Ví dụ few-shot có một hiệu ứng phụ mạnh mẽ: chúng làm giảm đáng kể ảo giác trong các nhiệm vụ trích xuất. Khi model thấy các ví dụ về trích xuất đúng từ các cấu trúc tài liệu đa dạng — trích dẫn inline so với danh mục tài liệu tham khảo, mô tả tường thuật so với bảng có cấu trúc, tiêu đề so với văn bản lồng nhau — nó học được cách xử lý sự đa dạng về cấu trúc mà không bịa đặt dữ liệu.

Điều này đặc biệt hiệu quả với các tài liệu có định dạng không nhất quán. Một báo cáo tài chính có thể trình bày chi phí trong một bảng ở trang này nhưng lại trong một đoạn văn tường thuật ở trang kế tiếp. Nếu không có ví dụ few-shot, model có thể trích xuất thành công từ bảng nhưng trả về các trường rỗng cho phần văn tường thuật (hoặc tệ hơn, bịa đặt giá trị). Với các ví dụ thể hiện cả hai cấu trúc, chất lượng trích xuất được cải thiện đáng kể.

Few-shot để giảm dương tính giả

Trong các tình huống review và phân tích code, ví dụ few-shot phục vụ hai mục đích cùng lúc: chúng thể hiện cả điều gì cần gắn cờ lẫn điều gì cần bỏ qua. Các ví dụ phân biệt giữa mẫu code chấp nhận được và các vấn đề thực sự sẽ giảm dương tính giả trong khi vẫn duy trì khả năng phát hiện các vấn đề thật.

textCopy

Example: Variable shadowing assessment
Code: function process(items) {
  const result = items.map(item => {
    const result = transform(item);  // shadows outer 'result'
    return result;
  });
  return result;
}
Severity: minor
Reasoning: The inner 'result' shadows the outer variable but
within a limited scope (arrow function). The code is still readable
and the shadow does not cause a bug. This is a style preference,
not a defect. Flag as minor only if style consistency is in scope.

Ví dụ này dạy cho model cách phân biệt bug thực sự với các mẫu vô hại, giảm dương tính giả trong khi vẫn giữ được khả năng khái quát hóa sang những trường hợp biến bị che khuất thực sự có vấn đề.

Khái niệm chính

Ví dụ few-shot là kỹ thuật hiệu quả nhất để đạt được tính nhất quán. Hãy dùng 2-4 ví dụ có mục tiêu rõ ràng, kèm theo lý do cho các quyết định, chứ không chỉ là các cặp input-output. Triển khai chúng khi chỉ dẫn một mình tạo ra kết quả không nhất quán, các phán đoán mơ hồ, hoặc các trường trích xuất rỗng cho dữ liệu thực sự tồn tại.

Few-shot so với các kỹ thuật khác

Đề thi kiểm tra xem bạn có thể phân biệt khi nào ví dụ few-shot là giải pháp đúng so với khi nào cần dùng kỹ thuật khác:

Vấn đềKỹ thuật đúng
Định dạng output không nhất quánVí dụ few-shot
Output JSON sai định dạngtool_use với JSON schema
Giá trị bịa đặt cho các trường bị thiếuTrường schema tùy chọn/nullable
Chọn sai toolMô tả tool tốt hơn (trước tiên), sau đó mới đến few-shot
Model bỏ sót thông tin trong văn bản tường thuậtVí dụ few-shot thể hiện trích xuất từ văn tường thuật
Tổng trích xuất không khớp với tổng thực tếVòng lặp validation-retry

Bẫy thi

Bẫy thi: Chọn 'thêm chỉ dẫn chi tiết hơn' khi định dạng output không nhất quán

Nếu chỉ dẫn chi tiết đã tồn tại mà output vẫn không nhất quán, thêm chỉ dẫn nữa sẽ không khắc phục được vấn đề. Ví dụ few-shot thể hiện chính xác định dạng mong muốn sẽ hiệu quả hơn để đạt tính nhất quán.

Bẫy thi: Nghĩ rằng ví dụ few-shot chỉ dạy khớp mẫu một cách máy móc

Khi các ví dụ có kèm lý do giải thích tại sao quyết định được đưa ra, chúng dạy cho model cách khái quát hóa sang các mẫu hình mới. Model học được nguyên tắc ra quyết định, chứ không chỉ riêng trường hợp cụ thể đó.

Bẫy thi: Dùng ngưỡng độ tin cậy để khắc phục các phán đoán không nhất quán

Ngưỡng độ tin cậy được hiệu chỉnh kém và không giải quyết được nguyên nhân gốc rễ. Ví dụ few-shot thể hiện phán đoán đúng cho các trường hợp mơ hồ dạy trực tiếp cho model cách ra quyết định nhất quán.

Tình huống luyện tập

Không tìm thấy câu hỏi luyện tập "q-4-2-001".

Bài tập thực hành

Xây dựng một prompt trích xuất được tăng cường bằng Few-Shot

Bạn sẽ học được gì

  • Nhận diện ba dấu hiệu cần triển khai ví dụ few-shot: định dạng không nhất quán, phán đoán mơ hồ, và trường rỗng cho dữ liệu đã tồn tại
  • Xây dựng ví dụ few-shot hiệu quả kèm lý do, không chỉ là các cặp input-output
  • Dùng 2-4 ví dụ có mục tiêu rõ ràng, bao quát các tình huống đang thất bại cụ thể
  • Phân biệt khi nào ví dụ few-shot là kỹ thuật đúng so với khi nào cần thay đổi schema hoặc vòng lặp validation
  • Đo lường tác động của ví dụ few-shot lên tỷ lệ trường rỗng và tính nhất quán định dạng

Các bước

Vì sao: Thiết lập một baseline không có ví dụ giúp minh họa vấn đề về tính nhất quán mà đề thi kiểm tra. Chỉ dẫn chi tiết một mình tạo ra output không nhất quán trên các cấu trúc tài liệu đa dạng, đây chính là dấu hiệu cần triển khai ví dụ few-shot.

Bạn sẽ thấy: Kết quả trích xuất không nhất quán trên 10 tài liệu: các trường được trích xuất đúng từ bảng nhưng rỗng hoặc sai từ đoạn văn tường thuật, định dạng output khác nhau qua các lần chạy, và xử lý không nhất quán với các trường hợp biên.

Vì sao: Xác định các mẫu thất bại cụ thể cho bạn biết chính xác ví dụ few-shot của bạn cần thể hiện điều gì. Đề thi kiểm tra khả năng chẩn đoán vấn đề trước khi kê ra giải pháp.

Bạn sẽ thấy: Một bảng hoặc bản ghi thể hiện trường nào thất bại trên loại tài liệu nào. Mẫu điển hình: ngày tháng được trích xuất đúng từ bảng nhưng bị bỏ sót trong văn tường thuật, số tiền không nhất quán khi được viết bằng chữ thay vì bằng số, các dòng chi tiết rỗng khi nằm lồng trong đoạn văn.

Vì sao: Ví dụ kèm lý do dạy cho model cách khái quát hóa sang các mẫu hình mới, chứ không chỉ khớp máy móc với những trường hợp cụ thể. Nếu không có lý do, model chỉ học được cách khớp mẫu bề mặt. Đề thi kiểm tra cụ thể rằng ví dụ có kèm lý do vượt trội hơn các cặp input-output đơn thuần.

Bạn sẽ thấy: Ba ví dụ, mỗi ví dụ thể hiện một cấu trúc tài liệu khác nhau (bảng, tường thuật, hỗn hợp), kèm kết quả trích xuất đúng VÀ một phần lý do giải thích cách dữ liệu được tìm thấy và tại sao các quyết định trích xuất được đưa ra như vậy.

Vì sao: Định lượng mức độ cải thiện minh chứng cho hiệu quả của ví dụ few-shot với tư cách là kỹ thuật ưu tiên hàng đầu cho các vấn đề về tính nhất quán. Đề thi mong bạn biết rằng ví dụ few-shot vượt trội hơn việc thêm chỉ dẫn cho nhóm vấn đề này.

Bạn sẽ thấy: Sự giảm rõ rệt có thể đo lường được về các trường rỗng (đặc biệt trên các tài liệu tường thuật), tính nhất quán định dạng được cải thiện trên các loại tài liệu, và độ chính xác trích xuất tổng thể cao hơn. Sự cải thiện nên rõ rệt nhất trên những loại tài liệu trước đó đã thất bại.

Vì sao: Đề thi kiểm tra xem bạn có thể ghép đúng kỹ thuật với đúng vấn đề hay không. Ví dụ few-shot khắc phục các vấn đề về tính nhất quán và sự đa dạng cấu trúc, nhưng JSON sai định dạng cần tool_use, giá trị bịa đặt cần schema nullable, và sai lệch tổng cần vòng lặp validation.

Bạn sẽ thấy: Một ma trận quyết định thể hiện loại vấn đề nào được cải thiện nhờ ví dụ few-shot và loại nào vẫn cần các can thiệp khác. Trích xuất văn tường thuật và tính nhất quán định dạng nên được cải thiện. Việc bịa đặt dữ liệu thiếu không nên được cải thiện và cần thay đổi schema thay vào đó.

Nguồn tham khảo