Prompting¶
Effective prompting is an art which requires a nuanced understanding of different techniques. When executed well, prompting can significantly enhance model performance.
To help, we've created examples of 58 different prompting techniques* using instructor
that you can take advantage of today.
The prompting techniques are separated into the following categories - Zero Shot, Few Shot, Thought Generation, Ensembling, Self-Criticism, and Decomposition.
Click on the links to learn more about each method and how to apply them effectively in your prompts.
Zero-Shot¶
How do we increase the performance of our model without any examples?
- Use Emotional Language
- Assign a Role
- Define a Style
- Auto-Refine The Prompt
- Simulate a Perspective
- Clarify Ambiguous Information
- Ask Model To Repeat Query
- Generate Follow-Up Questions
Few-Shot¶
How do we choose effective examples to include in our prompt?
- Auto-Generate Examples
- Re-Order Examples
- Choose Examples Similar to the Query (KNN)
- Choose Examples Similar to the Query (Vote-K)
Thought Generation¶
How do we encourage our model to mimic human-like reasoning?
Zero Shot¶
- Auto-Generate Chain-Of-Thought Examples
- First Ask a Higher-Level Question
- Encourage Analysis
- Encourage Structural Reasoning
Few Shot¶
- Annotate Only Uncertain Examples
- Choose Diverse Examples
- Choose Complex Examples
- Include Incorrect Demonstrations
- Choose Similar, Auto-Generated, High-Certainty Chain-Of-Thought Reasonings
- Choose the Most Certain Reasoning
- Generate Template-Based Prompts
Ensembling¶
How can we use multiple prompts and aggregate their responses?
- Build a Set of Consistent, Diverse Examples
- Batch In-Context Examples
- Verify Individual Reasoning Steps
- Maximize Information Between Input and Output
- Merge Multiple Chains-Of-Thought
- Use Specialized Experts
- Choose The Most Consistent Reasoning
- Choose The Most Consistent Reasioning (Universal)
- Use Task-Specific Example Selection
- Paraphrase The Prompt
Self-Criticism¶
How can a model verify or critique its own response?
- Generate Verification Questions
- Ask If the Answer is Correct
- Generate Feedback and Auto-Improve
- Score Multiple Candidate Solutions
- Reconstruct The Problem
- Generate Possible Steps
Decomposition¶
How can we break down complex problems? How do we solve subproblems?
- Implement Subproblems As Functions
- Use Natural and Symbolic Language
- Solve Increasingly Complex Subproblems
- Generate a Plan
- Use Code As Reasoning
- Recursively Solve Subproblems
- Generate a Skeleton
- Search Through Subproblems
*: The Prompt Report: A Systematic Survey of Prompting Techniques