All research
[ 02 ]Agents

AI agents: when to let the model take actions

6 min read

An AI agent is a model that doesn't just answer — it acts. It can call tools, query your APIs, and chain several steps to finish a task: "find the overdue invoices, draft the reminders, and queue them for approval." The promise is automation of work that used to need human judgement.

The risk is equally real: an agent that takes the wrong action confidently is worse than one that does nothing. After building agents that touch real systems, here's the formula we trust.

Constrain the tools, not the model

The instinct is to give the agent everything and hope the prompt keeps it in line. We do the opposite. Each agent gets a small, explicitly scoped set of tools, and every tool validates its own inputs. The agent can only do what its tools allow — so safety lives in code, not in a paragraph of instructions.

The loop: reason → act → observe

Under the hood a useful agent runs a tight loop:

while not done:
    thought  = model.plan(state)      # decide the next step
    result   = tools.run(thought)     # take one action
    state    = state + observe(result) # fold the result back in

The key discipline: one action per turn, then re-evaluate. Letting a model plan ten steps ahead and execute blindly is where things break. Small steps with fresh observation keep it honest.

Verify before you trust

We found a cheap, high-impact pattern: a second pass that checks the first. After the agent proposes an action, a verifier (often the same model with a skeptical prompt) asks "is this correct and safe?" If two independent checks disagree, we stop and ask a human.

Confidence gating

Not every step deserves the same autonomy. We gate actions by impact:

if action.impact == "read":       run automatically
if action.impact == "write":      require self-verification
if action.impact == "irreversible": require human approval

What this means for you

We don't drop a black-box agent into your business. We scope its tools, instrument every step, and put a human at the gates that matter — so you get the automation without handing over the keys.

Work with us

Want this in your product?
Let's scope the build.

We turn the approaches above into working software — in your repo, on your stack.