Files
AI/General prompt advice.md

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