Writing Clear and Specific Prompts
Writing Clear and Specific Prompts
The difference between a mediocre prompt and an excellent one often comes down to one principle: clarity and specificity. A vague prompt leaves too many doors open for the model to wander. A specific prompt is like painting with a narrow brush—the output is more likely to match your intention. You’re going to learn how to transform ambiguous requests into precise instructions that get exactly what you need.
The Clarity Principle: Be Explicit About What You Want
Clarity means removing ambiguity from your instruction. The model can’t read your mind; it can only act on what you’ve written.
Why Clarity Matters
When you say something vague, the model treats all valid interpretations as equally likely. It tends to default to generic, middle-ground responses.
Example of Unclear:
"Write about marketing"
This could mean:
- A history of marketing
- Marketing strategy for tech startups
- How to do social media marketing
- Marketing psychology principles
- A job description for a marketing role
- Marketing best practices
The model picks something generic that fits all interpretations.
Example of Clear:
"Write a 300-word guide for founders on how to market a B2B SaaS product
on a $5,000 monthly budget. Focus on strategies that generate qualified leads,
not just traffic. Include one tactic for LinkedIn and one for content marketing."
Now there’s minimal ambiguity. The model knows exactly what to produce.
How to Be Clear: Use Specific Verbs
Instead of generic verbs like “talk about,” use precise action verbs:
| Vague | Specific | Result |
|---|---|---|
| ”Talk about Python performance" | "Identify three bottlenecks in this Python code and suggest optimizations” | Targeted analysis |
| ”Do something with this data" | "Calculate the average customer lifetime value and identify the top 20% of customers by spend” | Concrete metrics |
| ”Help me write" | "Write a 2-paragraph product description using an AIDA framework (Attention, Interest, Desire, Action)“ | Structured output |
| ”Explain AI" | "Explain transformer neural networks to a software engineer who knows Python but has never studied machine learning” | Audience-adapted |
The verb controls the depth and direction. “Summarize” gives you brevity. “Analyze” gives you breakdown. “Critique” gives you evaluation.
Specificity vs. Ambiguity: Examples of Vague vs. Precise
Let’s build specificity layers by layer:
Layer 1: Add Audience Context
Vague:
What's the best way to learn programming?
Specific:
I'm 35 years old, switching careers from accounting to software engineering.
I learn best through hands-on projects, not lectures. I have 1 hour per day.
What's the best way for me to learn programming in the next 6 months?
The second version lets the model calibrate its answer to your situation.
Layer 2: Add Output Format
Vague:
I need help organizing my project structure.
Specific:
I'm building a React application with TypeScript. Help me organize my
project structure. I want:
- A clear folder hierarchy
- Separation of concerns (components, hooks, services, utils)
- Best practices for medium-sized teams
- Provide your answer as a file tree ASCII diagram
The format constraint ensures the output is immediately usable.
Layer 3: Add Constraints and Edge Cases
Vague:
Generate 5 blog post titles about remote work.
Specific:
Generate 5 blog post titles about remote work that:
- Are engaging and curiosity-driven (not generic)
- Target startup founders (not general audiences)
- Suggest a benefit or surprising insight in the title itself
- Are between 6-12 words
- Avoid buzzwords like "future of work" or "work-from-home"
Return as a numbered list with a 1-sentence explanation for each title's hook.
Constraints eliminate 80% of the variations you don’t want.
Layer 4: Add Examples of What NOT to Do
Vague:
Write an email to a customer about their refund.
Specific:
Write a brief, professional email to a customer about their refund request.
Requirements:
- Acknowledge their frustration without over-apologizing
- Explain the refund process and timeline clearly
- Be warm and helpful in tone
- Max 100 words
AVOID:
- Generic corporate language ("We appreciate your business")
- Overly technical jargon
- Defensive or dismissive language
- Asking them to do more steps (keep it simple)
The customer requested a refund for a $89 product due to it not meeting
their expectations after one week of use.
This level of specificity is what separates average from excellent results.
Structuring Prompts with Delimiters
Delimiters are formatting markers that help the model understand different sections of your prompt. They act like visual organization for the AI.
Why Delimiters Work
Delimiters create clear boundaries between:
- Your instructions and the content to process
- Different types of information
- Examples and rules
The model is trained to recognize structured text and processes it more carefully.
Common Delimiter Styles
XML-Style Delimiters (Highly Recommended)
XML is explicit and machine-readable. Consider using it for complex prompts:
<instruction>
Analyze the following customer feedback for sentiment.
</instruction>
<constraints>
- Use only: positive, neutral, negative
- Be concise: max 1 sentence explanation
- Flag any unclear cases
</constraints>
<example>
Customer feedback: "The product works, but the instructions are confusing."
Sentiment: Mixed
Explanation: Positive about functionality, negative about usability.
</example>
<input>
Customer feedback: "Best purchase I've made all year! Highly recommend."
</input>
Markdown-Style Delimiters
Markdown is readable and works well in chat interfaces:
## Instruction
Generate a list of potential product names for an eco-friendly water bottle company.
## Constraints
- Names should be 1-2 words max
- Should evoke sustainability or water/nature
- Avoid overused startup prefixes (Aqua-, Hydro-, etc.)
- Should be easy to spell and pronounce
## Examples of Good Names (for reference)
- Corora (coral + water)
- Verdant (green + elegant)
## Examples of Names to AVOID
- AquaFlow (too generic)
- WaterSmarte (too trendy)
Quote-Style Delimiters
For separating input from instructions, quotes work well:
Instructions: Extract the three main arguments from the following article.
Return as a numbered list.
Article:
"""
[Article text here]
"""
Key-Value Delimiters
For highly structured information:
TASK: Improve this code for performance
LANGUAGE: Python
CONSTRAINTS: Must remain under 50 lines, no external libraries
PERFORMANCE_GOAL: Reduce execution time from 2 seconds to under 500ms
CODE:
[Code here]
Setting Constraints: Length, Format, Tone, Audience
Constraints are the guardrails that keep your output on track.
Length Constraints
Be specific about length—not just “brief” or “detailed”:
❌ "Write a summary" (vague)
✅ "Write a 150-word summary" (specific)
✅ "Write a summary between 100-150 words" (range)
✅ "Summarize in 3 bullet points" (quantity)
Pro tip: Tokens and words aren’t the same. A rough guide: 1 word ≈ 1.3 tokens. If you want a 100-word response, that’s roughly 130 tokens.
Format Constraints
Specify exactly how the output should be structured:
Format as JSON:
{
"title": "string",
"summary": "string (max 100 words)",
"action_items": ["string"]
}
Or:
Format as a table with columns: Feature, Advantage, Limitation
Or:
Format as Python code with proper indentation and docstrings
Tone Constraints
Different tones communicate differently:
- Professional: Appropriate for business contexts
- Conversational: Feels like a friend talking
- Technical: Uses domain-specific terminology
- Playful: Uses humor and personality
- Formal: Serious, academic style
Example:
Tone: Conversational but professional—like an experienced colleague
explaining something over coffee, not a textbook.
Write a brief explanation of how databases handle transactions.
Audience Constraints
The audience dramatically affects what the model includes:
❌ "Explain machine learning" (undefined audience)
✅ "Explain machine learning to a business executive with no technical
background. Focus on business value and ROI, not technical details."
✅ "Explain machine learning to a software engineer. Assume knowledge of
Python, but not deep stats. Focus on when to use different algorithms."
✅ "Explain machine learning to a data science student with calculus and
linear algebra background. Get technical—discuss gradient descent and
loss functions."
The same concept needs completely different explanations for different audiences.
The “Negative Instruction” Technique: Tell the Model What NOT to Do
Sometimes it’s easier to describe what you don’t want than what you do.
How Negative Instructions Work
When you tell the model what to avoid, you’re explicitly removing possibilities from the probability distribution. This is particularly useful when the model tends toward habits you want to break.
Examples of Negative Instructions
Avoiding Clichés
Write a job description for a Senior Software Engineer.
AVOID:
- "We are a fast-growing startup" (cliché)
- "Ninja," "rockstar," or other gaming terminology
- "Must be a 10x developer"
- Vague perks like "competitive salary" or "flexible hours"
DO:
- Be specific about compensation range
- Describe actual work, not startup mythology
- List concrete benefits
Avoiding Hallucinations
Summarize the key findings from this research paper on climate change impacts
on agriculture.
CRITICAL: Do NOT:
- Invent data or statistics not in the paper
- Include claims the paper doesn't make
- Reference other studies not mentioned in this paper
- Speculate about future outcomes beyond the paper's scope
DO:
- Quote key statistics directly from the text
- Use only findings explicitly stated
- Clearly mark any definitions from the paper
Avoiding Over-Explanation
Fix this bug in my Python code.
DO NOT:
- Explain basic Python syntax or built-in functions
- Lecture about best practices unless it's the root cause
- Provide 50 lines of explanation
DO:
- Identify the bug briefly
- Provide fixed code
- Explain only why this fixes the bug
When Negative Instructions Are Most Effective
Use negative instructions when:
- The model tends toward a particular bad habit (e.g., being too verbose)
- You want to exclude a category of responses (e.g., don’t mention competitors)
- You’re protecting against common failure modes (e.g., don’t hallucinate)
Key Takeaway
Clarity and specificity are your primary levers for controlling output quality. Remove ambiguity through precise language, use delimiters to structure information, add constraints around format/tone/length, and use negative instructions to exclude unwanted behaviors. The more specific your prompt, the more likely the model is to deliver exactly what you need.
Exercise: Rewrite 5 Vague Prompts Into Specific, Effective Ones
Your task is to take vague prompts and add layers of specificity until they’re actionable.
The Vague Prompts
- “Help me with my resume”
- “Write about productivity”
- “Generate ideas for a business”
- “Explain this concept”
- “Improve this paragraph”
What You’ll Do
For each prompt, rewrite it by adding:
- Audience/Context: Who is this for? What’s the situation?
- Specific Action: What exactly should happen?
- Output Format: How should the result be structured?
- Constraints: What should be avoided or emphasized?
- Negative Instructions: What NOT to include?
Example: Rewriting Prompt #1
Original (Vague):
Help me with my resume
Rewritten (Specific):
I'm transitioning from software engineering to product management. I have
8 years of engineering experience at two startups, and I'm applying to roles
at mid-stage B2B SaaS companies.
Improve my resume summary section. I want to:
- Highlight engineering background while emphasizing product thinking
- Show evidence of cross-functional collaboration and leadership
- Aim for 3-4 sentences max
- Include specific accomplishments (revenue impact, team size) not generic skills
Current summary:
[Your text here]
DO NOT:
- Use clichés like "results-driven" or "passionate"
- Make me sound like I'm leaving engineering behind
- Add generic productivity words
Your Turn
Complete rewrites for the remaining 4 prompts. For each one:
- Write the original vague version
- Write your improved specific version (4-5 sentences minimum)
- Note which elements you added (audience, format, constraints, negative instructions)
When finished, test one of your rewritten prompts on an actual LLM (ChatGPT, Claude, etc.) and note if the output is more targeted than the vague version would have been.
Bonus Challenge: Take the same vague prompt and rewrite it three different ways for three different scenarios. For example, “Write about productivity” could be rewritten for:
- A CEO of a 50-person startup
- A software engineer working on a large team
- A freelancer managing multiple client projects
Notice how the same underlying request needs completely different prompts for different contexts.