Trang chủ › Blog › AI & AI tạo sinh
Cách triển khai Prompt Engineering | Prompt Engineering Guide

Prompt Engineering là một lĩnh vực tương đối mới, giúp xây dựng, phát triển và tối ưu hóa hiệu quả các mô hình ngôn ngữ lớn (LLM) cho nhiều use case khác nhau. Đây là kỹ thuật và quy trình hướng dẫn các chương trình phần mềm AI tạo sinh để tạo ra kết quả mong muốn một cách chính xác và hiệu quả.
Đây không phải là nhiệm vụ đơn giản, do phạm vi output khổng lồ được tạo ra bởi các thuật toán tiên tiến trong những chương trình AI phổ biến. Hơn nữa, kho dữ liệu khổng lồ (corpus tăng lên mỗi ngày) đằng sau các mô hình ngôn ngữ lớn cho phép các chương trình AI tạo sinh cung cấp phạm vi output ngày càng rộng hơn.
Vì vậy, để đạt được prompting hiệu quả, bạn cần hiểu toàn diện về các kỹ thuật prompting, nắm được những mẹo quan trọng khi tạo prompt tốt, và nhận biết các use case chính của AI prompt hiệu quả. Bài viết này giới thiệu Prompt Engineering Guide cần thiết để làm chủ prompt engineering.
1. Nhanh chóng hiểu các kỹ thuật Prompt Engineering
AI sáng tạo đang ngày càng phổ biến, với hàng loạt ứng dụng và công cụ đổi mới xuất hiện cho cả mục đích công việc lẫn giải trí. Điều này chủ yếu nhờ vào thành công và độ phổ biến của ChatGPT, Google Bard hay các AI chatbot khác tận dụng mạnh mẽ mô hình hóa ngôn ngữ.
Output của các chương trình AI phổ biến ngày nay trải rộng trên mọi loại đa phương tiện, kết hợp với tốc độ nhận câu trả lời chỉ trong vài giây, hứa hẹn hỗ trợ rất nhiều cho công việc hàng ngày của chúng ta.
- Công cụ tạo ảnh: Các công cụ tạo ảnh như Dall-E của Open AI hay Midjourney rất lý tưởng để tạo nội dung 3D và tác phẩm nghệ thuật AI.
- Công cụ tạo mã: Các công cụ tạo mã như Copilot được dùng để sinh code snippet và hỗ trợ lập trình viên trong công việc coding.
- Công cụ tạo âm thanh: Các mô hình tổng hợp giọng nói như WaveNet của DeepMind được dùng để tạo ra giọng nói chân thực, giống con người.
Vì các mô hình ngôn ngữ lớn như vậy có thể tổng hợp và tạo câu trả lời dựa trên khối lượng dữ liệu khổng lồ, người dùng thường thấy khó để nhận được câu trả lời tốt nhất từ các ứng dụng AI phổ biến. Một hiểu lầm thường gặp là "người dùng nhập những từ prompt ngẫu nhiên vào chương trình AI phổ biến như thể đang tìm kiếm đơn giản trên Google". Điều này không mang lại kết quả tối ưu.
Nói cách khác, nhận thức về việc sử dụng công cụ AI tạo sinh đang gia tăng — output chỉ tốt tương xứng với prompt. Prompt cũng cần được xây dựng để bao gồm các yếu tố dựa không chỉ trên khái niệm cốt lõi, mà còn trên loại phương tiện (ảnh, video) dùng để xây dựng nội dung.
Các chương trình AI rất sáng tạo, nhưng không thể dự đoán ý định của người dùng. Người dùng cần truyền đạt chính xác điều mình muốn cho chương trình AI. Vì vậy, kỹ năng prompt engineering để tạo ra các prompt cụ thể, hiệu quả ngày càng trở nên quan trọng.
2. Cách triển khai Prompt Engineering | Prompt Engineering Guide
2.1. Nền tảng cơ bản của Prompt Engineering
2.1.1. Các định nghĩa chuẩn trong Prompt Engineering
Trước khi đi sâu hơn vào prompt engineering, hãy cùng thiết lập một vài định nghĩa chuẩn.
- Label (nhãn): một danh mục hoặc tác vụ cụ thể mà mô hình ngôn ngữ cần tập trung vào, như phân tích cảm xúc, tóm tắt hay trả lời câu hỏi.
- Logic: các quy tắc, ràng buộc hoặc chỉ dẫn nền tảng, định hướng hành vi của mô hình ngôn ngữ trong một prompt nhất định.
- Tham số mô hình (tham số LLM): các thiết lập hoặc cấu hình cụ thể của mô hình ngôn ngữ — như temperature, top-k, top-p sampling — ảnh hưởng đến quá trình sinh output.
2.1.2. Kiến thức cơ bản và cách định dạng prompt
Khi thiết kế một prompt, việc hiểu cấu trúc cơ bản và kỹ thuật định dạng là điều thiết yếu. Prompt thường bao gồm chỉ dẫn và placeholder để định hướng phản hồi của mô hình. Ví dụ, trong phân tích cảm xúc, prompt có thể chứa một chỉ dẫn như "Phân tích cảm xúc của đoạn văn sau" cùng với placeholder cho đoạn văn cần phân tích. Cung cấp chỉ dẫn rõ ràng, cụ thể giúp mô hình tập trung và tạo ra kết quả chính xác hơn.
Các thành phần của prompt:
Một prompt được thiết kế tốt cần bao gồm một số thành phần quan trọng sau.
- Context (ngữ cảnh): cung cấp bối cảnh và ngữ cảnh liên quan để mô hình có thể hiểu chắc chắn tác vụ hoặc câu hỏi.
- Task specification (mô tả tác vụ): xác định rõ tác vụ hoặc mục tiêu mà mô hình cần tập trung vào, như tạo bản tóm tắt hay trả lời một câu hỏi cụ thể.
- Constraints (ràng buộc): các giới hạn hoặc ràng buộc định hướng hành vi của mô hình, như giới hạn số từ hoặc yêu cầu nội dung cụ thể.
2.1.3. Use case của Prompt Engineering
Nếu bạn đang băn khoăn về các use case khả dĩ của prompt engineering, hãy nhớ rằng con số này không cố định — số lượng use case tiềm năng luôn tiếp tục tăng lên.
Như minh họa dưới đây, các use case hiện tại rất đa dạng, từ viết bài blog cho đến xây dựng dàn ý nội dung hoàn chỉnh. Khi các công cụ AI phổ biến được phát triển và công nghệ tiến bộ nhanh chóng, số lượng use case sẽ mở rộng sang các lĩnh vực như tài chính, sản xuất, y tế và nhiều hơn nữa.
Bảng dưới đây cho thấy một số use case hiện tại của Miichisoft đối với prompt engineering.

2.2. Các mẹo chung khi thiết kế prompt
- Thử nghiệm nhiều: Tạo một prompt hiệu quả là một quá trình cần nhiều thử nghiệm để đạt được kết quả tốt nhất. Hãy bắt đầu với một prompt đơn giản, sau đó dần dần thêm các yếu tố và ngữ cảnh để cải thiện output.
- Chia nhỏ tác vụ: Với một tác vụ lớn gồm nhiều tác vụ con, việc xây dựng tác vụ dần dần quan trọng hơn là cố gắng tạo ra toàn bộ output cùng một lúc. Chia nhỏ tác vụ sẽ mang lại kết quả chính xác hơn.
- Sử dụng lệnh trực tiếp: Trong các chỉ dẫn đưa cho mô hình ngôn ngữ, việc sử dụng các lệnh như "viết", "phân loại", "tóm tắt", "dịch", "sắp xếp lại" có thể định hướng mô hình tạo ra output cụ thể.
- Cung cấp ngữ cảnh: Để đến gần hơn với kết quả tối ưu, bạn cần cung cấp các từ khóa, ngữ cảnh và dữ liệu khác nhau. Thông thường, việc cung cấp ngữ cảnh cụ thể, phù hợp với tác vụ sẽ giúp kết quả tốt hơn.
- Sử dụng ký tự phân tách: Nên đặt chỉ dẫn ở đầu prompt và sử dụng các ký tự phân tách như "###" để tách chỉ dẫn khỏi ngữ cảnh.
2.3. Cách triển khai Prompt Engineering | Prompt Engineering Guide
Một prompt được thiết kế tốt đòi hỏi kỹ năng hiểu được khả năng và giới hạn của mô hình, đồng thời điều chỉnh prompt để tối ưu chất lượng và mức độ liên quan của output được tạo ra.
Một prompt được xây dựng cẩn thận cần bao gồm một số thành phần cốt lõi sau.
2.3.1. Cung cấp ngữ cảnh
Đây là phần quan trọng nhất. Sử dụng ngữ cảnh phù hợp trong prompt nghĩa là bao gồm mọi thông tin nền liên quan, từ chi tiết quan trọng đến chỉ dẫn cần thiết. Bạn đang viết prompt trong bối cảnh y tế, tài chính, hay lập trình phần mềm? Hãy đưa bối cảnh đó vào. Tương tự, prompt có được thiết kế để tham chiếu tài liệu quá khứ hoặc cung cấp phản hồi hướng tới tương lai không? Hãy đưa vào mọi ngữ cảnh quan trọng, nhạy cảm về thời gian.
Ví dụ, giả sử bạn muốn tạo thông tin về quá trình khoa học của quang hợp. Nếu quen dùng Google, có lẽ bạn chỉ đơn giản gõ "quang hợp" vào prompt.
Ngay cả một prompt một từ mơ hồ cũng sẽ cho ra một số kết quả.

Tuy nhiên, hãy cùng xem kết quả của một gợi ý bao gồm ngữ cảnh đầy đủ và sâu hơn, để hiểu trọn vẹn và chi tiết hơn về nền tảng sinh học của quang hợp.

Xác định rõ tác vụ hoặc câu hỏi bạn muốn mô hình AI giải quyết. Hãy cụ thể hóa tối đa về thông tin hay kết quả bạn mong đợi — thêm nhiều chi tiết hơn mức bạn nghĩ là cần thiết.
Ví dụ, bằng cách chỉ rõ bạn đang tìm dữ liệu hay một phép tính trong output, và bao gồm toàn bộ dữ liệu liên quan đến dự án, bạn giúp LLM tìm ra đúng thứ cần tìm giữa hàng núi dữ liệu.
2.3.2. Thêm tất cả các ràng buộc
Nếu có giới hạn hoặc ràng buộc mà mô hình AI cần lưu ý — như số từ, khung thời gian, hay tiêu chí cụ thể — hãy nêu rõ trong prompt. Hãy nhớ rằng mọi phần mềm AI phổ biến đều có quyền truy cập vào một kho dữ liệu khổng lồ. Nếu không đưa các ràng buộc thật chặt chẽ vào prompt, bạn sẽ nhận về nhiều hơn những gì bạn thực sự mong muốn.
2.3.3. Thử nghiệm với Temperature, Top-K và Top-P
Điều chỉnh các tham số như temperature, top-k, top-p cho phép bạn kiểm soát tính ngẫu nhiên và sáng tạo của output từ mô hình. Khi tạo prompt, hãy thử nghiệm các tham số này để tinh chỉnh output theo ý thích của bạn.
Giá trị Temperature
Giá trị temperature thể hiện mức độ ngẫu nhiên hoặc sáng tạo của phản hồi được tạo ra. Giá trị temperature cao, như 0.8 hay 1.0, khiến output ngẫu nhiên và khó đoán hơn; trong khi giá trị thấp, như 0.2 hay 0.5, khiến output tập trung và mang tính xác định hơn. Có lẽ bạn sẽ muốn phản hồi trang trọng hơn cho các dự án kinh doanh, và cách tiếp cận ngẫu nhiên hơn cho các dự án giải trí.
Giá trị Temperature và ý nghĩa:

Giá trị Top-K
Giá trị Top-K là tham số xác định số lượng token khả dĩ nhất tiếp theo được xem xét trong quá trình sinh văn bản. Nói đơn giản, giá trị Top-K càng cao thì càng nhiều token thay thế được xem xét, cho phép output đa dạng và sáng tạo hơn. Ngược lại, giá trị Top-K thấp cho ra phản hồi thận trọng và dễ đoán hơn.
Giá trị Top-K và ý nghĩa:

Giá trị Top-P
Giá trị Top-P là một cách tiếp cận thay thế để kiểm soát tính đa dạng của các phản hồi được tạo ra trong quá trình sinh văn bản.
Thay vì xem xét một số lượng cố định các token khả dĩ nhất như Top-K, sampling Top-P xem xét các token cho đến khi xác suất tích lũy đạt một ngưỡng hoặc tỷ lệ phần trăm nhất định. Ngưỡng này mang tính động và có thể thay đổi ở mỗi bước sinh token.
Ví dụ, nếu giá trị Top-P được đặt là 0.8, mô hình sẽ xem xét các token cho đến khi xác suất tích lũy của chúng đạt 80%.
Giá trị Top-P và ý nghĩa:

2.3.4. Kiểm thử và lặp lại prompt
Bạn cũng có thể thử nhiều prompt khác nhau để đạt kết quả mong muốn hiệu quả hơn. Đây không chỉ là một cách tiếp cận hiệu quả, mà còn là một trong những chiến lược hiệu quả nhất để nhanh chóng nâng cao kỹ thuật của bạn.
Vì vậy, đừng ngần ngại thử nhiều prompt khác nhau nhiều lần, đánh giá kết quả được tạo ra, rồi tinh chỉnh và cải thiện kỹ thuật prompt của bạn. Như các chuyên gia agile đã học được, bạn không thể trở thành kỹ sư agile hàng đầu nếu thiếu quá trình lặp lại sâu rộng này.
Điểm quan trọng: ngay cả khi bạn cảm thấy đã đạt được kết quả mong muốn, đừng ngần ngại đào sâu hơn và thử lại. Nỗ lực liên tục không hề có mặt trái.
2.3.5. Hiểu giới hạn của mô hình
Đây là một thực tế khó khăn mà nhiều kỹ sư sớm phải chấp nhận: một mô hình AI phổ biến nhất định có thể chứa một mô hình ngôn ngữ lớn xuất sắc, nhưng mô hình đó vẫn không thể trả lời mọi câu hỏi. Ví dụ, một mô hình ngôn ngữ lớn được xây dựng để phục vụ thị trường y tế có thể không xử lý được hầu hết các câu hỏi tài chính cấp cao mà một MBA có thể nhập vào.
Vì vậy, việc thiết kế prompt tối ưu trong giới hạn và khả năng của mô hình AI cụ thể mà bạn đang sử dụng là rất quan trọng. Điều này giúp bạn thiết kế prompt phù hợp với thế mạnh của mô hình và giảm thiểu rủi ro tiềm ẩn từ giới hạn của output.
2.4. Các kỹ thuật Prompt Engineering
Một số kỹ thuật nâng cao có thể được sử dụng để tăng cường hơn nữa khả năng của prompt engineering.
N-shot Prompting:
N-shot prompting bao gồm việc fine-tuning một mô hình với dữ liệu có nhãn giới hạn, hoặc không có dữ liệu có nhãn, cho một tác vụ cụ thể. Bằng cách cung cấp một số ít ví dụ có nhãn, mô hình ngôn ngữ có thể học cách tổng quát hóa và thực hiện tác vụ một cách chính xác. N-shot prompting bao gồm cả hai cách tiếp cận zero-shot và few-shot prompting.
Zero-shot Prompting:
Với zero-shot prompting, mô hình được yêu cầu thực hiện một tác vụ mà nó chưa được huấn luyện rõ ràng. Thay vào đó, prompt cung cấp một mô tả tác vụ rõ ràng mà không có ví dụ có nhãn nào. Ví dụ:

Few-shot Prompting:
Với few-shot prompting, mô hình được huấn luyện với một số ít mẫu có nhãn để thực hiện một tác vụ cụ thể. Cách tiếp cận này cho phép mô hình học và tổng quát hóa bằng cách tận dụng một lượng dữ liệu có nhãn giới hạn. Ví dụ:

