Prompt engineering là gì: kỹ thuật viết lệnh cho AI hiệu quả

Prompt engineering là gì: kỹ thuật viết lệnh cho AI

Prompt engineering là kỹ thuật thiết kế và tinh chỉnh câu lệnh (prompt) gửi cho mô hình AI để đạt được kết quả mong muốn. Thay vì thay đổi mô hình, người dùng tối ưu chất lượng đầu ra thông qua cách diễn đạt yêu cầu, bối cảnh và ràng buộc đầu ra.

tranh AI tạo bằng prompt mô tả ngôi đền thờ Nhật trong rừng thông sương mù

Vì sao prompt quan trọng với LLM

Mô hình ngôn ngữ lớn không “hiểu” yêu cầu như con người. Nó dự đoán token tiếp thep dựa trên xác suất học được từ dữ liệu huấn luyện. Một prompt rõ ràng, có cấu trúc, giúp mô hình dự đoán đúng hướng cần đi; một prompt mơ hồ khiến mô hình rơi về xu hướng phổ biến nhất trong dữ liệu, tức là câu trả lời chung chung dễ gặp ở bất kỳ ai.

Theo hướng dẫn chính thức của OpenAI, chất lượng prompt phụ thuộc vào bốn yếu tố: rõ ràng (viết bằng câu trọn ý), ngữ cảnh (nêu bối cảnh và mục tiêu), định dạng đầu ra (chỉ rõ cấu trúc mong muốn) và ví dụ mẫu (few-shot). Chi phí thay đổi một prompt thường thấp hơn nhiều so với chi phí huấn luyện lại mô hình.

cùng cảnh rừng đền thờ được tạo lại với negative prompt loại bỏ cây xanh tươi

Các thành phần của một prompt tốt

  • Vai trò (role): “Bạn là chuyên gia phân tích tài chính” định hướng vùng tri thức và giọng điệu.
  • Nhiệm vụ (task): động từ rõ ràng như so sánh, tóm tắt, viết lại, phân loại.
  • Bối cảnh (context): dữ liệu đầu vào, đối tượng độc giả, giới hạn kiến thức.
  • Định dạng (format): bảng, JSON, danh sách gạch đầu dòng, độ dài tối đa.
  • Ràng buộc (constraints): giọng văn, ngôn ngữ, điều cấm, yêu cầu suy luận từng bước.
  • Ví dụ (examples): vài cặp mẫu giúp mô hình nắm được khuôn mẫu đầu ra mong muốn.
Bạn là chuyên gia phân tích tài chính.
Tóm tắt nội dung sau bằng tiếng Việt, tối đa 3 câu.
Giữ nguyên các con số. Nếu thiếu dữ liệu, ghi "chưa đủ dữ liệu".

Nội dung: {doan_van_ban}

Kỹ thuật phổ biến

Zero-shot và few-shot

Zero-shot dùng prompt trực tiếp không kèm ví dụ. Few-shot bổ sung vài ví dụ mẫu ngay trong prompt để mô hình suy ra quy tắc. Khi cần phân loại văn bản vào các nhãn chưa từng thấy, few-shot thường vượt trội zero-shot vì mô hình không cần đoán định nghĩa nhãn từ mô tả dài.

Chain-of-thought

Yêu cầu mô hình “suy luận từng bước trước khi kết luận” giúp giảm lỗi logic trong các bài toán nhiều bước. Cần lưu ý chuỗi suy luận thường chỉ có tác dụng với mô hình đủ lớn; với mô hình nhỏ, câu lệnh này đôi khi chỉ làm tăng độ dài vô ích mà không cải thiện đáp án.

Negative prompt

Negative prompt liệt kê những thứ không muốn xuất hiện, phổ biến trong mô hình tạo ảnh như Stable Diffusion với các mục “mờ, nhiễu, thêm chữ, sai ngón tay”. Về mặt kỹ thuật đây là cơ chế hướng xác suất đi theo hướng ngược lại phân phối, không phải bộ lọc nội dung cứng.

Phân tách vai trò và hợp tác nhiều mô hình

