Bird
Raised Fist0
Prompt Engineering / GenAIml~20 mins

Output guardrails in Prompt Engineering / GenAI - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
🎖️
Output Guardrails Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Why are output guardrails important in AI models?

Output guardrails help control what an AI model produces. Which of these is the main reason to use output guardrails?

ATo increase the size of the AI model
BTo make the AI run faster during training
CTo ensure the AI outputs are safe and do not cause harm
DTo reduce the number of layers in the AI model
Attempts:
2 left
💡 Hint

Think about why we want to control what the AI says or does.

Predict Output
intermediate
2:00remaining
What will this output guardrail code print?

Consider this simple Python function that applies a guardrail to filter out negative numbers from AI output predictions. What does it print?

Prompt Engineering / GenAI
def guardrail_filter(predictions):
    return [x if x >= 0 else 0 for x in predictions]

outputs = [-3, 5, -1, 7]
print(guardrail_filter(outputs))
A[-3, 5, -1, 7]
B[0, 5, 0, 7]
C[3, 5, 1, 7]
D[-3, 0, -1, 0]
Attempts:
2 left
💡 Hint

Look at how negative numbers are handled in the list comprehension.

Model Choice
advanced
2:00remaining
Which model architecture best supports output guardrails for text generation?

You want to build an AI that generates text but must avoid harmful or biased content. Which model architecture helps best to apply output guardrails?

ATransformer with a safety layer that filters outputs before returning
BSimple feedforward neural network without output filtering
CConvolutional neural network designed for image recognition
DRecurrent neural network without any output constraints
Attempts:
2 left
💡 Hint

Think about which architecture allows easy integration of output filters.

Metrics
advanced
2:00remaining
Which metric helps measure effectiveness of output guardrails?

After applying output guardrails, you want to check if harmful outputs are reduced. Which metric is best to measure this?

AModel training loss value
BTotal number of predictions made
CNumber of layers in the AI model
DPercentage of outputs flagged as harmful by a content filter
Attempts:
2 left
💡 Hint

Focus on measuring harmful content, not model size or training progress.

🔧 Debug
expert
3:00remaining
Why does this output guardrail code fail to block harmful words?

Look at this Python code meant to block harmful words from AI output. Why does it fail to block the word 'badword'?

Prompt Engineering / GenAI
def block_harmful(text):
    harmful_words = ['badword']
    for word in harmful_words:
        if word in text:
            text = text.replace(word, '****')
    return text

output = 'This is a BadWord example.'
print(block_harmful(output))
AThe check is case-sensitive, so 'BadWord' is not matched
BThe replace method is used incorrectly and does not change the text
CThe harmful_words list is empty, so no words are blocked
DThe function returns before replacing words
Attempts:
2 left
💡 Hint

Check how the code compares words and the case of letters.

Practice

(1/5)
1. What is the main purpose of output guardrails in AI systems?
easy
A. To speed up AI training time
B. To guide AI to give safe and useful answers
C. To increase the size of AI models
D. To reduce the number of AI layers

Solution

  1. Step 1: Understand output guardrails

    Output guardrails are rules that help AI give answers that are safe and useful.
  2. Step 2: Identify the main goal

    The main goal is to guide AI responses to be helpful and respectful, avoiding harmful or irrelevant content.
  3. Final Answer:

    To guide AI to give safe and useful answers -> Option B
  4. Quick Check:

    Output guardrails = safe and useful answers [OK]
Hint: Guardrails keep AI answers safe and helpful [OK]
Common Mistakes:
  • Confusing guardrails with training speed
  • Thinking guardrails increase model size
  • Assuming guardrails reduce AI layers
2. Which of the following is a correct example of an output guardrail rule?
easy
A. Block certain harmful words from AI responses
B. Allow AI to generate any length of text without limits
C. Train AI with more data to improve accuracy
D. Increase AI model layers for better output

Solution

  1. Step 1: Identify output guardrail examples

    Output guardrails include rules like blocking harmful words or limiting response length.
  2. Step 2: Match the correct rule

    Blocking harmful words is a direct guardrail to keep AI responses safe.
  3. Final Answer:

    Block certain harmful words from AI responses -> Option A
  4. Quick Check:

    Guardrail = block harmful words [OK]
Hint: Guardrails block harmful words, not increase model size [OK]
Common Mistakes:
  • Confusing training improvements with guardrails
  • Thinking guardrails allow unlimited text
  • Mixing model architecture changes with guardrails
3. Given this simple AI output guardrail code snippet in Python:
blocked_words = ['badword']
def filter_output(text):
    for word in blocked_words:
        if word in text:
            return 'Content blocked due to policy.'
    return text

print(filter_output('This is a badword example.'))

What will be the printed output?
medium
A. This is a badword example.
B. Error: blocked_words not defined
C. None
D. Content blocked due to policy.

Solution

  1. Step 1: Analyze the filter_output function

    The function checks if any blocked word is in the input text. If found, it returns a block message.
  2. Step 2: Check the input text

    The input text contains 'badword', which is in blocked_words, so the function returns the block message.
  3. Final Answer:

    Content blocked due to policy. -> Option D
  4. Quick Check:

    Blocked word found = block message [OK]
Hint: If blocked word in text, output block message [OK]
Common Mistakes:
  • Ignoring the blocked word check
  • Assuming original text prints always
  • Confusing variable scope errors
4. Consider this Python code meant to limit AI output length:
def limit_length(text, max_len=10):
    if len(text) > max_len:
        return text[:max_len]
    else:
        return text

print(limit_length('Hello, world!'))

What is the output and is there any bug?
medium
A. 'Hello, world!' and no bug
B. Error due to missing return
C. 'Hello, worl' and no bug
D. 'Hello, wor' and no bug

Solution

  1. Step 1: Check the function logic

    If text length is more than 10, it returns first 10 characters; else returns full text.
  2. Step 2: Apply to input 'Hello, world!'

    Input length is 13, so it returns text[:10] which is 'Hello, worl'.
  3. Final Answer:

    'Hello, worl' and no bug -> Option C
  4. Quick Check:

    Length limit applied correctly [OK]
Hint: Slice text to max length if too long [OK]
Common Mistakes:
  • Counting 11 characters instead of 10
  • Assuming no slicing happens
  • Thinking code has syntax errors
5. You want to create an output guardrail that blocks any AI response containing both 'error' and 'fail' words, but allows responses with only one of them. Which Python code snippet correctly implements this?
hard
A. def guard(text): if 'error' in text and 'fail' in text: return 'Response blocked.' return text
B. def guard(text): if 'error' in text or 'fail' in text: return 'Response blocked.' return text
C. def guard(text): if 'error' not in text and 'fail' not in text: return 'Response blocked.' return text
D. def guard(text): if 'error' in text and 'fail' not in text: return 'Response blocked.' return text

Solution

  1. Step 1: Understand the condition

    The guardrail should block only if both 'error' and 'fail' appear together.
  2. Step 2: Check each option logic

    def guard(text): if 'error' in text and 'fail' in text: return 'Response blocked.' return text uses 'and' to check both words, blocking only when both are present, which matches the requirement.
  3. Final Answer:

    def guard(text): if 'error' in text and 'fail' in text: return 'Response blocked.' return text -> Option A
  4. Quick Check:

    Block if both words present = def guard(text): if 'error' in text and 'fail' in text: return 'Response blocked.' return text [OK]
Hint: Use 'and' to require both words for blocking [OK]
Common Mistakes:
  • Using 'or' blocks if either word appears
  • Negating conditions incorrectly
  • Blocking only one word instead of both