10 phút nắm bắt cách Prompt hiệu quả cho mô hình Reasoning

Thấy bài hay em lại share lại ạ…


10 PHÚT ĐỂ BẠN HIỂU RÕ CÁCH PROMPT HIỆU QUẢ CHO CÁC MÔ HÌNH REASONING (VD: o1, o3)

Trên thang đo 5 levels để đạt tới AGI của OpenAI thì các mô hình với khả năng reasoning đang ở level 2. Các kĩ thuật prompt engineering hiệu quả ở level 1 (conversational AI) sẽ không chắc chắn hiệu quả ở level 2 (reasoning AI) nữa.

:one: Tại sao bạn cần quan tâm?

Vì các models level 1 sẽ lui dần, nhường chỗ cho level 2. Điển hình là OpenAI đã liên tục cho ra o1, o3, rồi o3-mini (tất cả đều là level 2) mà ko giới thiệu thêm bất kì level 1 nào kể từ 4o nữa.

:two: Điểm khác biệt giữa o1/o3 và 4o

  • o1/o3 được tích hợp sẵn khả năng tự suy luận đa bước một cách có hệ thống, không cần phải hướng dẫn rõ ràng trong prompt.

Ngược lại, 4o cần hướng dẫn cụ thể. VD: “Hãy chia nhỏ vấn đề này thành từng bước. Bước 1: …”

  • o1/o3 chậm và đắt hơn 4o, nhưng cho câu trả lời chi tiết hơn. o3-mini nhanh hơn, rẻ hơn, nhưng vì là model nhỏ hơn nên có thể không mạnh bằng o1 ở kiến thức chung (o3-mini rất mạnh trong mảng STEM).

:three: Trường hợp sử dụng

  • Chỉ nên sử dụng o1/o3 cho các vấn đề đòi hỏi suy luận đa bước (lên chiến lược, làm toán, code, …). Trung bình thống kê thì những vấn đề cần 5 bước suy luận trở lên thì o1/o3 sẽ cho kết quả tốt hơn 4o khoảng 16%. Những vấn đề cần ít hơn 3 bước suy luận thì 4o sẽ tốt hơn o1/o3, vì tụi nó bị “overthinking”.

:four: Cách prompt hiệu quả cho o1/o3

A. Giữ prompt ngắn gọn, rõ ràng

  • Các prompt tối giản mang lại kết quả tốt nhất cho o1/o3 - “less is more” (chỉ cần nêu rõ nhiệm vụ).

  • VD thay vì nói: “Trong bài toán này, tôi muốn bạn suy luận cẩn thận qua từng bước để tìm ra đáp án đúng. Hãy phân tích từng bước một…”. Chỉ cần nói là “Giải bài toán sau [chi tiết bài toán]”

  • Mẹo: Bắt đầu với một zero-shot prompt (chỉ ghi mô tả task mà ko kèm ví dụ). Sau đó prompt hướng dẫn thêm nếu kết quả không như ý bạn.

B. Vẫn hoạt động tốt với kĩ thuật đóng vai và định dạng đầu ra

  • Định nghĩa rõ vai trò của mô hình (VD: “Hãy đóng vai một chuyên gia pháp lý”)

  • Chỉ định định dạng đầu ra mong muốn (VD: danh sách gạch đầu dòng, JSON, bảng dữ liệu).

C. Kiểm soát độ dài và mức độ chi tiết của câu trả lời

  • Nếu cần câu trả lời ngắn gọn, hãy yêu cầu rõ ràng: “Trả lời ngắn gọn, không cần phân tích sâu.”

  • O3-mini có tham số “reasoning effort” (thấp, trung bình, cao) giúp điều chỉnh độ sâu suy luận. Này chỉ có trên API thôi, nên bạn nào dùng web thì có thể mô phỏng bằng cách nhắc trong prompt, VD: “Đưa ra câu trả lời nhanh mà không phân tích sâu” hoặc “Thực hiện tất cả các bước cần thiết để đạt được câu trả lời đúng, ngay cả khi phần giải thích dài.”

D. Kiểm tra độ chính xác trong các nhiệm vụ phức tạp

  • Tận dụng khả năng tự kiểm tra lỗi của o1/o3 bằng cách yêu cầu nó kiểm tra lại kết luận.

  • Sử dụng phương pháp xác minh lặp lại: Chạy cùng một prompt nhiều lần hoặc yêu cầu mô hình đánh giá nhiều phương án để đảm bảo tính chính xác cao nhất.


Tóm lại:

  • Viết lời nhắc rõ ràng, cụ thể.
  • Chỉ cung cấp thông tin cần thiết, tránh dư thừa.
  • Không cần sử dụng quá nhiều ví dụ.
  • Xác định vai trò và định dạng mong muốn.
  • Kiểm soát mức độ chi tiết và độ dài câu trả lời.
  • Sử dụng O3-mini nếu cần phản hồi nhanh hơn.
  • Không cần yêu cầu “suy nghĩ từng bước” với o1/o3, vì chúng đã làm điều đó tự động.
  • Kiểm tra lại kết quả nếu tính chính xác quan trọng.

Bài của Facebook Nguyễn Gia Hy