Một kỹ thuật nâng cao là chia việc cho nhiều lượt: một lượt sinh phương án, một lượt phản biện, một lượt tổng hợp. Cách này mô phỏng quy trình làm việc của nhóm người và thường nâng chất lượng cho bài toán phân tích dài.

hình minh hoạ DALL-E 3 tạo ra từ prompt dài có đầy đủ bối cảnh và phong cách

Prompt cho mô hình tạo ảnh

Với mô hình tạo ảnh, prompt thường theo công thức: chủ thể + mô tả chi tiết + phong cách + ánh sáng và góc máy + negative prompt. Một ví dụ có cấu trúc tốt:

một ngôi đền thờ Nhật trong rừng thông sương mù, giữa trời,
ánh sáng vàng nhạt lúc bình minh, phong cách tranh thủy mặc,
ultra detailed, cinematic lighting
Negative: cây xanh tươi, người, chữ, watermark

Với mô hình tạo ảnh, trọng từ thường đặt trước vì chúng có ảnh hưởng mạnh hơn các mô tả dài. Nhiều giao diện còn cho phép trọng số cho từng từ khóa, cho phép tăng hoặc giảm mức độ khẩu vị theo từng thành phần.

Đo lường và cải thiện prompt

Không có cách đánh giá prompt nào thay thế được đối chiếu thực tế. Quy trình cải thiện hiệu quả gồm: viết prompt, chạy lại nhiều biến thể, ghi lại kết quả tốt, và lặp lại theo chu kỳ. Do đó prompt nên được coi như mã nguồn, lưu trong hệ quản lý phiên bản cùng với kết quả kiểm thử.

Với các hệ thống chạy liên tục, việc dùng chung một tệp cấu hình prompt giúp đồng bộ hành vi giữa các môi trường và tránh tình trạng mỗi thành viên tự viết một phiên bản khác nhau. Bước đánh giá đầu ra cũng nên tự động hóa bằng bộ tiêu chí rõ ràng, ví dụ kiểm tra độ dài, số liệu bắt buộc có mặt, hay định dạng JSON hợp lệ, thay vì chỉ đánh giá bằng cảm tính.

Rủi ro khi dùng prompt

  • Ảo giác: mô hình tự bịa số liệu, ngày tháng hoặc trích dẫn; cần nguồn kiểm chứng cho nội dung nhạy cảm.
  • Prompt injection: nội dung do người dùng nhập trong dữ liệu có thể chứa chỉ thị nhằm phá vỡ hệ thống.
  • Rò rỉ dữ liệu: không gửi thông tin bí mật, khóa API hay dữ liệu cá nhân vào prompt dùng chung.
  • Phụ thuộc quá mức: nên luôn có phương án dự phòng thủ công khi mô hình trả lời sai.

Nguồn tham khảo: OpenAI Prompt Engineering Guide, Prompting Guide của DAIR.AI, bài tổng quan về prompt engineering trên Wikipedia.

Tôi là một lập trình viên IOS. Code chính là IOS nhưng thỉnnh thoảng vẫn đá sang Android hoặc web. Mặc dù không quá thông thạo nhưng tôi sẽ chia sẻ những kiến thức mà mình đã tìm hiểu, áp dụng qua.

Bài viết liên quan

K-means là gì: thuật toán phân cụm dữ liệu và cách chọn số cụm

K-means là gì: thuật toán phân cụm dữ liệu và cách chọn số cụm K-means là gì? Đây là thuật toán phân cụm (clustering) được dùng để tự động chia…

Xem thêm

Autoencoder là gì: cách nén và tái tạo dữ liệu bằng mạng nơ-ron

Autoencoder là gì: cách nén và tái tạo dữ liệu bằng mạng nơ-ron Autoencoder là gì? Đây là kiến trúc mạng nơ-ron hai phần, gồm encoder nén dữ liệu đầu…

Xem thêm

Gradient Boosting là gì: thuật toán học máy cho dữ liệu bảng

Gradient Boosting (GBM) là một trong những thuật toán học máy phổ biến nhất để giải quyết bài toán dự báo trên dữ liệu có cấu trúc (tabular data). Thuật…

Xem thêm
0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất