Các tips prompt hiệu quả cho ae lập trình

0 0 0

Người đăng: ttdat

Theo Viblo Asia

Mở đầu

Hello ae, hẳn các ae đã biết mấy năm gần đây, AI phát triển cực kì mạnh mẽ, phần lớn các công việc của ae có thể sử dụng AI, giống như sql dùng để giao tiếp với DB, chúng ta dùng prompt để giao tiếp với AI. Đôi khi ae sẽ gặp nhiều trường hợp dùng prompt hoài mà AI trả lời không đúng ý, lan man hoặc hiểu sai hoàn toàn mục tiêu của mình. Điều này không chỉ tốn thời gian mà còn khiến ae cảm thấy ức chế, nhất là khi đang cần gấp một đoạn code hay lời giải cho một bug hóc búa. Chính vì vậy, bài viết này sẽ chia sẻ một số tips đơn giản nhưng cực kỳ hiệu quả giúp ae lập trình viết prompt rõ ràng, đúng mục tiêu và tận dụng tối đa sức mạnh của AI trong công việc hàng ngày. Cùng bắt đầu nhé!

Nguyên tắc chuẩn

khi viết 1 đoạn văn ta cần phải xác định các phần cho đoạn văn đó, tương tự vậy khi tạo ra 1 prompt, các bạn phải xác định các chủ thể của prompt, thường thì trong prompt sẽ bao gồm 4 chủ thể chính : C (context), E (expert persona), T (task), O (Output), giống như hình dưới đây

1. Context

cung cấp ngữ cảnh cho câu hỏi (where, when, why) ->bạn đang gặp vấn đề gì? ->bạn đang gặp chuyện gì?

vd: context để viết api dựa trên product schema

Context: My Task is create a new api for product table here is schema using spring boot, postgres
### Product-Schema ###
create table product ( id serial primary key, name varchar(100), cost double precision, description text
)
2. expert persona (Role)

đây là không quan trọng trong 1 số prompt nhưng cực kì quan trọng trong 1 số prompt khác, các bạn phải xác định được Vai trò của chatgpt trong trường hợp này là gì?, trong ngành IT thì bạn có thể đặt role là (Intern, Fresher, Junior, Senior, CTO), tuy nhiên các bạn cần nhớ 1 điều, không phải chuyên nghiệp là tốt vậy nên việc đặt 1 role quá cao sẽ khiến code của bạn bị rối rắm không cần thiết, dẫn đến khó bảo trì, khó sữa chữa, để thêm phần này các bạn chỉ cần thêm cái này là xong

Role: Middle
hoặc
Vai trò của bạn là middle
3. task

Ở phần này, bạn miêu tả chính xác cái bạn đang muốn AI model làm, câu hỏi các bạn cần trả lời là : "Cần chatgpt làm gì" các bạn nên miêu tả kĩ 1 chút, nếu các bạn chỉ yêu cầu tạo api thì kết quả phần service handle sẽ bị thiếu dẫn đến các bạn phải yêu cầu thêm

Task: Create api, service handler, repository and query related
4. Output
  • đây cũng là 1 phần cực kì quan trọng, nếu các bạn không thêm vào, các bạn sẽ phải chờ thêm 1-2 phút để prompt được tạo xong, câu hỏi các bạn cần trả lời là "Kết quả mong muốn nhận được như thế nào"
  • Mô tả kết quả càng cụ thể càng tốt, nếu có thể hãy đảm bảo về các mặt:
    • độ dài
    • định dạng (bảng, xml, json, …)
    • cấp độ từ vựng sử dụng (b1, b2, toeic ielts)
    • exclusion… (những hạn chế mà bạn có thể kể đến)

lưu ý: để code được chuyên nghiệp các bạn có thể thêm 1 số câu output như sau

  • apply builder pattern for enity -> dto -> sử dụng builder pattern cho dto
  • apply solid -> sử dụng nguyên tắc solid để code dễ bảo trì (solid, kiss...)
  • oswap check-> sử dụng oswap để đảm bảo về mặt security
  • give me curl of api get list in {host}{port} -> yêu cầu gpt sau khi tạo xong sẽ tạo ra 1 curl để bạn có thể sử dụng được ngay, sau đó bạn chỉ cần import curl này vào postman, thế là xong
  • use vietnamese/english -> trả về output tiếng anh/việt

dưới đây là ví dụ cho phần output của prompt tạo api product

Remove repeated question, explain, library
only code and class
create a window script for create class file

-> giải thích 1 chút về output, ở đây tôi sẽ đưa ra 3 output cụ thể

  1. Remove repeated question, explain, library => thông thường GPT hay giải thích, thêm phần lib... , việc này sẽ tốn token => tốn thời gian, tôi đoán nhiều ae không đọc phần explain đâu, phần library nếu bạn cần thì có thể nhờ nó tạo
  2. only code and class => tôi muốn phân tách các class cụ thể
  3. create a window script for create class file => tôi không thích tạo class lắm nên nhờ gpt tạo luôn cho nhanh
5. Clean

Bước này là optional nhưng vô cùng cần thiết, các bạn có thể dễ dàng sửa chữa và sử dụng prompt của mình các lần tới, các bạn có thể follow như ví dụ dưới đây

--Context-- My Task is create a new api for product table here is schema using spring boot, postgres
### Product-Schema ###
create table product ( id serial primary key, name varchar(100), cost double precision, description text
)
--Your Role-- Middle
--Task--
Create api
service handler repository and query related
request class
response class
--Output--
1. Remove repeated question, explain, library
2. only code and class
3. create a window script for create class file

