Tự kiểm, Educational Prompts và tinh chỉnh
Bài trước ta đã dựng được một prompt đầy đủ bằng Persona, CREATE và Prompt Canvas. Bài này lo phần còn lại của một prompt chuyên nghiệp: cài cơ chế tự kiểm để bắt lỗi sớm, nhận diện chín thành phần của một prompt tốt, viết prompt cho dạy và học, và chạy vòng lặp tinh chỉnh để biến bản nháp thành bản dùng được.
Hãy bắt đầu từ một cảnh quen thuộc. Bạn nhờ mô hình tóm tắt tài liệu cho buổi thảo luận sáng mai. Nó trả về một khối chữ chỉn chu, bạn đọc lướt và thấy ổn. Đến lúc trình bày, giảng viên hỏi một con số trong bản tóm tắt lấy từ đâu, bạn lật lại tài liệu gốc và không tìm thấy: con số đó được viết ra chỉ vì nó hợp với mạch câu.
Cảnh này phơi bày hai lỗ hổng. Một, bạn tin vào vẻ trôi chảy, trong khi câu văn mượt không phải bằng chứng của nội dung đúng. Hai, chính prompt của bạn chưa yêu cầu mô hình bám vào tài liệu và chưa yêu cầu nó tự soát. Bài này vá cả hai, và điều cần nhớ ngay là hãy coi prompt như một đoạn mã: bản đầu chạy được đã là tốt, bản dùng được thật sự luôn đến sau vài vòng sửa.
Thử ngay: một vòng tinh chỉnh điển hình
Dưới đây là một vòng tinh chỉnh điển hình. Bấm từng thành phần để xem bản sửa đã thêm gì so với bản đầu sơ sài.
Giải thích con trỏ trong C.
Đóng vai gia sư lập trình C cho sinh viên năm nhất chưa từng gặp con trỏ.
Giải thích bằng một phép ẩn dụ địa chỉ nhà, kèm đúng một đoạn mã 5 dòng.
Tránh số học con trỏ ở lần này.Cài cơ chế tự kiểm vào prompt
Mô hình có thể trả lời trôi chảy mà vẫn sai. Cách phòng vệ tốt là yêu cầu chính nó tự soát trước khi bạn tin. Ba kỹ thuật dưới đây nhẹ nhàng nhưng hiệu quả, đều chỉ là vài câu thêm vào cuối prompt.
Chuỗi kiểm chứng yêu cầu mô hình tự đặt vài câu hỏi kiểm tra cho câu trả lời của mình, tự trả lời chúng, rồi sửa lại nếu phát hiện mâu thuẫn. Nó hữu ích nhất với câu trả lời chứa dữ kiện dễ bịa: ngày tháng, con số, tên hàm, tham số.
Sau khi trả lời, hãy tự đặt ba câu hỏi kiểm chứng nhằm bắt lỗi
trong chính câu trả lời của bạn, tự trả lời từng câu, và nếu
phát hiện sai sót thì sửa lại câu trả lời cuối.
Tìm điểm yếu nhất (lối nghĩ red-team) buộc mô hình tự công kích kết quả của mình: trong toàn bộ lập luận, giả định hay bước nào dễ sai nhất? Cách hỏi này lật ngược xu hướng tự tin thái quá của mô hình và thường lộ ra đúng chỗ cần bạn lưu tâm.
Cuối cùng, hãy tự đóng vai người phản biện khó tính: chỉ ra giả
định hoặc bước duy nhất dễ sai nhất trong câu trả lời trên, và
nói nếu nó sai thì kết luận thay đổi thế nào.
Điểm tự tin từ 0 đến 100 không biến mô hình thành máy đo xác suất chính xác, nhưng cho bạn một tín hiệu phân loại nhanh: phần nào mô hình chắc, phần nào nên kiểm lại bằng tài liệu gốc. Điểm thấp là lời mời bạn tự xác minh, không phải lý do bỏ đi.
Tự kiểm làm hai việc: bắt được một phần lỗi ngay trong câu trả lời, và chỉ cho bạn chỗ đáng ngờ nhất để dồn sức kiểm tra. Trách nhiệm cuối cùng vẫn là của người dùng. Đừng biến phần tự kiểm thành một bài luận dài hơn cả câu trả lời chính.
Tự kiểm hiệu quả tới đâu, và hỏng ở đâu
Cần nói thẳng vì nhiều bạn hiểu sai: yêu cầu mô hình tự kiểm không biến nó thành cỗ máy đúng. Nó soát lại bằng đúng thứ nó có sẵn là cách liên kết ngôn ngữ, nên một dữ kiện sai mà nghe hợp lý vẫn trôi qua được vòng tự soát.
Tự kiểm mạnh nhất với lỗi nội bộ, tức lỗi phát hiện được chỉ bằng cách đọc lại chính câu trả lời: mâu thuẫn giữa đoạn đầu và đoạn cuối, một bước tính sai so với bước trước, một yêu cầu trong đề bị bỏ sót. Nó yếu nhất với lỗi cần đối chiếu thế giới bên ngoài, chẳng hạn trích dẫn có tồn tại thật không: không có nguồn để tra, mô hình chỉ phỏng đoán, và phỏng đoán lần hai không đáng tin hơn lần một. Cách chữa cho nhóm này là cấp tài liệu gốc kèm ràng buộc, chỗ nào tài liệu không nói thì ghi rõ là không có dữ liệu.
Vậy hãy coi tự kiểm là lưới lọc thô, không phải lưới cuối cùng: nó khoanh vùng chỗ đáng ngờ, còn việc xác minh vùng đó vẫn là của bạn.
Một, chồng quá nhiều lớp tự kiểm khiến phần kiểm dài hơn phần trả lời và bạn lười đọc cả hai. Hai, coi điểm tự tin cao là xong việc, trong khi điểm cao chỉ nói mô hình không thấy mâu thuẫn nội bộ, không nói nó đúng với thực tế. Ba, hỏi dẫn dắt kiểu "câu trả lời trên đã đúng chưa", vì cách hỏi đó mời mô hình gật đầu; hãy hỏi theo hướng bắt lỗi. Bốn, chỉ tự kiểm mà bỏ hẳn việc đối chiếu nguồn.
Chín thành phần của một prompt tốt
Khi mổ một prompt chuyên nghiệp thật, bạn sẽ thấy nó hiện thực đủ chín mảnh sau, sắp
xếp gọn gàng và để lại các ô [PLACEHOLDER] cho người dùng điền.
- Persona, vai trò: mô hình đóng vai ai.
- Nhiệm vụ và tiêu chí thành công: làm gì, thế nào là đạt.
- Ngữ cảnh và ràng buộc: bối cảnh, giới hạn nguồn lực, điều cấm.
- Quy trình nhiều bước: chuỗi các pha thực hiện tuần tự.
- Suy nghĩ trước khi trả lời: yêu cầu suy luận, chẩn đoán gốc rễ.
- Tự kiểm và tự sửa: chuỗi kiểm chứng, điểm yếu nhất.
- Ô điền
[PLACEHOLDER]: phần thay đổi theo mỗi lần dùng. - Giao thức tương tác: cách trình bày, ví dụ thực hiện từng pha và nêu lý lẽ.
- Kiểm soát định dạng đầu ra: đề mục cố định, bảng, JSON, điểm tự tin cuối.
Một chi tiết tinh tế: prompt thật tách bạch phần cố định (persona, các pha, giao thức)
khỏi phần thay đổi theo lần dùng (các ô [PLACEHOLDER]). Phần cố định được thiết kế
công phu một lần; phần thay đổi là phần người dùng điền nhanh mỗi lần chạy. Đây đúng là
ranh giới mà buổi sau ta dựa vào để biến một prompt tốt thành một skill tái dùng được:
thân skill là phần cố định, đầu vào là phần điền.
Educational Prompts: prompt cho dạy và học
Có một họ prompt rất gần với sinh viên đáng được gọi tên riêng: prompt phục vụ dạy và học. Khác với prompt rà mã hay phân loại dữ liệu, mục tiêu ở đây không phải ra một kết quả đúng mà là tạo ra nội dung giúp người học hiểu. Vì vậy nó có một công thức riêng, gọn hơn CREATE:
Sinh
[loại nội dung]về[chủ đề]cho[trình độ]bằng[phương pháp].
Bốn thành phần cần nêu rõ:
- Loại nội dung: thứ cần sinh ra. Ví dụ bộ câu hỏi ôn tập, bài giảng ngắn, bảng thuật ngữ, bài tập tự kiểm.
- Chủ đề: phạm vi kiến thức. Ví dụ con trỏ trong C, độ phức tạp thuật toán.
- Trình độ: người học đang ở đâu. Ví dụ sinh viên năm nhất chưa quen ký hiệu, người đã học cơ bản, người ôn lại trước thi.
- Phương pháp: cách dạy mong muốn. Ví dụ học qua ví dụ, đi từ trực giác tới hình thức, hỏi đáp dẫn dắt, so sánh đúng và sai.
Hai thành phần đầu trả lời sinh ra cái gì; hai thành phần sau làm nên chữ "educational": chúng ép mô hình điều chỉnh độ sâu và cách trình bày cho đúng người học. Bỏ quên trình độ thì câu trả lời hoặc quá hàn lâm hoặc quá sơ sài; bỏ quên phương pháp thì mô hình mặc định giảng giải một chiều.
Sinh một bộ 8 câu hỏi ôn tập về vòng lặp và mảng trong C cho
sinh viên năm nhất mới qua phần nhập môn lập trình, bằng phương
pháp học qua ví dụ: mỗi câu gắn với một đoạn mã ngắn 4 đến 6
dòng, hỏi đầu ra hoặc chỗ sai, kèm một câu giải thích thật ngắn.
Xếp từ dễ tới khó. Không dùng thuật ngữ nâng cao chưa học tới.
Prompt giáo dục không miễn nhiễm với thông tin sai. Một bộ câu hỏi nghe rất sư phạm vẫn có thể chứa đáp án sai. Với prompt sinh đáp án, thêm một câu yêu cầu mô hình tự rà lại đáp án trước khi chốt.
Quy trình tinh chỉnh prompt
Vì sao prompt đầu tiên hiếm khi tốt
Gần như luôn phải sửa, và lý do không nằm ở chỗ bạn viết dở. Khi viết prompt đầu tiên, bạn đang mô tả một thứ chỉ rõ ràng trong đầu bạn: bạn ngầm biết bài nên dài cỡ nào, giọng nên trang trọng hay thân mật, phần nào tuyệt đối không nên có, nhưng bạn không viết ra vì với bạn nó hiển nhiên. Mô hình không đọc được phần hiển nhiên đó, và chỗ nào bạn để trống thì nó điền bằng cái phổ biến nhất nó từng thấy. Cái thiếu của bản đầu vì thế nằm đúng ở những chỗ bạn không nghĩ là cần nói.
Lý do thứ hai tinh tế hơn: nhiều khi chính bạn cũng chưa biết mình muốn gì cho đến khi nhìn thấy một bản không đúng ý. Đầu ra đầu tiên vì vậy có ích ngay cả khi nó tệ, vì nó là tấm gương soi lại yêu cầu của bạn.
Vòng lặp bốn bước
Prompt tốt thường là sản phẩm của một vòng lặp bốn bước, lặp tới khi đầu ra đạt yêu cầu:
- Viết bản đầu. Dựng một prompt đủ dùng theo Prompt Canvas, không cầu toàn. Mục đích chỉ là có thứ để chạy và quan sát.
- Chạy thử. Cho mô hình chạy trên một đầu vào thật, tốt nhất là một ca khó hoặc tiêu biểu, không phải ca dễ nhất.
- Soi chỗ lệch ý. Đọc kỹ đầu ra và chỉ mặt từng chỗ lệch so với điều bạn muốn: sai giọng, sai độ sâu, thiếu mục, sai định dạng, bịa dữ kiện. Đây là bước quan trọng nhất và hay bị bỏ qua nhất.
- Sửa đúng chỗ. Với mỗi chỗ lệch, thêm đúng thành phần còn thiếu chứ không viết lại cả prompt: lệch giọng thì chỉnh vai trò hoặc đối tượng; thiếu nền tảng thì thêm ngữ cảnh; đầu ra mông lung thì thêm một ví dụ mẫu; sai khuôn thì siết định dạng. Rồi quay lại bước chạy thử.
Mấu chốt là sửa có địa chỉ. Người mới hay xoá hết viết lại, nên không bao giờ biết thay đổi nào thực sự có tác dụng. Người làm bài bản chỉ đổi một yếu tố mỗi vòng, quan sát đầu ra đổi theo. Mỗi chỗ lệch trỏ tới một thành phần cụ thể trong Prompt Canvas, nên Canvas còn là bảng tra cứu để sửa, không chỉ để dựng.
Quy tắc mỗi vòng chỉ đổi một thứ nghe có vẻ chậm, nhưng nó là cách duy nhất để biết nguyên nhân. Nếu bạn sửa cùng lúc bốn chỗ và đầu ra tốt hẳn lên, lần sau bạn không biết phải mang theo thay đổi nào; tệ hơn, nếu một trong bốn thay đổi làm hại, bạn sẽ giữ lại cả nó mà không hay.
Đọc đầu ra để định vị chỗ hỏng
Bước soi chỗ lệch bị làm ẩu nhất, vì nó đòi bạn đọc kỹ thay vì gõ tiếp. Hãy đọc đầu ra như đọc một triệu chứng: mỗi kiểu sai trỏ về một chỗ thiếu khá xác định trong prompt.
| Triệu chứng ở đầu ra | Chỗ hỏng trong prompt | Cách chữa |
|---|---|---|
| Đúng nội dung nhưng giọng lệch, quá hàn lâm hoặc quá suồng sã | Thiếu vai trò hoặc thiếu người đọc | Nêu rõ mô hình đóng vai ai và viết cho ai |
| Giảng quá sâu hoặc quá sơ sài so với người học | Thiếu trình độ đối tượng | Mô tả người đọc đang biết gì và chưa biết gì |
| Trả lời chung chung, đúng mà vô dụng | Nhiệm vụ nêu quá rộng | Thu hẹp phạm vi, nêu tiêu chí thế nào là đạt |
| Đủ ý nhưng trình bày lộn xộn, mỗi lần một kiểu | Thiếu kiểm soát định dạng | Chốt đề mục, độ dài, kiểu bảng hoặc danh sách |
| Bịa số liệu, bịa trích dẫn, bịa tên hàm | Không ràng buộc nguồn, không có tự kiểm | Cấp tài liệu gốc, cấm suy đoán, thêm chuỗi kiểm chứng |
| Bỏ sót một yêu cầu trong đề | Yêu cầu bị chôn giữa đoạn văn dài | Tách thành danh sách gạch đầu dòng rõ ràng |
| Lan man sang phần nâng cao chưa cần | Thiếu ràng buộc loại trừ | Nói thẳng phần nào không được đụng tới |
Sau khi chạy thử, viết ra bằng lời từng chỗ chưa ưng, tra xem nó thuộc triệu chứng nào, rồi sửa đúng thành phần tương ứng. Nếu một chỗ chưa ưng mà bạn không gọi tên được bằng lời, gần như chắc chắn bạn cũng chưa nói được nó cho mô hình.
Ví dụ: bạn nhờ viết mở đầu cho báo cáo môn học, đầu ra dài, câu nào cũng đúng, nhưng đọc xong bạn không nhớ nổi nó nói gì. Triệu chứng là chung chung, đúng mà vô dụng, nên chỗ hỏng nằm ở nhiệm vụ quá rộng: bạn chỉ nói "viết mở đầu", không nói mở đầu phải làm được việc gì. Bản sửa không cần dài hơn, chỉ cần chính xác hơn.
Tinh chỉnh không có nghĩa là prompt cứ dài thêm mãi. Đôi khi chỗ lệch đến từ một câu thừa gây nhiễu, và bản sửa tốt lại là bản ngắn hơn. Mục tiêu là rõ và đúng việc, không phải nhiều chữ.
Luyện tập
Hãy tự làm trước rồi mới mở lời giải, vì giá trị nằm ở chỗ bạn tự gọi tên được lỗi.
Bài 1: chẩn đoán và sửa một prompt hỏng
Cho prompt: "Tóm tắt chương này giúp tôi." Chạy với một chương giáo trình, bạn nhận về một đoạn dài lan man, mỗi lần chạy lại trình bày một kiểu khác, bỏ mất phần bạn thấy quan trọng nhất, và có một định nghĩa không hề xuất hiện trong chương. Chỉ ra các chỗ hỏng rồi viết bản sửa.
Lời giải gợi ý. Bốn chỗ hỏng, đối chiếu bảng chẩn đoán. Một, nhiệm vụ quá rộng: chưa nói tóm cho ai và để làm gì, nên mô hình chọn cách an toàn là nói đều mọi thứ. Hai, không nêu trọng tâm. Ba, không kiểm soát định dạng và độ dài. Bốn, và nặng nhất, không ràng buộc nguồn, nên mô hình tự do bổ sung kiến thức ngoài chương.
Tóm tắt chương giáo trình dưới đây cho sinh viên năm hai đang ôn
thi cuối kỳ. Chỉ dùng nội dung có trong chương được cung cấp. Chỗ
nào chương không đề cập thì ghi rõ là không đề cập, không bổ sung
từ nguồn ngoài. Ưu tiên giữ định nghĩa và điều kiện áp dụng của
từng khái niệm. Trình bày tối đa 10 gạch đầu dòng, mỗi dòng một
câu, xếp theo mức quan trọng giảm dần.
Bản sửa dài hơn, nhưng dài ở đúng bốn chỗ vừa chẩn đoán. Đó là khác biệt giữa sửa có địa chỉ và viết lại cho hoành tráng.
Bài 2: đo tác dụng của một thay đổi duy nhất
Lấy một prompt bạn đang dùng thật, chạy và lưu đầu ra. Sau đó chỉ thêm đúng một thành phần, chẳng hạn mô tả trình độ người đọc, giữ nguyên mọi thứ còn lại. Chạy lại, so hai đầu ra, rồi trả lời: đầu ra đổi ở chỗ nào, tốt hay xấu, có giữ thay đổi này không.
Lời giải gợi ý. Bài này rèn thói quen nên không có đáp án duy nhất, nhưng có một cách làm sai rất phổ biến: tiện tay đổi thêm vài chỗ khác khi chạy lại. Chỉ cần đổi hai thứ, kết luận về tác dụng của từng thứ lập tức mất giá trị. Nếu đầu ra gần như không đổi, đó cũng là kết quả có ích: trình độ không phải chỗ hỏng, hãy đi tìm chỗ hỏng thật ở nơi khác.
Tự kiểm Buổi 3
- 1CREATE gồm sáu thành phần nào, theo đúng thứ tự?
- 2Ô số 5 và số 6 của Prompt Canvas là gì?
- 3Công thức Educational Prompt khai báo bốn thành phần nào?
- 4Kỹ thuật tự kiểm nào buộc mô hình tự công kích kết quả của chính nó để lộ chỗ dễ sai nhất?
- 5Trong vòng lặp tinh chỉnh, vì sao nên đổi đúng một thành phần mỗi vòng thay vì viết lại cả prompt?
Tóm tắt
Tự kiểm bắt được lỗi nội bộ và khoanh vùng chỗ đáng ngờ, nhưng mù trước lỗi cần đối chiếu thế giới thật, nên không thay được việc bạn tra nguồn. Một prompt chuyên nghiệp hiện thực đủ chín thành phần và tách phần cố định khỏi phần điền, riêng prompt cho dạy và học phải nêu rõ trình độ người học và phương pháp. Cuối cùng, bản đầu hỏng không phải vì bạn kém mà vì phần lớn yêu cầu còn ở dạng ngầm định: hãy chạy vòng lặp viết, chạy thử trên ca khó, đọc đầu ra để chẩn đoán, và sửa đúng một thành phần mỗi vòng.
Tự kiểm (chuỗi kiểm chứng, điểm yếu nhất, điểm tự tin) bắt lỗi sớm và chỉ chỗ đáng ngờ, không thay việc bạn tự xác minh. Một prompt chuyên nghiệp hiện thực đủ chín thành phần và để lại ô điền. Educational prompt khai báo rõ loại nội dung, chủ đề, trình độ và phương pháp. Tinh chỉnh prompt là vòng lặp viết, chạy, soi chỗ lệch, sửa đúng chỗ; bản đầu chỉ là giả thuyết, không phải bản tốt nhất.