Lesson 6.1
Framing options: assistive, semi-automated, automated
You will be able to describe three levels of automation for any AI use case and pick the right one based on risk, volume and how mistakes are caught.
Why this matters on a client engagement
Clients rarely ask for an automation level. They ask for 'AI for invoices' or 'a bot for tickets'. If you jump straight to full automation you take on risk the client did not agree to. If you only build a chat helper you may leave most of the value on the table. Framing the options early lets the client choose with open eyes, and it gives you a clear scope for the proof of concept.
Three levels of automation
Assistive
- AI suggests, person decides
- Person touches every item
- Lowest risk
- Value: speed for the person
- Good first step for new clients
Semi-automated
- AI does the work, person approves
- Person reviews in a queue
- Risk controlled by review
- Value: fewer manual steps
- Fits high-volume routine work
Automated
- AI acts on its own
- People see samples and exceptions
- Needs cheap, reversible errors
- Value: removes the queue
- Needs monitoring and a kill switch
The short version
Every AI solution sits somewhere between 'a person does the work with help' and 'the system does the work alone'. It helps to name three points on that line. Assistive: the AI suggests and a person decides and acts. Semi-automated: the AI does the work, and a person approves or corrects before anything leaves the building. Automated: the AI does the work and acts on its own, and people only look at samples and exceptions.
The level is a design choice, not a property of the model. The same invoice extraction model can power all three. What changes is who presses the final button, how many items a person must touch, and what happens when the model is wrong.
Think of how a new hire is trained. In week one they draft and a senior checks everything. After a month they handle routine cases alone and escalate the odd ones. Nobody gives a new hire full authority on day one. Treat an AI system the same way.
When each level fits
Assistive fits when the task needs judgment, when errors are costly or hard to undo, or when the client is new to AI. Examples: drafting a reply to an angry customer, summarizing a contract for a lawyer, suggesting a diagnosis code that a coder confirms. The value is speed and consistency for the person, not removal of the person.
Semi-automated fits high-volume work where most items are routine but each one still matters. The AI prepares the full result, and a person reviews it in a queue. Good review screens show the source next to the AI output so the check takes seconds. Examples: invoice data entry, ticket triage, first-pass contract clause tagging.
Automated fits when mistakes are cheap, easy to detect, and easy to reverse, or when a later step catches them anyway. Examples: tagging internal documents for search, routing emails to the right team inbox, generating a first draft that always goes through another process. Even here you keep monitoring, sampling and a way to switch back to manual.
Human approval and risk
Human approval is the main control that moves a system between levels. You can place it on every item, on items above a value threshold, on items where the model is unsure, or on a random sample. Mixing these rules is common: auto-post small, complete, high-confidence items and send the rest to a person.
To judge risk, ask four questions with the client. What is the worst realistic mistake? Who notices it, and how fast? Can it be undone, and at what cost? Is there a legal or regulatory rule that requires a named person to sign off? A wrong tag on an internal file is a nuisance. A wrong payment to a supplier is real money and an audit finding.
Be careful with 'confidence' numbers. Language models do not produce a reliable built-in probability that an answer is right. In practice you build your own signals: required fields missing, values that fail business rules, disagreement between two checks, or a score from an evaluation you ran on labelled examples. Use those signals to decide what a person must see.
# Decide what happens to one AI result: send it on, or queue it for a person.
AUTO_LIMIT = 500.00 # invoices above this always get a human check
MIN_CONFIDENCE = 0.90 # below this the extraction is not trusted
def route(result: dict) -> str:
if result["missing_fields"]:
return "human_review" # never guess a missing value
if result["amount"] > AUTO_LIMIT:
return "human_approval" # high value: a person signs off
if result["confidence"] < MIN_CONFIDENCE:
return "human_review"
return "auto_post" # low risk and complete
samples = [
{"id": "INV-1", "amount": 120.0, "confidence": 0.97, "missing_fields": []},
{"id": "INV-2", "amount": 980.0, "confidence": 0.99, "missing_fields": []},
{"id": "INV-3", "amount": 75.0, "confidence": 0.62, "missing_fields": []},
{"id": "INV-4", "amount": 40.0, "confidence": 0.95, "missing_fields": ["po_number"]},
]
for s in samples:
print(s["id"], route(s))How to present the options
Put the three levels side by side for the client's specific process. For each, describe what the user does, what the system does, how many items a person still touches, the main risk and the control for it. Keep it to one page. Business owners decide faster when they can see the trade-off on one sheet.
Recommend a starting level and a path. A common pattern is to start semi-automated, measure how often reviewers change the AI output, and then move low-risk categories to automated once the correction rate is low and stable. Write the rule for moving up a level before the pilot starts, so the decision later is based on data and not on mood.
Measuring whether a level is working
Once a level is live, track a few simple numbers each week. For assistive and semi-automated designs, record how often the person accepts the AI output unchanged, how often they edit it, and how often they reject it. Record which fields or categories get edited most. For automated designs, review a random sample by hand and record the error rate, and track how many items fall out to the exception queue.
Also watch the reviewers, not only the model. If approval time drops to one second per item, people may be clicking through without reading. Some teams add an occasional known-wrong item to the queue to check that reviewers catch it. Share these numbers with the client owner in a short weekly note. They are the evidence you will use to move a category up a level, or back down.
Worked example
Worked example: supplier invoices at a distribution company
The finance team enters about 3,000 supplier invoices a month by hand (an example figure for this exercise). They ask for 'AI to do invoices'. You frame three options.
Assistive: the AI reads the PDF and pre-fills the entry form, and the clerk checks every field and posts. Semi-automated: the AI fills the form and posts to a review queue; a clerk approves with one click or fixes a field. Automated: invoices under a set amount, with a matching purchase order and all fields present, post directly; everything else goes to the queue.
The finance lead picks semi-automated for the pilot, with a written rule: move a supplier to automated once reviewers have changed fewer than an agreed share of its invoices over two months. The code above shows the routing rule in a few lines. Notice that the rule uses simple, checkable signals, not a vague 'the AI is confident'.
- Name the task and the decision at the end of it.
- Write the three levels for this task in plain words.
- List the worst mistake and the control for each level.
- Agree a starting level and the measurable rule for moving up.
Start practicing
Frame three options for a real process
30 minGoal: Practice turning a vague AI request into three clear, comparable options.
- Pick a process you know well from work or daily life, such as expense claims, support emails or job applications.
- Write one sentence for the final decision in that process (for example, 'pay or reject the claim').
- On one page, write the assistive, semi-automated and automated versions: what the person does and what the system does.
- For each version, write the worst realistic mistake, who would notice it and how it would be undone.
- Choose a starting level and write one measurable rule for moving to the next level.
Done when: You have a one-page comparison that a non-technical manager could read and use to choose a level.
Write a routing rule
20 minGoal: Turn approval rules into code you can test.
- Copy the route function from this lesson into a file and run it with Python.
- Add a rule: any invoice from a supplier on a 'new supplier' list always goes to human_approval.
- Add two test samples that hit the new rule and run the file again.
Done when: The script prints the expected route for all six samples and you can explain each one.
Common mistakes
- Jumping to full automation because the demo looked good. Demos use clean examples; production has the messy ones. Start one level lower and earn the next level with data.
- Using the model's own statement of confidence as a safety control. Build checks you can verify, such as missing fields, business rules and evaluation results.
- Designing a review step that takes as long as doing the work by hand. Put the source and the AI output side by side so a reviewer can approve in seconds.
- Not writing down the rule for moving up a level. Without it, the decision becomes a debate about feelings later.
- Forgetting a way back. Every automated flow needs a switch that sends items to manual review if quality drops.
Check yourself
- What is the difference between semi-automated and automated in terms of who acts?
- Name three kinds of signal you could use instead of a model confidence score to route items to a person.
- Which four questions help you judge the risk of a mistake?
- Why is semi-automated a common starting point for a pilot?