Skip to content

Prompting Guide

Prompting requires understanding of techniques. Prompting enhances model performance.

We created examples of 58 prompting techniques* using instructor.

Prompting techniques are separated into the following categories: - Prompting Guide - Zero-Shot - Few-Shot - Thought Generation - Zero Shot - Few Shot - Ensembling - Self-Criticism - Decomposition

Click links to learn about each method and how to apply them in prompts.

Zero-Shot

How do we increase the performance of our model without any examples?

  1. Use Emotional Language
  2. Assign a Role
  3. Define a Style
  4. Auto-Refine The Prompt
  5. Simulate a Perspective
  6. Clarify Ambiguous Information
  7. Ask Model To Repeat Query
  8. Generate Follow-Up Questions

Few-Shot

How do we choose effective examples to include in our prompt?

  1. Auto-Generate Examples
  2. Re-Order Examples
  3. Choose Examples Similar to the Query (KNN)
  4. Choose Examples Similar to the Query (Vote-K)

Thought Generation

How do we encourage our model to mimic human-like reasoning?

Zero Shot

  1. Auto-Generate Chain-Of-Thought Examples
  2. First Ask a Higher-Level Question
  3. Encourage Analysis
  4. Encourage Structural Reasoning

Few Shot

  1. Annotate Only Uncertain Examples
  2. Choose Diverse Examples
  3. Choose Complex Examples
  4. Include Incorrect Demonstrations
  5. Choose Similar, Auto-Generated, High-Certainty Chain-Of-Thought Reasonings
  6. Choose the Most Certain Reasoning
  7. Generate Template-Based Prompts

Ensembling

How can we use multiple prompts and aggregate their responses?

  1. Build a Set of Consistent, Diverse Examples
  2. Batch In-Context Examples
  3. Verify Individual Reasoning Steps
  4. Maximize Information Between Input and Output
  5. Merge Multiple Chains-Of-Thought
  6. Use Specialized Experts
  7. Choose The Most Consistent Reasoning
  8. Choose The Most Consistent Reasioning (Universal)
  9. Use Task-Specific Example Selection
  10. Paraphrase The Prompt

Self-Criticism

How can a model verify or critique its own response?

  1. Generate Verification Questions
  2. Ask If the Answer is Correct
  3. Generate Feedback and Auto-Improve
  4. Score Multiple Candidate Solutions
  5. Reconstruct The Problem
  6. Generate Possible Steps

Decomposition

How can we break down complex problems? How do we solve subproblems?

  1. Implement Subproblems As Functions
  2. Use Natural and Symbolic Language
  3. Solve Increasingly Complex Subproblems
  4. Generate a Plan
  5. Use Code As Reasoning
  6. Recursively Solve Subproblems
  7. Generate a Skeleton
  8. Search Through Subproblems

*: The Prompt Report: A Systematic Survey of Prompting Techniques