Chiến lược + tips, trick

Các mẫu chiến lược

a. Nhờ GPT viết tiếp đoạn văn hoặc logic code

I’m providing you with the beginning (song lyrics/story/paragraph/essay...): (Insert lyrics/words/sentence). Finish it based on the words provided. Keep the flow consistent.

b. Nhờ rà soát kiến thức bằng các câu hỏi trắc nghiệm

(multiple choice questions - câu hỏi dạng trắc nghiệm nhiều đáp án) (single choice questions - câu hỏi chọn 1 đáp án)

c. Học bất kì điều gì sử dụng ai

“Teach me any (theorem/topic/rule name) and include a test at the end, and let me know if my answers are correct after I respond, without providing the answers beforehand.” (Hãy dạy tôi bất kỳ (định lý/chủ đề/tên quy tắc) nào và kèm theo một bài kiểm tra ở cuối, đồng thời cho tôi biết liệu câu trả lời của tôi có đúng sau khi tôi trả lời mà không cần cung cấp câu trả lời trước hay không.)

Các mẫu tips và tricks

  1. “Ensure that your answer is unbiased and avoids relying on stereotypes.” (Đảm bảo rằng câu trả lời của bạn không thiên vị và tránh dựa vào khuôn mẫu.)
  2. Sử dụng các chỉ thị khẳng định như “do”, đồng thời tránh dùng ngôn ngữ phủ định như “don’t”
  3. Nếu cần sử dụng trong 1 số dạng văn (email, hợp đồng) thêm những cụm từ như "please", "if you don’t mind", "thank you", "I would like to", v.v. Ngược lại đối với những task / câu hỏi / vấn đề ngắn => dùng trực tiếp những cụm từ : “Your task is” và “You MUST” để đi thẳng vào vấn đề

Một vài khung mẫu, resources

Phần resources:

Phần tools

Bài tập thực hành

Bài tập 1. Bạn hãy rà soát lại công việc thường ngày của bạn, chia nhỏ các phần và prompt chúng

Bài tập 2. xây dựng 1 webapp đơn giản sử dụng ngôn ngữ mà bạn không thạo

Lời cảm ơn

Cảm ơn các bạn vì đã đọc đến đây, nói chung prompt về mặt bản chất cũng chỉ là những câu ra lệnh thường ngày, tuy nhiên để có được 1 câu lệnh chuẩn và chính xác, chuyên nghiệp đòi hỏi các bạn cần có hiểu biết sâu về lĩnh vực đó. Vì vậy, ngoài việc sử dụng prompt, các bạn cũng cần liên tục học hỏi thêm nhiều kiến thức liên quan đến lĩnh vực của mình. Sau khi học xong 1 kiến thức, các bạn cần liên tục áp dụng nó vào các mẫu prompt sẵn có để ra được 1 kết quả chuẩn xác chuyên nghiệp nhất

Hy vọng những chia sẻ trong bài viết này đã giúp các bạn có thêm góc nhìn rõ ràng hơn về cách tạo và tối ưu prompt một cách hiệu quả. Chúc các bạn luôn giữ được tinh thần học hỏi, không ngừng thử nghiệm và cải thiện mỗi ngày. Hẹn gặp lại trong những bài chia sẻ tiếp theo!

Bình luận

Bài viết tương tự

- vừa được xem lúc

Các thuật toán cơ bản trong AI - Phân biệt Best First Search và Uniform Cost Search (UCS)

Nếu bạn từng đọc các thuật toán trong AI (Artificial Intelligence - Trí tuệ nhân tạo), rất có thể bạn từng nghe qua về các thuật toán tìm kiếm cơ bản: UCS (thuộc chiến lược tìm kiếm mù) và Best First Search (thuộc chiến lược tìm kiếm kinh nghiệm). Khác nhau rõ từ khâu phân loại rồi, thế nhưng hai th

0 0 175

- vừa được xem lúc

Con đường AI của tôi

Gần đây, khá nhiều bạn nhắn tin hỏi mình những câu hỏi đại loại như: có nên học AI, bắt đầu học AI như nào, làm sao tự học cho đúng, cho nhanh, học không bị nản, lộ trình học AI như nào... Sau nhiều lần trả lời, mình nghĩ rằng nên viết hẳn một bài để trả lời chi tiết hơn, cũng như để các bạn sau này

0 0 160

- vừa được xem lúc

[ChatterBot] Thư viện chatbot hay ho dành cho Python| phần 3

Trong bài trước mình đã trình bày về Training data cho chatbot và tiền xử lý dữ liệu. Trong phần này sẽ trình bày với các bạn về logic adapter.

0 0 66

- vừa được xem lúc

[Deep Learning] Kỹ thuật Dropout (Bỏ học) trong Deep Learning

. Trong bài viết này, mình xin phép giới thiệu về Dropout (Bỏ học) trong mạng Neural, sau đó là mình sẽ có 1 số đoạn code để xem Dropout ảnh hưởng thế nào đến hiệu suất của mạng Neural. 1.1. Dropout trong mạng Neural là gì.

0 0 73

- vừa được xem lúc

Kỹ thuật Dropout (Bỏ học) trong Deep Learning

Trong bài viết này, mình xin phép giới thiệu về Dropout (Bỏ học) trong mạng Neural, sau đó là mình sẽ có 1 số đoạn code để xem Dropout ảnh hưởng thế nào đến hiệu suất của mạng Neural. 1.

0 1 86

- vừa được xem lúc

Blockchain dưới con mắt làng Vũ Đại 4.0

Mở bài. Hey nhô các bạn, lại là mình đây .

0 0 53