Hướng dẫn kỹ thuật lời nhắc. Giới thiệu. Cơ bản về lời nhắc

Thứ năm - 23/10/2025 06:43
Hướng dẫn kỹ thuật lời nhắc. Giới thiệu. Cơ bản về lời nhắc

Basics of Prompting

Theo: https://www.promptingguide.ai/introduction/basics

Lời nhắc cho một LLM

Bạn có thể đạt được nhiều thành tựu với những lời nhắc đơn giản, nhưng chất lượng kết quả phụ thuộc vào lượng thông tin bạn cung cấp và mức độ trau chuốt của lời nhắc. Một lời nhắc có thể chứa thông tin như hướng dẫn hoặc câu hỏi bạn đang truyền đạt cho mô hình và bao gồm các chi tiết khác như bối cảnh, dữ liệu đầu vào hoặc ví dụ. Bạn có thể sử dụng các yếu tố này để hướng dẫn mô hình hiệu quả hơn, từ đó cải thiện chất lượng kết quả.

Hãy bắt đầu bằng cách xem xét một ví dụ cơ bản về một lời nhắc đơn giản:

Lời nhắc (Prompt)

The sky is

Đầu ra (Output):

blue.

Nếu bạn đang sử dụng OpenAI Playground hay bất kỳ sân chơi LLM nào khác, bạn có thể nhắc mô hình đó như trong ảnh chụp màn hình sau đây:

Đây là sách dạy cách làm quen với OpenAI Playground:

Video: Làm quen với OpenAI Playground

Một điều cần lưu ý là khi sử dụng các mô hình trò chuyện OpenAI như gpt-3.5-turbo hoặc gpt-4, bạn có thể cấu trúc lời nhắc của mình bằng ba vai trò khác nhau: hệ thống, người dùngtrợ lý. Thông báo hệ thống không bắt buộc nhưng giúp thiết lập hành vi tổng thể của trợ lý. Ví dụ trên chỉ bao gồm một thông báo người dùng mà bạn có thể sử dụng để trực tiếp nhắc nhở mô hình. Để đơn giản, tất cả các ví dụ, trừ khi được đề cập rõ ràng, sẽ chỉ sử dụng thông báo người dùng để nhắc nhở mô hình gpt-3.5-turbo. Thông báo cho trợ lý trong ví dụ trên tương ứng với phản hồi của mô hình. Bạn cũng có thể định nghĩa một thông báo trợ lý để truyền các ví dụ về hành vi mong muốn. Bạn có thể tìm hiểu thêm về cách làm việc với các mô hình trò chuyện tại đây.

Từ ví dụ lời nhắc ở trên, bạn có thể thấy mô hình ngôn ngữ phản hồi bằng một chuỗi các mã thông báo (token) có ý nghĩa với ngữ cảnh "Bầu trời là". Đầu ra có thể không như mong đợi hoặc khác xa với nhiệm vụ bạn muốn hoàn thành. Trên thực tế, ví dụ cơ bản này nhấn mạnh sự cần thiết phải cung cấp thêm ngữ cảnh hoặc hướng dẫn về những gì bạn muốn đạt được cụ thể với hệ thống. Đây chính là mục đích của kỹ thuật tạo lời nhắc.

Chúng ta hãy thử cải thiện nó một chút:

Prompt:

Complete the sentence:

The sky is

Output:

blue during the day and dark at night.

Như vậy đã tốt hơn chưa? Với lời nhắc ở trên, bạn đang hướng dẫn mô hình hoàn thành câu, do đó kết quả trông đẹp hơn rất nhiều vì nó tuân theo chính xác những gì bạn yêu cầu ("hoàn thành câu"). Phương pháp thiết kế lời nhắc hiệu quả để hướng dẫn mô hình thực hiện một nhiệm vụ mong muốn gọi là kỹ thuật lời nhắc trong hướng dẫn này.

Ví dụ trên là một minh họa cơ bản về những gì có thể làm được với các chương trình LLM ngày nay. Các chương trình LLM ngày nay có thể thực hiện tất cả các loại nhiệm vụ nâng cao, từ tóm tắt văn bản đến lập luận toán học đến tạo mã.

Định dạng lời nhắc

Bạn đã thử một lời nhắc rất đơn giản ở trên. Một lời nhắc tiêu chuẩn có định dạng sau:

<Question>?

hoặc

<Instruction>

Bạn có thể định dạng nó thành định dạng trả lời câu hỏi (QA), đây là định dạng chuẩn trong nhiều tập dữ liệu QA (Hỏi đáp), như sau:

Q: <Question>?
A: 

 

Khi đưa ra lời nhắc như trên, nó còn được gọi là gợi ý zero-shot (không lần nào), tức là bạn trực tiếp yêu cầu mô hình trả lời mà không cần bất kỳ ví dụ hay minh họa nào về nhiệm vụ bạn muốn nó thực hiện. Một số mô hình ngôn ngữ lớn có khả năng thực hiện gợi ý zero-shot, nhưng điều này phụ thuộc vào độ phức tạp và kiến thức về nhiệm vụ đang thực hiện cũng như các nhiệm vụ mà mô hình được đào tạo để thực hiện tốt.

Một ví dụ cụ thể về lời nhắc như sau:

Prompt

Q: What is prompt engineering?

Với một số mô hình gần đây hơn, bạn có thể bỏ qua phần "Q:" (“Hỏi”) vì nó được mô hình ngầm hiểu là một nhiệm vụ trả lời câu hỏi dựa trên cách sắp xếp chuỗi. Nói cách khác, lời nhắc có thể được đơn giản hóa như sau:

Prompt

What is prompt engineering?

 

Với định dạng chuẩn nêu trên, một kỹ thuật nhắc phổ biến và hiệu quả được gọi là nhắc ít cảnh (few-shot prompting), trong đó bạn cung cấp các ví dụ (tức là trình diễn). Bạn có thể định dạng lời nhắc ít cảnh như sau:

<Question>?
<Answer>

<Question>?
<Answer>

<Question>?
<Answer>

<Question>?

Phiên bản định dạng QA có thể trông như thế này:

Q: <Question>?
A: <Answer>

Q: <Question>?
A: <Answer>

Q: <Question>?
A: <Answer>

Q: <Question>?
A: 


 

Lưu ý rằng không bắt buộc phải sử dụng định dạng QA. Định dạng yêu cầu phụ thuộc vào nhiệm vụ được giao. Ví dụ: bạn có thể thực hiện một nhiệm vụ phân loại đơn giản và đưa ra các ví dụ minh họa nhiệm vụ như sau:

Prompt:

This is awesome! // Positive
This is bad! // Negative
Wow that movie was rad! // Positive
What a horrible show! //

Output:

Negative

Phương pháp nhắc ít lần cho phép học tập theo ngữ cảnh, tức là khả năng của các mô hình ngôn ngữ học các nhiệm vụ chỉ với một vài lần trình diễn. Chúng tôi sẽ thảo luận chi tiết hơn về phương pháp gợi ý không lần và gợi ý ít lần trong các phần tiếp theo.

Về phần ‘Giới thiệu’ ………. Phần trước ………. Phần tiếp theo

Prompting an LLM

You can achieve a lot with simple prompts, but the quality of results depends on how much information you provide it and how well-crafted the prompt is. A prompt can contain information like the instruction or question you are passing to the model and include other details such as context, inputs, or examples. You can use these elements to instruct the model more effectively to improve the quality of results.

Let's get started by going over a basic example of a simple prompt:

Prompt

The sky is

Output:

blue.

If you are using the OpenAI Playground or any other LLM playground, you can prompt the model as shown in the following screenshot:

Here is a tutorial on how to get started with the OpenAI Playground:

Video: Getting Started with the OpenAI Playground

