# Common Prompt Engineering Mistakes
Learn from these common pitfalls to create better prompts.
## Mistake 1: Being Too Vague
❌ **Problem:**
```
Write something about AI
```
**Why it fails:**
- No clear scope or direction
- Undefined output format
- Unknown target audience
- No length specification
✅ **Solution:**
```
Write a 500-word introduction to large language models for software developers.
Include:
- What LLMs are and how they work (high-level)
- 3 practical use cases in software development
- 1 code example of API usage
- Limitations to be aware of
Tone: Technical but accessible
Format: Markdown with headers
```
---
## Mistake 2: Instruction Confusion
❌ **Problem:**
```
Here is some text about Python. It talks about lists and dictionaries.
Can you make it better and also add examples? Use clear language.
```
**Why it fails:**
- Instructions mixed with content
- Unclear what "better" means
- No structural separation
✅ **Solution:**
```xml
Improve the following text by:
1. Adding 2 code examples (one for lists, one for dictionaries)
2. Simplifying complex sentences
3. Adding subheadings for each topic
[original text here]
Beginner Python developers
```
---
## Mistake 3: No Examples (When Needed)
❌ **Problem:**
```
Extract entities from customer support tickets in a structured format.
```
**Why it fails:**
- "Structured format" is ambiguous
- No clarity on what entities matter
- Different interpretations possible
✅ **Solution:**
```xml
Extract entities from customer support tickets.
My order #12345 never arrived. I contacted support@example.com but no response.
[new ticket]
```
---
## Mistake 4: Prompt Too Long
❌ **Problem:**
```
[5000 words of background information]
[500 words of instructions]
[1000 words of examples]
Now answer this simple question: What is the capital of France?
```
**Why it fails:**
- Wastes tokens on irrelevant context
- Dilutes important information
- Slower and more expensive
- May confuse the model
✅ **Solution:**
```
What is the capital of France?
```
**Principle:** Use minimum necessary context
---
## Mistake 5: Not Controlling Output Format
❌ **Problem:**
```
Give me the user's information from this text.
```
**Result:** Unpredictable format - might be prose, bullet points, or inconsistent structure
✅ **Solution:**
```xml
Extract user information and return as JSON.
[text here]
{
"name": string,
"email": string | null,
"phone": string | null
}