- Prompts Unlocked
- Posts
- Anatomy of a Good Prompt
Anatomy of a Good Prompt
What Makes a Prompt Good? The Anatomy of a “Good” Prompt

Written on Bing Chat right before the tax filing deadline of course
Have you ever casually written a prompt without thinking, hit enter, and found yourself immediately disappointed with the results? Today, you’ll learn how to write tasty prompts that AI models can’t get enough of.
Why We Write Bad Prompts and Expect Good Results
Basically, we’re impatient, lazy creatures and want instant gratification. These are the common pitfalls of bad prompt writing:
Understanding language models: Most people don’t understand how language models work. Language models are trained on a massive amount of text data, and they use that data to generate new text. But they can only generate text that is similar to the text they've been trained on. So, if you write a prompt that is too vague or ambiguous, the language model will probably generate text that is also vague or ambiguous.
Not providing enough information: Language models need a lot of information in order to generate a "good response". They work much better when you specify EXACTLY what you want. This means the format you want the output to be in, the tone, specific outputs to include. They want a blueprint or else you'll get something generic that doesn't help much.
Patience: It takes time to create a good prompt. It's rare to get a good prompt on your first try, especially if you haven't studied the art of prompting. If you're not happy with the output, you probably need to spend some more time tweaking the prompt to get what you want.
What makes a prompt "Good"?
Let's define what a good prompt is. There are a few things to keep in mind when writing a good prompt:
Purpose: The prompt should be clear on its purpose. Are you writing a prompt to author work for you? Need expert guidance on a subject? Research? Define the use case in your head first before you write the prompt.
Structure: A well-written prompt is organized into parts. I recommend the Ask-Context-Output (ACO) framework for beginner prompters. More below.
Direction: Be clear about the level of creativity that you want the language model to use. The model can adapt to your needs as long as you tell it to. i.e. If you want the language model to be creative, you should tell it to be creative in its response.
Brevity: You should get your point across in as few words as possible. Language models have a limit on the context it can remember, so the fewer words you use for your ask, the more productive time you'll have with the model. More on this concept in a later post.
Avoid Vague Prompts
Vague prompts are bad. Check out this meta-prompt below:
"Write a blog post about prompt engineering."
This doesn't tell the language model what you want it to do, what format you want the output to be in, or what kind of tone you want the output to have. You'll likely get a generic post that doesn't fit what you want.
The ACO Framework
ACO = Ask-Context-Output
Ask: your main ask distilled into a one liner.
Context: The background info the model needs to give you a more personalized response.
Output: Refers to any specifics you want included in the response. These can be suggestions + critiques of each paragraph of an essay, special formatting, or other output related requests.
ACO in Action
Prompt
"Write a blog post about prompt engineering, using the following structure:
Introduction: What is prompt engineering?
Body: How does prompt engineering work?
Conclusion: What are the benefits of prompt engineering?"
Include [visual] in bold where you think a visual will help break up the text or illustrate the point better.
This prompt has a clear purpose, is well structured, and quickly gets the ask across.
Response

Blog Post on Prompt Engineering - ChatGPT
Now that we know what makes a good prompt, let's look at some specific techniques you can try:
Good Prompt Techniques
A good prompt is one that is clear, complete, accurate, and relevant. It should also be specific and provide enough information for the language model to generate the desired output.
Prompt Variety
The structure of a prompt can vary depending on the task you want the language model to perform. However, there are a few general things to keep in mind when writing a prompt:
Zero-shot vs. one-shot prompts: A zero-shot prompt is a prompt that does not provide any examples or context. A one-shot prompt provides a single example or piece of context. In general, zero-shot prompts are more challenging for language models, but they can also be more creative. One-shot prompts are easier for language models to understand, but they may not be as creative.
Few shot prompts: Few-shot prompting is a technique that allows language models to perform tasks with limited examples. The model is given a small number of examples (typically 2-5) and a prompt that describes the task. The model then uses the examples and the prompt to generate the desired output. Few-shot prompting is a powerful technique that allows language models to learn new tasks quickly and easily. It is particularly useful for tasks where it is difficult or expensive to collect a large number of training examples.
Role prompts, general prompts, and exemplar prompts: A role prompt specifies the role that the language model should play in the output. For example, a role prompt might ask the language model to write a blog post or create a marketing campaign. A general prompt does not specify a role, but it does provide some information about the desired output. For example, a general prompt might ask the language model to write a piece of creative text or generate a list of ideas. An exemplar prompt provides an example of the desired output. For example, an exemplar prompt might ask the language model to write a blog post that is similar to a specific blog post that you provide.
Variables in prompts: Some prompts may contain variables that the language model needs to fill in. For example, a prompt might ask the language model to write a story about a character named "John" who lives in "San Francisco." In this case, the language model would need to fill in the values for "John" and "San Francisco."
Act as X
The "act as X" prompt tells the language model to take on the role of a specific person or entity. For example, you could ask the language model to "act as a marketing manager" or "act as a software engineer." This type of prompt can be helpful if you want the language model to generate text that is consistent with the perspective of a specific person or entity.
Think step by step
I view this is more of a hack than an actual prompt. It’s usually added onto the end of a prompt. The "think step by step" approach tells the language model to break down a task into smaller steps. This can be helpful if you want the language model to walk you through each step of its logic.
Try it Yourself
By following these tips, you'll be turbocharging your prompts to automate your workflows in no time. Don't just take my word for it, go practice! Use the ACO framework when writing your prompt and let me know in the comments how it went!
Reply