Something to note is that when using the OpenAI chat models like gpt-3.5-turbo or gpt-4, you can structure your prompt using three different roles: system, user, and assistant. The system message is not required but helps to set the overall behavior of the assistant. The example above only includes a user message which you can use to directly prompt the model. For simplicity, all of the examples, except when it's explicitly mentioned, will use only the user message to prompt the gpt-3.5-turbo model. The assistant message in the example above corresponds to the model response. You can also define an assistant message to pass examples of the desired behavior you want. You can learn more about working with chat models here.

You can observe from the prompt example above that the language model responds with a sequence of tokens that make sense given the context "The sky is". The output might be unexpected or far from the task you want to accomplish. In fact, this basic example highlights the necessity to provide more context or instructions on what specifically you want to achieve with the system. This is what prompt engineering is all about.

Let's try to improve it a bit:

Prompt:

Complete the sentence: 

The sky is

Output:

blue during the day and dark at night.

Is that better? Well, with the prompt above you are instructing the model to complete the sentence so the result looks a lot better as it follows exactly what you told it to do ("complete the sentence"). This approach of designing effective prompts to instruct the model to perform a desired task is what's referred to as prompt engineering in this guide.

The example above is a basic illustration of what's possible with LLMs today. Today's LLMs are able to perform all kinds of advanced tasks that range from text summarization to mathematical reasoning to code generation.

Prompt Formatting

You have tried a very simple prompt above. A standard prompt has the following format:

<Question>?

or

<Instruction>

You can format this into a question answering (QA) format, which is standard in a lot of QA datasets, as follows:

Q: <Question>?
A: 

When prompting like the above, it's also referred to as zero-shot prompting, i.e., you are directly prompting the model for a response without any examples or demonstrations about the task you want it to achieve. Some large language models have the ability to perform zero-shot prompting but it depends on the complexity and knowledge of the task at hand and the tasks the model was trained to perform good on.

A concrete prompt example is as follows:

Prompt

Q: What is prompt engineering?

With some of the more recent models you can skip the "Q:" part as it is implied and understood by the model as a question answering task based on how the sequence is composed. In other words, the prompt could be simplified as follows:

Prompt

What is prompt engineering?

Given the standard format above, one popular and effective technique to prompting is referred to as few-shot prompting where you provide exemplars (i.e., demonstrations). You can format few-shot prompts as follows:

<Question>?
<Answer>

<Question>?
<Answer>

<Question>?
<Answer>

<Question>?

The QA format version would look like this:

Q: <Question>?
A: <Answer>

Q: <Question>?
A: <Answer>

Q: <Question>?
A: <Answer>

Q: <Question>?
A:

Keep in mind that it's not required to use the QA format. The prompt format depends on the task at hand. For instance, you can perform a simple classification task and give exemplars that demonstrate the task as follows:

Prompt:

This is awesome! // Positive
This is bad! // Negative
Wow that movie was rad! // Positive
What a horrible show! //

Output:

Negative

Few-shot prompts enable in-context learning, which is the ability of language models to learn tasks given a few demonstrations. We discuss zero-shot prompting and few-shot prompting more extensively in upcoming sections.

Dịch: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

 

Tác giả: Nghĩa Lê Trung

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết

  Ý kiến bạn đọc

Về Blog này

Blog này được chuyển đổi từ http://blog.yahoo.com/letrungnghia trên Yahoo Blog sang sử dụng NukeViet sau khi Yahoo Blog đóng cửa tại Việt Nam ngày 17/01/2013.Kể từ ngày 07/02/2013, thông tin trên Blog được cập nhật tiếp tục trở lại với sự hỗ trợ kỹ thuật và đặt chỗ hosting của nhóm phát triển...

Bài đọc nhiều nhất trong năm
Thăm dò ý kiến

Bạn quan tâm gì nhất ở mã nguồn mở?

Thống kê truy cập
  • Đang truy cập205
  • Máy chủ tìm kiếm6
  • Khách viếng thăm199
  • Hôm nay21,595
  • Tháng hiện tại983,041
  • Tổng lượt truy cập46,231,114
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây