Kỹ Thuật Thiết Kế Prompt Và Quản Lý Ngữ Cảnh Cho Mô Hình Ngôn Ngữ Lớn

Việc thiết kế đầu vào cho mô hình ngôn ngữ lớn (LLM) đóng vai trò then chốt trong việc định hướng kết quả đầu ra. Do bản chất hoạt động dựa trên xác suất thống kê, hành vi của LLM phụ thuộc rất nhiều vào cách chúng ta cấu trúc yêu cầu. Một quy trình thiết kế prompt hiệu quả không chỉ giúp khai thác tối đa năng lực của mô hình mà còn giảm thiểu các sai sót không mong muốn.

Mục tiêu chính của kỹ thuật này là nắm vững điểm mạnh và giới hạn của mô hình, từ đó áp dụng các chiến lược phù hợp. Khi được hướng dẫn đúng cách, mô hình có thể tạo ra nội dung chính xác, logic và sáng tạo hơn. Lợi ích cụ thể bao gồm:

  • Nâng cao chất lượng phản hồi: Giảm thiểu ảo giác và tăng độ chính xác của thông tin.
  • Điều khiển hành vi: Định hình phong cách, giọng điệu và định dạng đầu ra theo ý muốn.
  • Tối ưu chi phí: Giảm số lần thử nghiệm lại, tiết kiệm token và thời gian xử lý.
  • Giải quyết vấn đề phức tạp: Mở rộng khả năng ứng dụng vào các tác vụ đòi hỏi suy luận sâu.

Giao tiếp tự nhiên với mô hình mà không có cấu trúc rõ ràng thường dẫn đến kết quả không ổn định. Để khắc phục điều này, chúng ta cần áp dụng các kỹ thuật thiết kế có hệ thống.

1. Các Kỹ Thuật Cơ Bản

Chỉ Thị Rõ Ràng Và Chi Tiết

Nguyên tắc đầu tiên là sự rõ ràng. Mô hình hoạt động tốt nhất khi nhận được các hướng dẫn cụ thể, tránh sự mơ hồ.

  • Chưa tối ưu: "Viết về du lịch."
  • Đã tối ưu: "Viết một bài giới thiệu 200 từ về các điểm đến du lịch sinh thái tại Việt Nam, tập trung vào trải nghiệm nghỉ dưỡng và bảo vệ môi trường, dành cho đối tượng khách gia đình."

Thiết Lập Vai Trò Và Bối Cảnh

Cung cấp ngữ cảnh giúp mô hình hiểu rõ hơn về mục đích của任务. Việc gán vai trò cụ thể sẽ điều chỉnh góc độ phản hồi.

  • Định danh vai trò: "Hãy acting như một chuyên gia tư vấn tài chính cá nhân..."
  • Cung cấp ngữ cảnh: Đưa thêm thông tin nền về dự án hoặc tình huống cụ thể để mô hình nắm bắt vấn đề sâu hơn.

Kiểm Soát Định Dạng Đầu Ra

Yêu cầu mô hình trả về kết quả theo cấu trúc xác định giúp dễ dàng tích hợp vào quy trình xử lý tiếp theo.

  • Định dạng cụ thể: Yêu cầu trả về dưới dạng bảng, danh sách gạch đầu dòng, hoặc dữ liệu có cấu trúc.
  • Sử dụng ký hiệu phân cách: Dùng các ký hiệu đặc biệt để tách biệt phần指令, dữ liệu đầu vào và phần yêu cầu xử lý.

<!-- Ví dụ về cấu trúc prompt với分隔符 -->
'''
NHIỆM VỤ: Phân tích sentiment của đoạn văn bản dưới đây.

DỮ LIỆU ĐẦU VÀO:
"""
Sản phẩm này hoạt động rất tốt nhưng giá thành hơi cao so với thị trường.
"""

YÊU CẦU ĐẦU RA:
Chỉ trả về JSON với 2 khóa: 'sentiment' và 'score'.
'''

Sử Dụng Từ Khóa Trọng Tâm

Việc lồng ghép các từ khóa liên quan mật thiết đến chủ đề giúp mô hình tập trung vào phạm vi kiến thức mong muốn. Ví dụ, khi hỏi về biến đổi khí hậu, hãy thêm các từ khóa như "khí thải carbon", "năng lượng tái tạo", "mực nước biển".

2. Các Kỹ Thuật Nâng Cao

