Bird
Raised Fist0
Agentic AIml~10 mins

Why guardrails prevent agent disasters in Agentic AI - Test Your Understanding

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 guardrail that stops the agent if it tries to delete important files.

Agentic AI
if action == [1]:
    print("Guardrail activated: Action blocked.")
Drag options to blanks, or click blank then click option'
A"delete_important_files"
B"move_files"
C"read_files"
D"create_files"
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing an action that is safe instead of dangerous.
2fill in blank
medium

Complete the code to check if the agent's output contains forbidden words.

Agentic AI
for word in forbidden_words:
    if word in agent_output:
        raise [1]("Forbidden content detected")
Drag options to blanks, or click blank then click option'
AValueError
BException
CWarning
DRuntimeError
Attempts:
3 left
💡 Hint
Common Mistakes
Using Warning which does not stop execution.
3fill in blank
hard

Fix the error in the guardrail function that prevents the agent from sending sensitive data.

Agentic AI
def guardrail_check(data):
    if 'password' [1] data:
        return False
    return True
Drag options to blanks, or click blank then click option'
Anot in
Bin
C==
D!=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '==' which checks equality, not membership.
4fill in blank
hard

Fill both blanks to create a guardrail that logs and blocks unsafe commands.

Agentic AI
def check_command(cmd):
    if cmd [1] unsafe_commands:
        log_event([2])
        return False
    return True
Drag options to blanks, or click blank then click option'
Ain
Bnot in
C"Blocked unsafe command"
D"Allowed command"
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'not in' which allows unsafe commands.
5fill in blank
hard

Fill all three blanks to build a guardrail that filters outputs and raises an error if needed.

Agentic AI
def filter_output(output):
    filtered = [word for word in output.split() if word != [1]]
    if [2] in filtered:
        raise [3]("Disallowed word found")
    return ' '.join(filtered)
Drag options to blanks, or click blank then click option'
A"secret"
B"error"
CRuntimeError
D"allowed"
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong words or error types that don't stop execution.

Practice

(1/5)
1. Why are guardrails important for AI agents when they interact with people?
easy
A. They make the AI run faster.
B. They help the AI learn without any rules.
C. They allow the AI to ignore user input.
D. They prevent the AI from making harmful or unsafe decisions.

Solution

  1. Step 1: Understand the role of guardrails

    Guardrails are safety limits set to stop AI from doing harmful actions.
  2. Step 2: Connect guardrails to interaction with people

    When AI talks to people, guardrails keep it from unsafe or harmful choices.
  3. Final Answer:

    They prevent the AI from making harmful or unsafe decisions. -> Option D
  4. Quick Check:

    Guardrails = prevent harm [OK]
Hint: Guardrails stop bad AI actions with people [OK]
Common Mistakes:
  • Thinking guardrails speed up AI
  • Believing guardrails ignore user input
  • Assuming guardrails remove all rules
2. Which of the following is the correct way to add a guardrail that stops an AI agent from deleting files?
easy
A. delete_file = true
B. allow action == 'delete_file'
C. if action == 'delete_file': block()
D. action = 'delete_file'

Solution

  1. Step 1: Identify guardrail syntax to block actions

    The guardrail should check if the action is 'delete_file' and then block it.
  2. Step 2: Compare options for correct blocking

    if action == 'delete_file': block() uses a condition and blocks the action, which is correct for a guardrail.
  3. Final Answer:

    if action == 'delete_file': block() -> Option C
  4. Quick Check:

    Guardrail blocks delete_file = if action == 'delete_file': block() [OK]
Hint: Guardrails use conditions to block bad actions [OK]
Common Mistakes:
  • Allowing the action instead of blocking
  • Assigning variables instead of checking conditions
  • Confusing action names with commands
3. Given this code snippet for an AI agent guardrail:
actions = ['read_data', 'delete_file', 'send_email']
allowed_actions = []
for a in actions:
    if a != 'delete_file':
        allowed_actions.append(a)
print(allowed_actions)

What will be the output?
medium
A. ['read_data', 'delete_file', 'send_email']
B. ['read_data', 'send_email']
C. ['delete_file']
D. []

Solution

  1. Step 1: Understand the loop and condition

    The loop goes through each action and adds it to allowed_actions only if it is not 'delete_file'.
  2. Step 2: Trace the loop with given actions

    'read_data' is added, 'delete_file' is skipped, 'send_email' is added.
  3. Final Answer:

    ['read_data', 'send_email'] -> Option B
  4. Quick Check:

    Filtered out 'delete_file' = ['read_data', 'send_email'] [OK]
Hint: Check which actions pass the condition [OK]
Common Mistakes:
  • Including 'delete_file' by mistake
  • Empty list if loop misunderstood
  • Confusing append with replace
4. This AI agent code is meant to block unsafe commands but has a bug:
def guardrail(action):
    if action = 'shutdown':
        return 'Blocked'
    else:
        return 'Allowed'

What is the error and how to fix it?
medium
A. Use '==' instead of '=' in the if condition.
B. Change 'return' to 'print' inside the function.
C. Remove the else block entirely.
D. Add a colon ':' after the function name.

Solution

  1. Step 1: Identify the syntax error in the if statement

    The code uses '=' which is assignment, but it should compare with '==' in conditions.
  2. Step 2: Correct the if condition to use '=='

    Replace '=' with '==' to properly check if action equals 'shutdown'.
  3. Final Answer:

    Use '==' instead of '=' in the if condition. -> Option A
  4. Quick Check:

    Comparison needs '==' [OK]
Hint: Use '==' for comparison, '=' is assignment [OK]
Common Mistakes:
  • Confusing assignment '=' with comparison '=='
  • Changing return to print unnecessarily
  • Removing else block without reason
5. An AI agent is designed to handle user requests but must never share private data. Which guardrail strategy best prevents accidental data leaks?
hard
A. Filter all outputs to remove sensitive keywords before sending.
B. Allow all outputs but log them for review later.
C. Ignore user requests that mention private data without warning.
D. Let the AI decide case-by-case if data is private.

Solution

  1. Step 1: Understand the goal to prevent data leaks

    The guardrail must stop private data from being shared in outputs.
  2. Step 2: Evaluate options for effective prevention

    Filtering outputs to remove sensitive keywords directly blocks leaks, unlike logging or ignoring.
  3. Final Answer:

    Filter all outputs to remove sensitive keywords before sending. -> Option A
  4. Quick Check:

    Filtering outputs = safest guardrail [OK]
Hint: Filter outputs to block private data leaks [OK]
Common Mistakes:
  • Relying only on logs without blocking
  • Ignoring requests silently
  • Trusting AI to decide privacy alone