The Best ChatGPT Prompt Principles You Need to FollowTop 10 prompt principles and how to use them in real-world promptsThe other day, I found this paper with interesting findings for anyone who wants to write better prompts. The researchers created a list of prompt principles and tested them to see how much they improve the quality of large language models (LLMs) responses. However, if you read the abstract or conclusion, it’s not obvious which principles work and which don’t (spoiler: not all the principles significantly improved LLMs response) I read the entire paper to find the best prompt principles. In this article, I’ll list the top 10 prompt principles you need to follow, show bad vs good prompts, and explain how I apply the best principles in my own AI workflows (copy-and-paste prompts included)
The Prompt Principles (and metrics used to evaluate them)Here are the 26 prompt principles presented in the paper Researchers evaluated the principles based on two metrics: boosting and correctness
To select the best principles from the list, I prioritized boosting over correctness. Why? In the paper, correctness was related to mathematical accuracy and deductive logic. That’s why principles 12 (use “think step by step“) and 19 (use chain of thought) showed more correctness improvement in LLMs. Most of us, though, will benefit more from the principles that improve the quality of the response on LLMs, such as principles 2, 5, 15, 16, 25, and 26 (highest green bars below) The 10 best principles (sorted by response improvement)You shouldn’t follow all 26 prompt principles! Principles #25 and #26 improve the response dramatically, but #1 has little to no positive impact on the response (being polite or not to LLMs appears to be irrelevant) Here are the top 10 principles to follow (treat them as guidance, not strict rules) Principle #14: Have the model ask clarifying questionsUse the prompt “From now on, I would like you to ask me questions to ...” to allow the model to ask you questions until it has enough information to provide the needed output Bad prompt: |