16 prompt pattern của Vanderbilt dạy cho chat, không phải cho pipeline
Template là pattern đáng giữ nhất, còn giá trị thật nằm ở bài báo arXiv năm 2023 đứng sau khoá, không ở các mẫu câu.
Tóm tắt nhanh
- Khoá của Jules White trên Coursera ở mức beginner, khoảng 2 tuần, mỗi tuần 10 giờ, gồm 6 module và 7 bài tập.
- Template, Flipped Interaction và Cognitive Verifier là ba pattern FDE dùng được ngay; các pattern thiên về trò chuyện thì bỏ qua cũng được.
- Bài báo gốc coi viết prompt là một dạng lập trình; suy ra từ đó, prompt nên được đặt tên, quản lý phiên bản và kiểm thử như code.
Trang Coursera của khoá Prompt Engineering for ChatGPT liệt kê 16 prompt pattern, từ Persona đến Semantic Filter. Thêm vào đó là few-shot, Chain of Thought và ReAct. Với người mới thì danh sách này hấp dẫn. Với một FDE phải đưa model vào hệ thống thật của khách hàng, nó vừa quá nhiều vừa thiếu đúng thứ cần.
Dù vậy, khoá vẫn đáng học, miễn là bạn biết nên giữ phần nào. Người dạy là Jules White, giảng viên Đại học Vanderbilt, và bộ pattern trong khoá lấy từ một bài báo ông cùng đồng nghiệp đưa lên arXiv ngày 21/2/2023. Phần giá trị nhất của khoá nằm chính trong bài báo đó, chứ không ở các mẫu câu.
Khoá dạy gì, và dạy cho ai?
Theo trang Coursera, khoá ở mức beginner, kéo dài khoảng 2 tuần nếu học 10 giờ mỗi tuần. Nội dung chia thành sáu module: Course Introduction, Introduction to Prompts, Prompt Patterns I, Few-Shot Examples, Prompt Patterns II và Prompt Patterns III. Tổng cộng khoảng 18 giờ học, kèm 7 bài tập.
Đối tượng được ghi rõ: ai cũng học được, chỉ cần biết dùng máy tính cơ bản. Vanderbilt còn tự đăng mô tả các pattern trên trang của trường, với sự đồng ý của White, và gọi đây là một khoá miễn phí, tự học theo nhịp riêng.
Ngay tên khoá đã cho thấy trọng tâm là ChatGPT, nơi một người gõ và đọc từng câu trả lời. Công việc của FDE thường là một lời gọi API nằm trong pipeline, chạy hàng nghìn lần mà không có ai ngồi đọc. Vì thế, khi học từng pattern, hãy tự hỏi nó sẽ trông thế nào khi chuyển từ chat sang code.
Template là pattern đáng tiền nhất
Template pattern yêu cầu model giữ nguyên định dạng và khuôn mẫu tổng thể mà người dùng đưa vào. Trong chat, đây chỉ là một mẹo trình bày. Ở khách hàng, nó quyết định parser của bạn chạy được hay hỏng.
Thử hình dung một công ty logistics muốn trích mã đơn, loại khiếu nại và mức độ khẩn từ email khách gửi sang JSON. Giả sử cứ 20 output thì có 1 cái model chèn thêm một câu dẫn trước JSON. Một lô 1.000 email khi đó sinh ra 50 bản ghi lỗi, và đội vận hành sẽ thấy chúng trước bạn.
Vì vậy, việc nên làm trước tiên ở khách hàng là viết khuôn output một cách tường minh, đưa một ví dụ few-shot đúng khuôn, và dựng một bước kiểm tra định dạng ngay sau lời gọi model. Module Few-Shot Examples của khoá là phần nên học kỹ cùng với Template.
Flipped Interaction và Cognitive Verifier dùng ở đâu?
Flipped Interaction đảo vai: model sẽ hỏi người dùng cho tới khi đạt một điều kiện hoặc một mục tiêu. Với FDE, đây là công cụ chuẩn bị discovery.
Trước buổi gặp, bạn bảo model hỏi bạn từng câu về quy trình của khách cho tới khi đủ ý viết bản nháp yêu cầu, và những chỗ bạn trả lời không được chính là câu hỏi cần mang tới buổi họp.
Cognitive Verifier bắt model tự sinh thêm các câu hỏi phụ về chủ đề rồi mới trả lời. Pattern này hợp với trợ lý nội bộ, khi người dùng hỏi một câu mơ hồ kiểu “hợp đồng này có rủi ro không”. Tách câu đó ra thành các câu hỏi phụ giúp bạn nhìn thấy model đang hiểu sai ở bước nào.
Recipe cũng đáng giữ lại. Bạn nêu mục tiêu và vài bước đã biết, model điền phần còn lại thành một chuỗi đầy đủ. Pattern này hữu ích khi viết runbook triển khai cho một môi trường bạn chưa quen.
Bỏ gì, và vì sao?
Những pattern như Game Play, Menu Actions hay Tail Generation phát huy tác dụng khi có người ngồi chat nhiều lượt. Trong một lời gọi API một lượt, chúng gần như không có chỗ dùng. Học qua để biết là đủ, đừng tốn công luyện.
Persona, tức câu “Act as Persona X”, thì không cần bỏ, nhưng cũng đừng coi nó là giải pháp vạn năng. Bản thân câu đó chỉ giao một vai, không nói gì về khuôn output, nên đừng trông vào nó để parser chạy được. Hãy dùng Persona như lớp ngữ cảnh đặt trên Template, đừng để nó thay chỗ Template.
Ý đáng giữ nhất nằm trong bài báo
Bài báo “A Prompt Pattern Catalog to Enhance Prompt Engineering with ChatGPT” coi prompt là một dạng lập trình. Nó cũng xem prompt pattern là cách truyền lại kiến thức, tương tự software pattern. Đây là ý một kỹ sư nên mang vào dự án.
Thứ tự học hợp lý là học sáu module trước, giữ trang pattern của Vanderbilt làm tài liệu tra cứu, rồi đọc bài báo trên arXiv để nắm cách nhìn theo hướng software pattern. Sau đó, hãy chắc rằng bạn làm thêm một bước: đưa prompt vào repo, gắn tên pattern cho từng file, và viết test kiểm tra định dạng output.
Bước đó cũng là thứ đáng ghi vào CV. Một chứng chỉ chỉ cho thấy bạn đã học xong khoá; một thư viện prompt có tên gọi, có test và có số liệu về tỷ lệ output đúng khuôn cho thấy bạn đã đưa nó vào việc thật. Hãy lấy tên gọi pattern từ khoá, rồi tự gom test và số liệu từ chính dự án ở khách hàng.
Bài này có hữu ích không?
Cảm ơn bạn đã góp ý!