Học Từ Ví Dụ (Few-Shot Learning)

Cung cấp một vài cặp mẫu "đầu vào - đầu ra" giúp mô hình nhận diện quy luật và bắt chước phong cách mà không cần huấn luyện lại.


Input: "Tôi rất hài lòng với dịch vụ."
Output: "Tích cực"

Input: "Thời gian chờ đợi quá lâu."
Output: "Tiêu cực"

Input: "Giao hàng đúng hẹn nhưng đóng gói bị rách."
Output:

Mô hình sẽ tự động điền "Hỗn hợp" hoặc "Tiêu cực" dựa trên ngữ cảnh đã học.

Chuỗi Suy Luận (Chain-of-Thought)

Kỹ thuật này yêu cầu mô hình trình bày các bước trung gian trước khi đưa ra kết luận cuối cùng, đặc biệt hữu ích cho các bài toán logic hoặc tính toán.


Câu hỏi: Một cửa hàng có 50 quyển vở. Bán đi 1/5 số vở vào buổi sáng. Buổi chiều nhập thêm 10 quyển. Hỏi còn bao nhiêu quyển?

Hướng dẫn suy nghĩ:
1. Tính số vở bán buổi sáng.
2. Tính số vở còn lại sau khi bán.
3. Cộng thêm số vở nhập mới.

Kết quả:

Prompt Dựa Trên Ràng Buộc

Xác định rõ những điều mô hình không được làm. Kỹ thuật này giúp loại bỏ các nội dung không mong muốn hoặc giới hạn phạm vi trả lời.

  • Ví dụ: "Giải thích về blockchain, không sử dụng các thuật ngữ chuyên ngành khó hiểu, độ dài dưới 150 từ."

Bơm Kiến Thức (Knowledge Injection)

Đối với các lĩnh vực chuyên sâu, mô hình chung có thể thiếu thông tin cập nhật. Việc cung cấp tài liệu tham khảo hoặc dữ liệu ngữ cảnh trực tiếp trong prompt (liên quan đến kỹ thuật RAG) giúp tăng độ chính xác.

Cây Suy Luận (Tree-of-Thoughts)

Phát triển từ Chain-of-Thought, kỹ thuật này cho phép mô hình khám phá nhiều nhánh suy nghĩ khác nhau cho cùng một vấn đề, sau đó tự đánh giá và chọn ra hướng đi tối ưu nhất. Cách tiếp cận này mô phỏng quá trình brainstorming và thử sai của con người.

3. Các Hướng Phát Triển Tiếp Theo

Trong các hệ thống hội thoại phức tạp, System Prompt đóng vai trò quan trọng. Đây là phần指令 được thiết lập ở cấp độ hệ thống, thường nằm ở đầu cuộc hội thoại hoặc trong tham số `system` của API. Nó định hình hành vi cốt lõi của mô hình xuyên suốt phiên làm việc.

Ngoài ra, ngữ cảnh hội thoại còn bao gồm lịch sử tin nhắn của người dùng và phản hồi trước đó của mô hình. Quản lý tốt cửa sổ ngữ cảnh này là yếu tố quyết định chất lượng của các phiên tương tác dài.

  • ReAct (Reasoning + Acting): Kết hợp giữa suy luận và hành động. Mô hình sẽ lập kế hoạch, thực hiện một hành động (như gọi API, tìm kiếm), quan sát kết quả và điều chỉnh kế hoạch tiếp theo dựa trên phản hồi đó.
  • Graph-of-Thoughts: Mở rộng từ cây suy luận thành đồ thị, cho phép kết nối các ý tưởng phi tuyến tính và tái sử dụng các nhánh suy nghĩ trung gian.
  • Meta-Prompting: Sử dụng chính mô hình để tạo ra hoặc tối ưu hóa các prompt khác, tự động hóa quy trình thiết kế đầu vào.
  • Chuỗi Prompt (Prompt Chain): Phân rã một nhiệm vụ lớn thành nhiều bước nhỏ, mỗi bước sử dụng một prompt riêng biệt. Kết quả của bước trước sẽ là đầu vào cho bước sau, giúp giải quyết các vấn đề phức tạp mà một prompt đơn lẻ không thể xử lý hết.

Thẻ: prompt-engineering large-language-models context-engineering chain-of-thought react-pattern

Đăng vào ngày 18 tháng 7 lúc 16:47