In human approval workflows, the key metrics are Precision and Recall. Precision tells us how often the system's approvals are actually correct, which helps avoid unnecessary human reviews. Recall tells us how many truly important cases the system catches for human approval, ensuring no critical decisions are missed. Balancing these metrics ensures the workflow is efficient and safe.
Human approval workflows in Agentic AI - Model Metrics & Evaluation
Start learning this pattern below
Jump into concepts and practice - no test required
|---------------------------|
| | Predicted |
| Actual | Approve | Review |
|-----------|---------|--------|
| Approve | TP | FN |
| Review | FP | TN |
|---------------------------|
TP = Correctly auto-approved cases
FP = Incorrectly auto-approved cases (should be reviewed)
FN = Cases sent for review but could be auto-approved
TN = Correctly sent for review
If the system has high precision, it means most auto-approvals are truly safe, so humans rarely need to fix mistakes. But if recall is low, many cases that could be auto-approved are sent to humans, causing extra work.
If recall is high, the system catches almost all cases that should be auto-approved, reducing human workload. But if precision is low, some unsafe cases slip through without review, risking errors.
Example: In a loan approval system, high precision avoids wrongly approving risky loans automatically. High recall ensures most safe loans are approved without delay.
Good: Precision and recall both above 90%. This means the system auto-approves mostly correct cases and catches nearly all safe cases, balancing safety and efficiency.
Bad: Precision below 70% means many unsafe cases are auto-approved, risking errors. Recall below 50% means many safe cases are sent to humans unnecessarily, increasing workload.
- Accuracy paradox: If most cases are safe, a model that always sends to review can have high accuracy but poor usefulness.
- Data leakage: Using future information in training can inflate metrics but fail in real use.
- Overfitting: Metrics look great on training data but drop on new cases, causing poor real-world performance.
- Ignoring class imbalance: If safe cases are rare, metrics must be carefully chosen to reflect true performance.
Your human approval model has 98% accuracy but only 12% recall on safe cases. Is it good for production? Why not?
Answer: No, it is not good. The low recall means the system misses most safe cases and sends them to humans unnecessarily, increasing workload despite high accuracy. This harms efficiency and defeats the purpose of automation.
Practice
Solution
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.Step 2: Identify the correct purpose
The main goal is to have humans review AI decisions when needed, especially for sensitive or critical tasks.Final Answer:
To have people check AI decisions for important or sensitive tasks -> Option AQuick Check:
Human approval = human checks on AI decisions [OK]
- Thinking human approval replaces AI fully
- Believing it speeds up AI by skipping checks
- Assuming it trains AI without humans
Solution
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.Step 2: Match the correct syntax
The correct syntax isif confidence < 0.7:followed by the approval request function.Final Answer:
if confidence < 0.7: request_approval()-> Option BQuick Check:
Less than 0.7 triggers approval [OK]
- Using > instead of <
- Checking equality instead of less than
- Using != which triggers on all but 0.7
confidence = 0.65?
if confidence < 0.7:
print('Request human approval')
else:
print('Auto approve')Solution
Step 1: Check the condition with given confidence
Since confidence is 0.65, which is less than 0.7, the conditionconfidence < 0.7is true.Step 2: Determine which print statement runs
Because the condition is true, the code prints 'Request human approval'.Final Answer:
Request human approval -> Option CQuick Check:
0.65 < 0.7 triggers approval print [OK]
- Choosing 'Auto approve' by confusing condition
- Thinking no output occurs
- Assuming syntax error without checking code
def check_approval(confidence):
if confidence < 0.7
return 'Request approval'
else:
return 'Auto approve'Solution
Step 1: Check syntax of if statement
The if statement is missing a colon (:) at the end, which is required in Python syntax.Step 2: Verify other parts of the code
The comparison operator is correct, indentation looks fine, and return statements are present.Final Answer:
Missing colon after if statement -> Option DQuick Check:
Python if needs colon [:] [OK]
- Ignoring missing colon syntax error
- Thinking indentation is wrong
- Assuming return statements are missing
Solution
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.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'.Final Answer:
if confidence < 0.7 or task == 'high risk': request_approval()-> Option AQuick Check:
Use 'or' for either condition triggering approval [OK]
- Using 'and' instead of 'or' which requires both true
- Reversing comparison operators
- Confusing task string equality
