Bird
Raised Fist0
Prompt Engineering / GenAIml~10 mins

Multi-step reasoning in Prompt Engineering / GenAI - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to calculate the mean of a list of numbers.

Prompt Engineering / GenAI
numbers = [4, 8, 15, 16, 23, 42]
mean = sum(numbers) / [1]
Drag options to blanks, or click blank then click option'
Amin(numbers)
Bsum(numbers)
Cmax(numbers)
Dlen(numbers)
Attempts:
3 left
💡 Hint
Common Mistakes
Dividing by sum(numbers) instead of the count.
Using max(numbers) or min(numbers) which are unrelated.
2fill in blank
medium

Complete the code to split data into features and labels for training.

Prompt Engineering / GenAI
data = [[5.1, 3.5, 1.4, 0.2, 'setosa'], [6.2, 3.4, 5.4, 2.3, 'virginica']]
features = [row[:[1]] for row in data]
labels = [row[-1] for row in data]
Drag options to blanks, or click blank then click option'
A5
B3
C4
D1
Attempts:
3 left
💡 Hint
Common Mistakes
Using 3 which misses one feature.
Using 5 which includes the label.
3fill in blank
hard

Fix the error in the code to train a simple linear regression model using scikit-learn.

Prompt Engineering / GenAI
from sklearn.linear_model import LinearRegression
X = [[1], [2], [3], [4]]
y = [2, 4, 6, 8]
model = LinearRegression()
model.[1](X, y)
Drag options to blanks, or click blank then click option'
Atrain
Bfit
Cpredict
Dscore
Attempts:
3 left
💡 Hint
Common Mistakes
Using train which is not a method in scikit-learn.
Using predict which is for making predictions, not training.
4fill in blank
hard

Fill both blanks to create a dictionary of word lengths for words longer than 3 characters.

Prompt Engineering / GenAI
words = ['apple', 'bat', 'carrot', 'dog']
lengths = {word: [1] for word in words if len(word) [2] 3}
Drag options to blanks, or click blank then click option'
Alen(word)
B>
C<
Dword
Attempts:
3 left
💡 Hint
Common Mistakes
Using word as the value instead of its length.
Using '<' which selects shorter words.
5fill in blank
hard

Fill all three blanks to filter a dictionary for items with values greater than 10 and convert keys to uppercase.

Prompt Engineering / GenAI
data = {'a': 5, 'b': 15, 'c': 25}
filtered = { [1]: [2] for [3], v in data.items() if v > 10 }
Drag options to blanks, or click blank then click option'
Ak.upper()
Bv
Ck
Ddata
Attempts:
3 left
💡 Hint
Common Mistakes
Using data instead of loop variable for keys.
Not converting keys to uppercase.

Practice

(1/5)
1.

What does multi-step reasoning help an AI model do?

easy
A. Solve problems by breaking them into smaller steps
B. Answer questions with a single fact only
C. Ignore the order of information
D. Randomly guess answers without logic

Solution

  1. Step 1: Understand the meaning of multi-step reasoning

    Multi-step reasoning means solving problems step-by-step, using several facts or actions in order.
  2. Step 2: Match the meaning to the options

    Solve problems by breaking them into smaller steps says breaking problems into smaller steps, which matches the meaning exactly.
  3. Final Answer:

    Solve problems by breaking them into smaller steps -> Option A
  4. Quick Check:

    Multi-step reasoning = step-by-step solving [OK]
Hint: Think: Does the option show step-by-step solving? [OK]
Common Mistakes:
  • Choosing options that ignore order
  • Picking answers about guessing
  • Confusing single fact with multiple steps
2.

Which of the following is the correct syntax to start a multi-step reasoning process in Python?

def reasoning_process():
    step1 = 'Gather data'
    step2 = 'Analyze data'
    # What comes next?
easy
A. print(step1, step2)
B. step3 = 'Make decision'
C. return step1 + step2
D. step1 = step2

Solution

  1. Step 1: Understand the code context

    The function defines step1 and step2 as strings describing reasoning steps.
  2. Step 2: Identify the next step in multi-step reasoning

    step3 = 'Make decision' adds a new step3, continuing the reasoning process logically.
  3. Final Answer:

    step3 = 'Make decision' -> Option B
  4. Quick Check:

    Next step in reasoning = add new step variable [OK]
Hint: Look for option that adds a new step logically [OK]
Common Mistakes:
  • Choosing return too early
  • Using print instead of continuing steps
  • Overwriting previous steps
3.

What will be the output of this Python code that simulates multi-step reasoning?

def multi_step():
    step1 = 5
    step2 = step1 * 2
    step3 = step2 - 3
    return step3

print(multi_step())
medium
A. 5
B. 10
C. 7
D. None

Solution

  1. Step 1: Calculate step2 from step1

    step1 = 5, so step2 = 5 * 2 = 10.
  2. Step 2: Calculate step3 from step2

    step3 = 10 - 3 = 7, which is returned and printed.
  3. Final Answer:

    7 -> Option C
  4. Quick Check:

    5*2-3 = 7 [OK]
Hint: Calculate each step in order, then return last value [OK]
Common Mistakes:
  • Returning step2 instead of step3
  • Miscomputing multiplication or subtraction
  • Confusing return with print output
4.

Find the error in this multi-step reasoning function and choose the fix:

def reasoning():
    step1 = 10
    step2 = step1 / 0
    step3 = step2 + 5
    return step3
medium
A. Add try-except block to handle error
B. Change division by zero to division by 1
C. Return step1 instead of step3
D. Remove step3 calculation

Solution

  1. Step 1: Identify the error in the code

    Division by zero in step2 causes a runtime error (ZeroDivisionError).
  2. Step 2: Choose the best fix to handle the error

    Adding a try-except block safely handles the error without stopping the program.
  3. Final Answer:

    Add try-except block to handle error -> Option A
  4. Quick Check:

    Division by zero needs error handling [OK]
Hint: Look for division by zero and handle with try-except [OK]
Common Mistakes:
  • Ignoring the division by zero error
  • Removing steps instead of fixing error
  • Returning wrong variable
5.

You want to build an AI that answers questions by reasoning through three steps: understanding the question, searching facts, and giving an answer. Which approach best models this multi-step reasoning?

hard
A. Use a single neural network layer to predict answers directly
B. Randomly select an answer from a database without processing
C. Train a model only on final answers without intermediate steps
D. Chain three separate models: one for understanding, one for searching, one for answering

Solution

  1. Step 1: Understand the multi-step reasoning requirement

    The AI must perform three ordered steps: understand, search, answer.
  2. Step 2: Match the approach that models these steps clearly

    Chain three separate models: one for understanding, one for searching, one for answering chains three models, each handling one step, matching the multi-step reasoning process.
  3. Final Answer:

    Chain three separate models: one for understanding, one for searching, one for answering -> Option D
  4. Quick Check:

    Multi-step reasoning = chain models for each step [OK]
Hint: Choose option that splits tasks into ordered steps [OK]
Common Mistakes:
  • Using one model for all steps ignoring order
  • Random guessing without reasoning
  • Skipping intermediate reasoning steps