A prompt is just the text you send the model. The quality of the answer tracks the quality of the prompt more than anything else, and the good news is that a strong prompt isn't clever or long. It's clear. Three pieces do most of the work:
Leave out the task and the model guesses at your intent. Leave out the format and you get whatever length and shape it defaults to, which is often a wall of text you then have to trim yourself.
Watch what happens when you go from a bare instruction to one that names the task, the audience, and the format:
explain tarExplain what the command tar -xzf backup.tar.gz does, in two sentences, for someone new to LinuxThe vague version might get you a history of the tar format, a table of every flag, or three paragraphs you didn't want. The specific version says exactly what to explain, how long the answer should be, and who it's for. Same model, very different reply.
You'll see people trade "prompt hacks" and secret phrases. Ignore most of it. The model responds to plain, direct instructions. If a human colleague could follow your prompt and produce what you wanted, the model usually can too. If your request would confuse a person - too vague, missing the text to work on, no hint about the format - it'll confuse the model as well.
The rest of this topic takes these three pieces one at a time: where the instructions live (the system and user roles), and how being specific changes the answer you get.
Your lab setup
This VM comes preconfigured with your AI keys - just type claude to get started. Your key and URL are already set as $OPENAI_BASE_URL and $OPENAI_API_KEY.