Chain-of-Thought (CoT) Prompting
CoT prompting bao gồm việc chia nhỏ một tác vụ phức tạp thành một chuỗi câu hỏi hoặc bước đơn giản. Bằng cách dẫn dắt mô hình qua một chuỗi prompt mạch lạc, bạn có thể đảm bảo phản hồi nhận biết ngữ cảnh và cải thiện chất lượng tổng thể của văn bản được tạo ra.

Generated Knowledge Prompting
Generated knowledge prompting bao gồm việc tận dụng một knowledge base bên ngoài hoặc nội dung được tạo sẵn để tăng cường phản hồi của mô hình. Bằng cách tích hợp thông tin liên quan vào prompt, mô hình có thể đưa ra câu trả lời chi tiết, chính xác hơn hoặc tạo nội dung dựa trên kiến thức đã truy xuất.
Self-Consistency
Kỹ thuật self-consistency tập trung vào việc duy trì tính mạch lạc và nhất quán trong phản hồi của mô hình ngôn ngữ. Bằng cách so sánh các output được tạo ra và kiểm tra xem chúng có khớp với nội dung hoặc chỉ dẫn đã tạo trước đó hay không, bạn có thể cải thiện chất lượng tổng thể và tính nhất quán trong phản hồi của mô hình.

Những ví dụ này cho thấy cách các kỹ thuật prompt engineering như N-shot prompting, CoT prompting, generated knowledge prompting và self-consistency có thể được áp dụng để dẫn dắt mô hình ngôn ngữ tạo ra phản hồi chính xác, phù hợp ngữ cảnh và mạch lạc hơn. Tận dụng các kỹ thuật này có thể tăng cường hiệu suất và khả năng kiểm soát của mô hình ngôn ngữ trên nhiều tác vụ NLP khác nhau.
Áp dụng các best practice của prompt engineering giúp nhắc nhở người dùng prompt engineering rằng AI có thể giải quyết nhiều vấn đề trong các lĩnh vực như trải nghiệm khách hàng (CX), y tế và nhiều hơn nữa. Nếu quan tâm, Miichisoft cung cấp hai bài viết về chủ đề này, mời bạn tham khảo tại đây:
https://miichisoft.com/application-of-prompt-engineering-medical-field/
3. Kết luận | Tối ưu prompt của bạn qua thực hành thực tế
Prompt Engineering Guide này trình bày chi tiết mọi thứ, từ kiến thức nền tảng về prompt gửi đến LLM cho đến cách viết prompt trong thực tế. Vì cách prompting phù hợp phụ thuộc vào tác vụ bạn muốn giải quyết, hãy thử trực tiếp hướng dẫn mô hình ngôn ngữ để tìm ra cách prompting tối ưu cho riêng mình.
Dựa trên các kỹ thuật được giới thiệu trong bài viết này, điều quan trọng là trải qua quá trình liên tục để AI tạo sinh tạo ra output. Chúng tôi cũng cung cấp một bài viết về vai trò và tương lai của prompt engineering, mời bạn tham khảo để hiểu sâu hơn.
Miichisoft là một công ty công nghệ Việt Nam với nhiều thành tích thành công trong phát triển cross-platform cho thị trường Nhật Bản. Qua hơn 150 dự án thành công, chúng tôi đã xây dựng được một bề dày thành tích vững chắc. Chúng tôi tự tin vào năng lực dẫn dắt các dự án IT, và tự hào có thể đóng góp vào thành công trong kinh doanh của khách hàng.
Hơn nữa, gần đây Miichisoft cũng đã hoàn thiện và ra mắt dxGAI Business | Enterprise, một giải pháp AI toàn diện cho tương lai được xây dựng trên nền ChatGPT. Là một doanh nghiệp, chúng tôi hiểu rõ những khó khăn khi sử dụng giải pháp AI, và có thể hỗ trợ bạn dù bạn mới bắt đầu sử dụng công nghệ Prompt Engineering trong hoạt động kinh doanh hay muốn sử dụng hiệu quả mà không phải lo ngại về vấn đề an toàn.
Nếu bạn quan tâm đến các công nghệ AI như prompt engineering, đừng ngần ngại liên hệ với chúng tôi — hãy cùng nhau khám phá cơ hội hợp tác kinh doanh.




