170 lines
7.8 KiB
Markdown
170 lines
7.8 KiB
Markdown
# Effective AI Prompts: A Practical Guide
|
|
|
|
## Core Principles
|
|
|
|
### 1. Be Specific and Clear
|
|
- State exactly what you want, **not what you don't want**
|
|
- Include relevant constraints, format requirements, and scope
|
|
- Avoid ambiguity that could lead to multiple interpretations
|
|
|
|
**Poor**: "Tell me about dogs"
|
|
**Better**: "Write a 200-word summary of the top 3 health considerations for senior Labrador Retrievers"
|
|
|
|
### 2. Provide Context
|
|
- Give background information relevant to the task
|
|
- Specify your knowledge level or intended audience
|
|
- Include why you need this information if it affects the approach
|
|
|
|
**Poor**: "Explain quantum computing"
|
|
**Better**: "I'm a software developer with no physics background. Explain quantum computing in terms of how it differs from classical computing for solving optimization problems"
|
|
|
|
### 3. Define the Output Format
|
|
- Specify structure (bullet points, paragraphs, table, code, etc.)
|
|
- Set length expectations (word count, number of items)
|
|
- Request specific elements to include or exclude
|
|
|
|
**Poor**: "Give me marketing ideas"
|
|
**Better**: "Provide 5 marketing ideas for a local coffee shop, formatted as: [Idea name] - [Brief description] - [Estimated cost: low/medium/high]"
|
|
|
|
## Advanced Techniques
|
|
|
|
### Chain of Thought
|
|
Ask the AI to work through problems step-by-step rather than jumping to conclusions.
|
|
|
|
**Example**: "Solve this problem step-by-step, showing your reasoning at each stage: [problem]"
|
|
|
|
### Role Assignment
|
|
Give the AI a specific role or perspective to adopt.
|
|
|
|
**Example**: "You are an experienced project manager reviewing this timeline. What risks do you see?"
|
|
|
|
### Few-Shot Examples
|
|
Provide 2-3 examples of the input/output pattern you want.
|
|
|
|
**Example**:
|
|
```
|
|
Convert these casual phrases to professional email language:
|
|
"thanks a bunch" → "Thank you for your assistance"
|
|
"let me know" → "Please advise at your convenience"
|
|
"ASAP" → "at your earliest convenience"
|
|
|
|
Now convert: "can you check this out?"
|
|
```
|
|
|
|
### Constraints and Boundaries
|
|
Explicitly state limitations or requirements.
|
|
|
|
**Example**: "Suggest 3 dinner recipes that: are vegetarian, take under 30 minutes, use no more than 8 ingredients, and don't require an oven"
|
|
|
|
## Common Mistakes to Avoid
|
|
|
|
### 1. Vague or Open-Ended Requests
|
|
**Avoid**: "Help me with my code"
|
|
**Instead**: "This Python function is throwing a KeyError on line 42 when the input dictionary is missing the 'name' key. How should I handle this gracefully?"
|
|
|
|
### 2. Assuming Context You Haven't Provided
|
|
**Avoid**: "What should I do next?" (after describing a problem without your goals)
|
|
**Instead**: "Given that my goal is to reduce page load time to under 2 seconds, and I've already optimized images, what should I prioritize next?"
|
|
|
|
### 3. Overloading a Single Prompt
|
|
**Avoid**: Asking for 10 different unrelated things in one prompt
|
|
**Instead**: Break complex requests into sequential prompts, building on previous responses
|
|
|
|
### 4. Not Specifying Expertise Level
|
|
**Avoid**: "Explain machine learning"
|
|
**Instead**: "I'm a beginner programmer. Explain what machine learning is using simple analogies without mathematical notation"
|
|
|
|
## Prompt Patterns
|
|
|
|
### For Analysis
|
|
"Analyze [subject] focusing on [specific aspects]. Identify [what to look for] and explain [what insights you need]."
|
|
|
|
### For Creation
|
|
"Create a [type of content] about [topic] that [specific requirements]. It should include [elements] and be [tone/style]."
|
|
|
|
### For Problem-Solving
|
|
"I'm trying to [goal] but encountering [problem]. I've already tried [attempts]. What alternative approaches would you suggest?"
|
|
|
|
### For Comparison
|
|
"Compare [A] and [B] in terms of [criteria 1], [criteria 2], and [criteria 3]. Present as a table with pros and cons."
|
|
|
|
### For Review/Critique
|
|
"Review this [content type] for [specific aspects like clarity, accuracy, tone]. Provide specific suggestions for improvement."
|
|
|
|
## Iterative Refinement
|
|
|
|
Good prompting is often iterative:
|
|
|
|
1. **Start with a clear but basic prompt**
|
|
2. **Review the output** - what's missing or incorrect?
|
|
3. **Refine your prompt** with more specific instructions
|
|
4. **Add constraints** based on what went wrong
|
|
5. **Provide examples** if the format isn't right
|
|
|
|
**Example progression**:
|
|
- First: "Write a product description for a coffee maker"
|
|
- Second: "Write a 100-word product description for a premium automatic coffee maker, highlighting ease of use and quality"
|
|
- Third: "Write a 100-word product description for a premium automatic coffee maker. Start with a compelling benefit, include 3 key features (ease of use, programmable settings, quality brewing), and end with a call to action. Tone should be enthusiastic but professional."
|
|
|
|
## Special Considerations
|
|
|
|
### For Code Generation
|
|
- Specify the programming language and version
|
|
- Mention any frameworks, libraries, or dependencies
|
|
- State coding standards or style preferences
|
|
- Include error handling requirements
|
|
- Specify if you need comments or documentation
|
|
|
|
**Example**: "Write a Python 3.11 function using type hints that validates email addresses with regex. Include error handling for invalid inputs and docstring documentation. Follow PEP 8 style guidelines."
|
|
|
|
### For Creative Writing
|
|
- Specify genre, tone, and style
|
|
- Define target audience
|
|
- Set word count or structure
|
|
- Mention any themes or elements to include/avoid
|
|
|
|
**Example**: "Write a 300-word science fiction short story opening for young adults. Tone should be mysterious and intriguing. Include a protagonist discovering something unexpected. Avoid graphic violence."
|
|
|
|
### For Data and Research
|
|
- Specify what timeframe or sources are relevant
|
|
- Request citations or sources if needed
|
|
- State if you need current information vs general knowledge
|
|
- Define the level of technical detail required
|
|
|
|
## Quick Checklist
|
|
|
|
Before submitting a prompt, verify:
|
|
- [ ] Have I clearly stated what I want?
|
|
- [ ] Have I provided necessary context?
|
|
- [ ] Have I specified the desired output format?
|
|
- [ ] Have I set appropriate constraints (length, style, scope)?
|
|
- [ ] Is my prompt specific enough to avoid ambiguity?
|
|
- [ ] Have I indicated my knowledge level if relevant?
|
|
- [ ] Am I asking for one clear thing, or should I break this into multiple prompts?
|
|
|
|
## Examples: Poor vs Good
|
|
|
|
### Example 1: Technical Help
|
|
**Poor**: "My website is slow"
|
|
**Good**: "My React website's homepage takes 8 seconds to load. Chrome DevTools shows the main bottleneck is a 3MB bundle.js file. What's the best approach to reduce this bundle size?"
|
|
|
|
### Example 2: Content Creation
|
|
**Poor**: "Write about climate change"
|
|
**Good**: "Write a 500-word article explaining the connection between climate change and extreme weather events for a general audience. Include 3 specific examples from the past year and conclude with actionable steps individuals can take. Tone should be informative but not alarmist."
|
|
|
|
### Example 3: Learning
|
|
**Poor**: "Teach me Spanish"
|
|
**Good**: "I'm planning a trip to Spain in 3 months and know zero Spanish. Teach me 10 essential phrases for ordering food at restaurants, with pronunciation guides and cultural tips on when to use them."
|
|
|
|
### Example 4: Decision Making
|
|
**Poor**: "Should I use React or Vue?"
|
|
**Good**: "I'm building a dashboard application for internal business users that needs real-time data updates, will be maintained by a team of 3 developers, and needs to integrate with our existing REST API. Compare React and Vue for this specific use case, considering learning curve, ecosystem, and real-time capabilities."
|
|
|
|
## Remember
|
|
|
|
- **Garbage in, garbage out**: The quality of AI responses is directly proportional to the quality of your prompts
|
|
- **Experiment**: Don't be afraid to try different phrasings or approaches
|
|
- **Iterate**: Refine based on what you get back
|
|
- **Be conversational**: You can build on previous responses and ask follow-up questions
|
|
- **Leverage AI strengths**: Pattern recognition, summarization, explanation, and transformation tasks work particularly well
|