Writing for AI: Prompts, Specs, and What AI Rewards
The Basic Observation
Most people's AI-tool frustration is a prompting problem, not a model problem. The model can do the thing; the prompt didn't tell it to do the thing clearly.
If you've used an LLM and come away with "it didn't really get what I wanted", that's a signal to revisit the prompt. Usually the problem is:
- Unstated context
- Vague instructions
- No examples
- Conflicting constraints
- No output format specified
- The wrong task given to the wrong model
Prompting is writing. The writing skills from earlier chapters transfer. Clarity matters more for AI than for humans because AI doesn't ask follow-up questions; it just guesses the missing pieces and gives you the average guess.
What AI Rewards
Four properties AI rewards in prompts:
1. Precision
"Write a marketing email" is too vague. "Write a 150-word promotional email for enterprise buyers, tone professional but warm, selling a 30-day free trial of our time-tracking tool, ending with a CTA to book a demo" is precise.
Precision lets the model narrow the distribution of possible outputs to the one you actually want.
2. Context
The model doesn't know:
- Who you are
- What your product is
- Who the reader is
- What tone matches your brand
- What's been tried
- What you've ruled out
If that context matters, include it in the prompt. A paragraph of context at the top of a prompt can double the useful output.
3. Structure
Split context, task, constraints, examples, and output format. A structured prompt is easier for the model to follow:
## Context
I'm writing an onboarding email series for new signups to our B2B analytics tool.
## Task
Write email #3 of the series (day 7 after signup).
## Constraints
- 150-200 words
- Tone: professional, warm, slightly informal
- One CTA: book a 30-minute onboarding call
- No exclamation marks
## Examples
<example 1>
...
</example 1>
## Output format
Subject line, then body. Nothing else.
The structure isn't magic. It's just clear writing.
4. Examples
If you can show the model 1-3 examples of what you want, quality goes up substantially. This is called few-shot prompting. The examples teach pattern in a way that description alone can't.
Examples matter most for stylistic tasks (write in this voice), format tasks (produce output matching this shape), and taste tasks (rank these by quality).
The Anatomy of a Good Prompt
A general template, adaptable:
1. Role / persona (optional but often useful)
2. Context / background
3. Task description
4. Constraints and requirements
5. Examples (0 to 3)
6. Output format
Not every prompt needs every section. A simple question doesn't need six sections. A complex task usually does.
Role / persona
"Act as a senior DevOps engineer reviewing this deployment script" sets the model's frame. It isn't magic (the model isn't actually a senior DevOps engineer), but it nudges the distribution of responses toward the knowledge and language of that role.
Use when the task benefits from specialist framing. Skip when it adds nothing.
Context
What the model needs to know to do a good job. Include:
- Who you are (briefly)
- What you're working on
- What constraints you're under
- What's been tried
- Anything the model would otherwise assume wrong
Context prevents the average-guess problem. The more specific your context, the more tailored the output.
Task
What you want the model to do. A single clear directive:
- "Summarise this article in 200 words"
- "Rewrite this email to be more concise"
- "Generate 5 alternative taglines for this product"
- "Review this code for performance issues"
Ambiguous task descriptions are the #1 prompt failure mode. If you can't write the task in one sentence, rethink.
Constraints
- Length ("under 200 words")
- Tone ("warm, informal")
- Format ("bullet list", "numbered steps")
- Audience ("technical, assumes Python experience")
- Taboos ("no marketing clichés", "no emojis")
Specific constraints produce consistent output. Vague constraints produce variable output.
Examples
For tasks where pattern matters more than description. A few lines:
Input: "The quarterly earnings exceeded expectations."
Output: "We beat expectations."
Input: "The product has undergone significant iterations."
Output: "The product has changed a lot."
Now rewrite: "Our customer satisfaction metrics have shown upward trajectory."
Output format
Specify precisely what you want back:
- "Return as a JSON object with these keys..."
- "Return only the code, no explanations"
- "Return a numbered list, one item per line"
- "Return two columns: a one-line summary and a confidence score"
Unconstrained output produces conversational padding ("Sure, here's that...") that you then have to strip.
Iteration
First prompts are rarely right. Good prompting is iterative:
- First prompt: get something. Observe what's wrong
- Second prompt: narrow the constraints. Add what was missing
- Third prompt: refine output format
- Final: save the working prompt as a template
Treat the AI like a new employee. You wouldn't expect perfect output from an instruction you gave for the first time. You'd adjust, clarify, and try again.
What iteration looks like
First attempt: "Write a blog post about why async work is good"
Output: Generic 500 words on remote work benefits
Problem: Too generic, reads like every article ever written on this
Second attempt: "Write a blog post arguing that async work is better for creative output specifically. Target audience: startup founders. 500 words. Avoid clichés about 'flexibility'. Include one specific example."
Output: Tighter, still generic
Problem: Still generic-sounding
Third attempt: "Write a 500-word blog post for startup founders arguing async work produces better creative output than sync work. Structure: (1) the sync-work default is meetings + interruptions, (2) creative work requires uninterrupted time, (3) a specific example from Basecamp or similar. Tone: confident, slightly contrarian. Avoid the words 'flexibility', 'work-life balance', and 'journey'."
Output: Much better
Problem: Minor edits needed for voice
The third prompt took longer to write than the first. It also produced meaningfully better output, usable with small edits. The invested time pays back across many prompts.
Prompt Templates
For tasks you do repeatedly, save the working prompt as a template. Fill in the variable pieces each time:
## Task
Rewrite the following [EMAIL / MEMO / TICKET] to be [CLEARER / SHORTER / WARMER].
## Constraints
- Preserve the core content
- Keep the speaker's voice
- [ADDITIONAL CONSTRAINT]
## Input
[PASTE HERE]
## Output
Just the rewritten version, no commentary.
Template libraries pay back huge amounts of time. Users who compose prompts from scratch each session are re-inventing work.
Common Prompt Failure Modes
The under-specified prompt
"Help me with my resume" is too vague. What help? Rewrite? Review? Extract keywords? Match to a specific job? Specify.
The over-specified prompt
Every constraint you add increases the chance of conflicts. Too many constraints make the task unsolvable; the model will pick one to violate, unpredictably.
Aim for the constraints that matter, not every constraint that could matter.
The contradictory prompt
"Be comprehensive but brief." "Formal but warm." "Simple but sophisticated." The model will resolve these, unpredictably. Pick one side; don't contradict.
The unstated audience
"Explain OAuth2" produces different output for a junior developer than for a security auditor than for a business executive. Say who's reading.
The absent reference
If you want something in "our brand voice", provide a sample. If you want it "in the style of X writer", name the writer and provide an example if possible.
Relying on default politeness
"Please, if you could, kindly help me..." doesn't improve output. Direct instruction does. The model isn't more motivated by politeness.
Forgetting to check the output
A prompt that produced one good output won't always. Sample multiple runs. Test edge cases. Iterate the prompt to handle them.
System Prompts vs User Prompts
A technical distinction worth understanding:
- System prompts: instructions given to the model at the session or application level. Set persona, rules, output style
- User prompts: individual messages within the session
In most chat interfaces, you can't edit the system prompt; you're working only in the user prompt.
In developer / API contexts, you can set system prompts. Example system prompt for a coding assistant:
You are a Python expert helping with a data analysis project.
Always use type hints. Prefer composition over inheritance.
Avoid dangerous built-ins that can run arbitrary code.
When explaining code, be concise (under 100 words per explanation).
System prompts set the frame; user prompts do the work. For apps built on LLMs, most of the engineering is in the system prompt.
Prompt Engineering Isn't (Quite) Engineering
The term "prompt engineering" suggests a discipline with rules. It's more a craft with patterns. The patterns work often but not always; models change; what worked in 2023 may not in 2026.
A few durable patterns:
- Clarity beats cleverness: precise instructions beat clever hacks
- Examples help: when possible, show don't just tell
- Iteration is normal: first prompts are drafts
- Output format matters: specify what you want back
The field's specific tricks (chain-of-thought, ReAct, tree-of-thought) shift as models improve. Understanding why they work (making the reasoning explicit, giving the model steps) lasts longer than the specific techniques.
When to Use AI vs When Not
AI is good for:
- Drafts you'll edit
- Boilerplate
- Summarising
- Pattern-matching tasks (similarity, classification)
- Brainstorming options
- Writing code from clear specifications
- Translation and rephrasing
AI is weaker for:
- Novel ideas
- Specific-fact retrieval (hallucinates)
- Judgment calls requiring your context
- Anything where being wrong is expensive
- Original research
- Emotional or sensitive writing
A useful question: if the AI gets this wrong, how much does it cost me? If the answer is "a minute of edit time", AI is fine. If the answer is "my reputation" or "a legal liability", use AI cautiously, if at all.
Integrating AI Into Writing Work
Practical patterns:
- AI for first draft, human for edit. Fastest workflow for many kinds of writing
- AI as a reviewer. Paste your draft; ask for specific critique
- AI for ideation. 20 options, pick the 3 you like
- AI for research summaries. With the caveat that facts need verification
What AI is not good for: replacing your judgment about what to write in the first place. That remains yours.
Common Pitfalls
"The AI didn't understand." Often it understood the prompt, just not what you meant. Clarify the prompt; the model's comprehension isn't the bottleneck most of the time
"AI output is too generic." Because your prompt was too generic. Specific prompts produce specific output
"I'll use AI to write this entirely." Unless the output is boilerplate, you'll need to edit. Factor that time into your estimate
"Prompt engineering is a scam." Prompting is real; most of the elaborate techniques sold as a discipline are marketing. Real prompting is just clear writing plus some domain-specific patterns
"AI will replace writing." AI will displace some kinds of writing. It raises the bar for the kinds it doesn't replace. Writers who prompt well work with a significant multiplier; writers who don't work without one
Next Steps
Continue to 07-structuring-a-document.md for how to organise anything longer than a paragraph.