Bird
Raised Fist0
Agentic AIml~5 mins

Human approval workflows in Agentic AI

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
Introduction

Human approval workflows help make sure AI decisions are checked by people before final use. This keeps results safe and trustworthy.

When AI suggests important actions like approving loans or medical treatments.
When AI is unsure about a decision and needs a person to confirm.
When legal or ethical rules require human review before acting.
When AI handles sensitive data and mistakes could cause harm.
When building trust with users by showing humans are involved.
Syntax
Agentic AI
workflow = HumanApprovalWorkflow(
    ai_model=model,
    approval_condition=condition_function,
    human_reviewer=reviewer_function
)

result = workflow.run(input_data)

HumanApprovalWorkflow connects AI output with human checks.

The approval_condition decides when human review is needed.

Examples
This example sends AI results to a human if confidence is below 80%.
Agentic AI
workflow = HumanApprovalWorkflow(
    ai_model=my_model,
    approval_condition=lambda output: output['confidence'] < 0.8,
    human_reviewer=ask_human
)

result = workflow.run(data)
This example sends all AI outputs to human for approval.
Agentic AI
def always_approve(output):
    return True

workflow = HumanApprovalWorkflow(
    ai_model=my_model,
    approval_condition=always_approve,
    human_reviewer=ask_human
)

result = workflow.run(data)
Sample Model

This program creates a simple AI model that outputs a prediction with confidence. If confidence is below 0.9, it asks a human to approve. The human approves only if confidence is at least 0.5. The program tests three cases with different confidence values.

Agentic AI
class HumanApprovalWorkflow:
    def __init__(self, ai_model, approval_condition, human_reviewer):
        self.ai_model = ai_model
        self.approval_condition = approval_condition
        self.human_reviewer = human_reviewer

    def run(self, input_data):
        ai_output = self.ai_model(input_data)
        if self.approval_condition(ai_output):
            print('AI output needs human approval.')
            approved = self.human_reviewer(ai_output)
            if approved:
                print('Human approved the AI output.')
                return ai_output
            else:
                print('Human rejected the AI output.')
                return None
        else:
            print('AI output auto-approved.')
            return ai_output

def simple_ai_model(data):
    # Simulate AI output with confidence
    return {'prediction': 'Accept', 'confidence': data}

def human_review(output):
    # Simulate human approval if confidence >= 0.5
    print(f"Human reviewing output with confidence {output['confidence']}")
    return output['confidence'] >= 0.5

workflow = HumanApprovalWorkflow(
    ai_model=simple_ai_model,
    approval_condition=lambda out: out['confidence'] < 0.9,
    human_reviewer=human_review
)

print('Test with confidence 0.95:')
result1 = workflow.run(0.95)
print('Result:', result1)

print('\nTest with confidence 0.7:')
result2 = workflow.run(0.7)
print('Result:', result2)

print('\nTest with confidence 0.4:')
result3 = workflow.run(0.4)
print('Result:', result3)
OutputSuccess
Important Notes

Human approval adds time but improves safety and trust.

Design clear conditions to avoid too many or too few human checks.

Keep human reviewers informed and trained for consistent decisions.

Summary

Human approval workflows combine AI with people to check important decisions.

They help catch mistakes and meet rules for sensitive tasks.

Use simple conditions to decide when to ask humans for approval.

Practice

(1/5)
1. What is the main purpose of a human approval workflow in AI systems?
easy
A. To have people check AI decisions for important or sensitive tasks
B. To replace AI models with human decision-making completely
C. To speed up AI processing by skipping checks
D. To train AI models without any human input

Solution

  1. Step 1: Understand the role of human approval workflows

    Human approval workflows are designed to combine AI with human checks to ensure important decisions are correct and safe.
  2. Step 2: Identify the correct purpose

    The main goal is to have humans review AI decisions when needed, especially for sensitive or critical tasks.
  3. Final Answer:

    To have people check AI decisions for important or sensitive tasks -> Option A
  4. Quick Check:

    Human approval = human checks on AI decisions [OK]
