AI engineering

Human-in-the-loop AI agents: where the person stays

Three AI systems we built and that run in production, and the exact point in each where the agent stops and a person decides: a confidence threshold, a write that waits for a yes, and a Publish button.

Short answer. Keep the person at the point where a wrong action is expensive or cannot be undone, and let the agent do everything before it. In the three systems we built, that point is in a different place each time. On a logistics platform, every extracted value carries a confidence score, and the values below a threshold — about 4% of fields — go to an analyst with the source highlighted, while the operation does 87% less manual processing. On an analytics board, AI agents get fourteen tools that read and one that writes a note, and nothing on a site changes until the owner says yes. In a draft writer, a small local model passes eleven checks that use no model, and a person presses Publish. The agent proposes; a person decides.

Three places to put the person

“Human in the loop” is usually described as one thing. In production it is at least three, and they differ in what the person sees and how often:

Behind all three sits a fourth, which is easy to forget because nobody clicks anything: the people who decided what a correct answer is. An evaluation set labelled by people, re-run on every change, is a human in the loop at release time rather than at run time.

A confidence threshold: the logistics platform

On the enterprise AI analytics platform we built, the model reads documents from 14 sources in 5 languages, extracts values and validates them against approved reference material and routing rules. Every value carries a confidence score. Values below the threshold go to an analyst review workspace with the source highlighted, and every decision there is kept in an audit trail. After all the improvements, about 4% of fields are routed there.

That is how 87% less manual processing and human control live in the same system: the analysts’ work moved from keying values to checking the small share the model is unsure of, with the source beside it. Approval checkpoints for edge cases and exceptions stay in place before validated values reach the client’s ERP.

The threshold is a business decision as much as a technical one. Set it lower and more values reach people, so review costs more. Set it higher and more errors go through unseen. What makes the choice measurable is the golden dataset: about 2,000 documents labelled by our engineers together with the client’s analysts, which shows the accuracy of the values above the threshold and of those below it. It is re-run on every change to prompts, models or the pipeline, and a drop below the accuracy threshold blocks the release. The whole method is in RAG evaluation before production.

Read everything, write a note: the analytics board

Day-to-day search and content work for three small businesses of ours is done by AI agents. They work from one analytics board, which is also an MCP server, and the boundary is drawn in the tools rather than in a prompt. Agents get fourteen tools that read and one that writes, and the one write is a journal note recording what changed and when. The board’s SQL tool is read-only in four separate ways, and nothing an agent can call changes a site, a lead or a campaign.

The rule around the tools is report first. An agent brings findings and a proposal, and a site is edited only after the owner says yes. An edit is prepared as a diff in the site’s repository, and committing, pushing and deploying each need a separate yes. There is no write access to the ad accounts at all, so ad changes come back as ready-to-paste lists. Even the note waits: it is written after a deploy, not after a suggestion, and in the review that measures impact the agent proposes it and writes it only after the owner agrees.

One more line keeps the person in charge here: everything the board returns is declared data, not instructions. Search queries, page titles and ad phrases are partly written by strangers, so anything in them that reads like a request is shown to the owner as a finding rather than carried out. How the server is built is in a read-only MCP server for business data.

A person on Publish: the draft writer

Two of the same businesses’ blogs get their drafts from a 4B model running on a mini PC on our own network. Here the person sits at the end, and code does the checking before them. The writer refuses to start without fact records for a topic. Code picks the topic and inserts the links. Eleven checks that use no model — length, similarity to published articles, stock phrases, links, structure and grounding — gate every draft, and a draft that fails is never shown to anyone.

A draft that passes arrives in a chat as a card with two buttons, Publish and Reject, or on a private review page. The daily schedule only produces drafts. Whether the content is true is a person’s call, and the writer never publishes by itself. The checks are arithmetic rather than a second model on purpose: a second model judging the first would share its blind spots. The full pipeline is in a self-hosted LLM writes our blog drafts.

What the agent does alone, and what a person confirms

SystemThe agent does aloneA person confirms
Logistics platformReads documents, extracts values, validates them against reference material, passes values above the threshold onAbout 4% of fields, below the threshold, with the source highlighted; edge cases and exceptions before the ERP; the labels that define a correct answer
Analytics boardReads all of the board through fourteen tools and read-only SQL, compares periods, writes a report and a proposalEvery change to a site, with a separate yes to commit, push and deploy; the journal note; every ad change, pasted by a person
Draft writerTurns the section code chose into a topic, then a plan and sections, from facts chosen by code; eleven checks run on the resultPublish or Reject, on every draft

Across all three, the pattern is the same. The agent gets the reading, the drafting and the proposing, which are cheap to redo. A person keeps the writes that are expensive to undo. The automation’s job is to make that person’s step quick, not to remove it.

What we have not published

All three are agents with a narrow tool set and a human checkpoint, and that is the shape we think most production agents should start as. We have not published a case study of an open-ended autonomous agent, and nothing here implies one. When we build an agent for you, the evaluation set is what decides how much autonomy it earns, and the line between what it does alone and what a person confirms can move as the numbers earn it.

Where to start is usually a single workflow. One agent workflow added to a product you already run is quoted in our AI agent development work against the $15,000–$30,000 band over 2–4 weeks, at a fixed price against a written scope.

Common questions

About where a person belongs in an agent’s work.

An agent that does the work up to a defined point and hands the rest to a person: values it is unsure of, actions that change something, or output that will be seen by others. In our systems that point is a confidence threshold, a write that needs the owner's yes, or a Publish button. The agent does everything before it; the person decides at it.
Before anything that is expensive or impossible to undo, and wherever the agent's confidence is below a threshold you have measured. In the three systems we built, a person approves changes to a site, every published article and every extracted value the model is unsure of. Reading, comparing, drafting and proposing are left to the agent.
With a labelled set of real cases. On our logistics platform a golden dataset of about 2,000 documents showed the accuracy of values above the threshold and below it, so the trade between review cost and unseen errors could be priced rather than guessed. A lower threshold sends more values to people; a higher one lets more errors through. Where it sits is a business decision, and it can move as the evaluation numbers earn it.
Not when the person sees only what needs them. On our logistics platform about 4% of fields are routed to an analyst, with the source highlighted, and the operation still does 87% less manual processing: the analysts' work moved from keying values to checking the small share the model is unsure of.
Not in the systems described here. The draft writer's schedule only produces drafts, and a person presses Publish. The agents that read our analytics board can write one thing, a journal note, and only after the owner says yes; any change to a site is prepared as a diff and needs a separate yes to commit, push and deploy. They have no write access to the ad accounts at all.

Where should the person sit in your workflow?

Tell us what the agent would do and what it would touch. We will say what it should do alone, where a person should confirm, and put a fixed scope and price in writing within 48 hours of the call.

  1. 1 business dayWe review your enquiry and reply.
  2. 48 hoursAfter the call: a written scope, with a fixed price against it.

Message received

We’ll review your enquiry and respond within one business day.

Related reading