Multi-step prompting

ChatGPT Prompt Engineering for Developers

Fouad Trad

Machine Learning Engineer

Multi-step prompting

  • Break down an end goal into series of steps
  • Model goes through each step to give final output
  • Multi-step prompts are used for:
    • Sequential tasks
    • Cognitive tasks

Diagram showing that a multi-step prompt is a prompt that gives the model a series of sequential steps to perform.

ChatGPT Prompt Engineering for Developers

Multi-step prompts as treasure maps

Image representing a treasure map along with some clues to find the treasure.

ChatGPT Prompt Engineering for Developers

Single-step prompt: writing a blog

prompt = "Compose a travel blog"
print(get_response(prompt))
Title: Exploring the Enchanting Landscapes of Iceland

Introduction: Welcome to my travel blog! Today, I am thrilled to share my unforgettable journey through 
the mesmerizing landscapes of Iceland. 

Day 1: Reykjavik - The Charming Capital [...]
Day 2: Golden Circle - Nature's Wonders [...]
Day 3: South Coast - A Journey of Ice and Fire [...]
Day 4: Glacier Lagoon - A Frozen Wonderland [...]
Day 5: Blue Lagoon - A Relaxing Finale [...]
ChatGPT Prompt Engineering for Developers

Multi-step prompt: writing a blog post

prompt = """Compose a travel blog as follows:
Step 1: Introduce the destination.
Step 2: Share personal adventures during the trip.
Step 3: Summarize the journey.
"""
print(get_response(prompt))
ChatGPT Prompt Engineering for Developers

Writing a travel blog post

Title: Exploring the Enchanting Streets of Barcelona

Step 1: Introduce the destination. Welcome to Barcelona, a vibrant city nestled along the stunning Mediterranean coast of Spain [...]
Step 2: Share personal adventures during the trip. Exploring the narrow, winding streets of the Gothic Quarter, I stumbled upon hidden gems at every turn. [...]
Step 3: Summarize the journey. As my journey through Barcelona came to an end, I couldn't help but feel grateful for the incredible experiences and memories I had made [...]
ChatGPT Prompt Engineering for Developers

Analyzing solution correctness

  • Checking solution correctness requires multiple steps
  • Example:
    • Python code for calculation functions

Image of a calculator

ChatGPT Prompt Engineering for Developers

Analyzing solution correctness

Typical solution to check

calculator = """
def add(a, b):
    return a + b
def subtract(a, b):
    return a - b
def multiply(a, b):
    return a * b
def divide(a, b):
    return a / b
"""
Single-Step Prompt:
prompt = f"""Determine if the code delimited 
by triple backticks is correct or not.
Answer by yes or no.
```{calculator}```"""

print(get_response(prompt))
Yes
ChatGPT Prompt Engineering for Developers

Multi-step prompting to analyze solution correctness

Multi-Step Prompt:
prompt = f"""Determine the correctness of the code delimited by triple backticks 
as follows: 
Step 1: Check the code correctness in each function. 
Step 2: Verify if the divide function handles the case when dividing by 0. 
Code: ```{calculator}```"""

print(get_response(prompt))
The code appears to be correct. It defines four functions: add, subtract, multiply, and 
divide. Each function performs the corresponding mathematical operation and returns the
result. However, it does not handle the case when dividing by 0, which can result in a 
ZeroDivisionError.
ChatGPT Prompt Engineering for Developers

Multi-step versus few-shot prompt

Steps

  • Explicitly tell model what to do

Diagram showing how a multi-step prompt breaks down the instruction into a series of steps in the input for the model to go over them one by one.

ChatGPT Prompt Engineering for Developers

Multi-step versus few-shot prompt

Steps

  • Explicitly tell model what to do

Diagram showing how a multi-step prompt breaks down the instruction into a series of steps in the input for the model to go over them one by one.

Shots

  • Questions and answers model learns from

Image showing how a few-shot prompt works, where the input to the model is a set of example questions and answers along with the question we want the model to answer.

ChatGPT Prompt Engineering for Developers

Let's practice!

ChatGPT Prompt Engineering for Developers

Preparing Video For Download...