Hint: Human approval means people check AI decisions [OK]
Common Mistakes:
  • Thinking human approval replaces AI fully
  • Believing it speeds up AI by skipping checks
  • Assuming it trains AI without humans
2. Which of the following is the correct way to write a condition that asks for human approval if the AI confidence is below 0.7?
easy
A. if confidence != 0.7: request_approval()
B. if confidence < 0.7: request_approval()
C. if confidence == 0.7: request_approval()
D. if confidence > 0.7: request_approval()

Solution

  1. Step 1: Understand the condition logic

    We want to request human approval when confidence is less than 0.7, so the condition should check for values below 0.7.
  2. Step 2: Match the correct syntax

    The correct syntax is if confidence < 0.7: followed by the approval request function.
  3. Final Answer:

    if confidence < 0.7: request_approval() -> Option B
  4. Quick Check:

    Less than 0.7 triggers approval [OK]
Hint: Use < for 'below' conditions in code [OK]
Common Mistakes:
  • Using > instead of <
  • Checking equality instead of less than
  • Using != which triggers on all but 0.7
3. Given this code snippet, what will be printed if confidence = 0.65?
if confidence < 0.7:
    print('Request human approval')
else:
    print('Auto approve')
medium
A. Auto approve
B. No output
C. Request human approval
D. Syntax error

Solution

  1. Step 1: Check the condition with given confidence

    Since confidence is 0.65, which is less than 0.7, the condition confidence < 0.7 is true.
  2. Step 2: Determine which print statement runs

    Because the condition is true, the code prints 'Request human approval'.
  3. Final Answer:

    Request human approval -> Option C
  4. Quick Check:

    0.65 < 0.7 triggers approval print [OK]
Hint: Check if confidence is less than threshold to decide output [OK]
Common Mistakes:
  • Choosing 'Auto approve' by confusing condition
  • Thinking no output occurs
  • Assuming syntax error without checking code
4. Identify the error in this human approval workflow code snippet:
def check_approval(confidence):
    if confidence < 0.7
        return 'Request approval'
    else:
        return 'Auto approve'
medium
A. Function missing return statement
B. Wrong comparison operator
C. Indentation error in else block
D. Missing colon after if statement

Solution

  1. Step 1: Check syntax of if statement

    The if statement is missing a colon (:) at the end, which is required in Python syntax.
  2. Step 2: Verify other parts of the code

    The comparison operator is correct, indentation looks fine, and return statements are present.
  3. Final Answer:

    Missing colon after if statement -> Option D
  4. Quick Check:

    Python if needs colon [:] [OK]
Hint: Check for colons after if/else statements [OK]
Common Mistakes:
  • Ignoring missing colon syntax error
  • Thinking indentation is wrong
  • Assuming return statements are missing
5. You want to build a human approval workflow that requests approval only if the AI confidence is below 0.7 or if the task is marked as 'high risk'. Which condition correctly implements this logic in Python?
hard
A. if confidence < 0.7 or task == 'high risk': request_approval()
B. if confidence < 0.7 and task == 'high risk': request_approval()
C. if confidence >= 0.7 or task != 'high risk': request_approval()
D. if confidence > 0.7 and task == 'high risk': request_approval()

Solution

  1. Step 1: Understand the logic needed

    Approval is requested if confidence is below 0.7 OR the task is 'high risk'. This means either condition triggers approval.
  2. Step 2: Match the correct Python condition

    The correct condition uses the 'or' operator to combine the two checks: confidence < 0.7 or task == 'high risk'.
  3. Final Answer:

    if confidence < 0.7 or task == 'high risk': request_approval() -> Option A
  4. Quick Check:

    Use 'or' for either condition triggering approval [OK]
Hint: Use 'or' to combine conditions for approval [OK]
Common Mistakes:
  • Using 'and' instead of 'or' which requires both true
  • Reversing comparison operators
  • Confusing task string equality