Bird
Raised Fist0
Agentic AIml~10 mins

Output filtering and safety checks in Agentic AI - 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 add a simple output filter that blocks offensive words.

Agentic AI
def filter_output(text):
    blocked_words = ['badword1', 'badword2']
    for word in blocked_words:
        if word in text:
            return [1]
    return text
Drag options to blanks, or click blank then click option'
A""
B"[Content blocked]"
Ctext
DNone
Attempts:
3 left
💡 Hint
Common Mistakes
Returning the original text even when blocked words are found.
Returning None which might cause errors downstream.
2fill in blank
medium

Complete the code to check if the model output length exceeds the safety limit.

Agentic AI
def check_length(output):
    max_length = 100
    if len(output) [1] max_length:
        return False
    return True
Drag options to blanks, or click blank then click option'
A!=
B<
C==
D>
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' which would block short outputs instead.
Using '==' which only blocks outputs exactly equal to max_length.
3fill in blank
hard

Fix the error in the code that filters outputs containing sensitive keywords.

Agentic AI
def safe_output(text):
    sensitive_keywords = ['password', 'secret']
    if any([1] in text for [2] in sensitive_keywords):
        return '[Filtered]'
    return text
Drag options to blanks, or click blank then click option'
Ak, keyword
Bkeyword, k
Ckeyword, keyword
Dk, k
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping the variable names causing syntax errors.
Using the same variable name twice causing confusion.
4fill in blank
hard

Fill both blanks to create a dictionary filtering outputs by length and keyword presence.

Agentic AI
outputs = ['safe text', 'too long text example', 'contains secret']
filtered = {text: len(text) for text in outputs if len(text) [1] 15 and 'secret' not in text [2]
Drag options to blanks, or click blank then click option'
A<
B>
Cand
Dor
Attempts:
3 left
💡 Hint
Common Mistakes
Using '>' which would filter out short texts.
Using 'or' which would allow texts with 'secret'.
5fill in blank
hard

Fill all three blanks to implement a safety check that blocks outputs with banned words or too long length.

Agentic AI
def safety_check(output):
    banned_words = ['hack', 'attack']
    max_len = 50
    if any([1] in output for [2] in banned_words) or len(output) [3] max_len:
        return False
    return True
Drag options to blanks, or click blank then click option'
Aword
Bw
C>
D<
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' for length which would block short outputs.
Using inconsistent variable names in the comprehension.

Practice

(1/5)
1. What is the main purpose of output filtering in AI systems?
easy
A. To stop unsafe or unwanted AI results from reaching users
B. To speed up the AI model training process
C. To increase the size of the AI model
D. To add more data to the training set

Solution

  1. Step 1: Understand output filtering

    Output filtering is designed to prevent unsafe or unwanted content from being shown to users.
  2. Step 2: Compare options

    Only To stop unsafe or unwanted AI results from reaching users describes stopping unsafe or unwanted results, which matches the purpose of output filtering.
  3. Final Answer:

    To stop unsafe or unwanted AI results from reaching users -> Option A
  4. Quick Check:

    Output filtering = stopping unsafe results [OK]
Hint: Output filtering blocks bad or unsafe AI outputs [OK]
Common Mistakes:
  • Confusing filtering with training speed
  • Thinking filtering adds data
  • Assuming filtering changes model size
2. Which of the following is a correct way to check if an AI output contains a banned word in Python?
easy
A. if output_text.contains(banned_word):
B. if output_text == banned_word:
C. if output_text.index(banned_word):
D. if banned_word in output_text:

Solution

  1. Step 1: Recall Python syntax for substring check

    In Python, to check if a substring is in a string, use the 'in' keyword.
  2. Step 2: Evaluate options

    if banned_word in output_text: uses 'if banned_word in output_text:', which is correct. if output_text == banned_word: checks equality, not containment. if output_text.contains(banned_word): uses a method that doesn't exist in Python strings. if output_text.index(banned_word): uses index incorrectly and can cause errors.
  3. Final Answer:

    if banned_word in output_text: -> Option D
  4. Quick Check:

    Substring check in Python uses 'in' [OK]
Hint: Use 'in' keyword to check substring in Python strings [OK]
Common Mistakes:
  • Using equality instead of containment
  • Using non-existent string methods
  • Using index without error handling
3. Given this Python code snippet for filtering AI output:
output = "Hello user!"
banned_words = ["bad", "ugly"]
filtered = any(word in output for word in banned_words)
print(filtered)
What will be the printed output?
medium
A. False
B. True
C. Error
D. None

Solution

  1. Step 1: Understand the code logic

    The code checks if any banned word is in the output string using 'any()' with a generator expression.
  2. Step 2: Check banned words in output

    Output is "Hello user!". Neither "bad" nor "ugly" is in this string, so 'any()' returns False.
  3. Final Answer:

    False -> Option A
  4. Quick Check:

    None of banned words in output = False [OK]
Hint: If no banned words found, 'any' returns False [OK]
Common Mistakes:
  • Assuming 'any' returns True by default
  • Confusing 'any' with 'all'
  • Expecting an error from generator expression
4. This code is meant to filter AI output for banned words but causes an error:
output = "Safe text"
banned_words = ["bad", "ugly"]
for word in banned_words:
    if output.index(word):
        print("Banned word found")
        break
What is the error and how to fix it?
medium
A. Syntax error due to missing colon after for loop
B. index() raises ValueError if word not found; use 'in' instead
C. TypeError because output is not a list
D. No error; code works fine

Solution

  1. Step 1: Identify the error cause

    Using output.index(word) raises ValueError if word is not found in output string.
  2. Step 2: Suggest fix

    Replace 'output.index(word)' with 'word in output' to safely check containment without error.
  3. Final Answer:

    index() raises ValueError if word not found; use 'in' instead -> Option B
  4. Quick Check:

    index() error fixed by 'in' check [OK]
Hint: Use 'in' to check substring safely, not index() [OK]
Common Mistakes:
  • Ignoring ValueError from index()
  • Thinking output must be a list
  • Missing colons in loops (not in this code)
5. You want to build a safety filter that blocks AI outputs containing banned words or outputs longer than 100 characters. Which approach correctly combines these checks in Python?
hard
A. if banned_words in output or len(output) == 100: block_output()
B. if all(word in output for word in banned_words) and len(output) < 100: block_output()
C. if any(word in output for word in banned_words) or len(output) > 100: block_output()
D. if output.contains(banned_words) or output.length > 100: block_output()

Solution

  1. Step 1: Understand filtering conditions

    The filter should block if any banned word is present OR output length exceeds 100 characters.
  2. Step 2: Evaluate options for correct logic and syntax

    if any(word in output for word in banned_words) or len(output) > 100: block_output() uses 'any' to check banned words and 'or' for length > 100, which is correct. if all(word in output for word in banned_words) and len(output) < 100: block_output() uses 'all' and 'and' incorrectly. if output.contains(banned_words) or output.length > 100: block_output() uses invalid methods. if banned_words in output or len(output) == 100: block_output() uses wrong containment and equality checks.
  3. Final Answer:

    if any(word in output for word in banned_words) or len(output) > 100: block_output() -> Option C
  4. Quick Check:

    Use 'any' + 'or' for combined filter [OK]
Hint: Use 'any' with 'or' to combine banned words and length checks [OK]
Common Mistakes:
  • Using 'all' instead of 'any' for banned words
  • Using 'and' instead of 'or' to combine conditions
  • Using invalid string methods like contains()