Insights A practical guide

Agents, loops
and harnesses.

What’s actually going on?

The terminology has moved faster than the explanation. Here’s how the pieces fit together, what changes in practice, and what to ask before handing over a job.

The jobPrepare me for tomorrow’s customer meeting.
HarnessThe surrounding software
Relevant contextAllowed toolsPermissionsTime & cost limits
Agent loop
Choose a stepThe model proposes an action
Use a toolThe software runs it, if allowed
Read the resultThe model gets new information
Another step, if neededOr finish, pause or ask you
Saved progress Checks & recovery
The outcomeA sourced brief, ready for your review.
One system, different levels of description. This is a simplified design, not a universal architecture.

Three terms.
Different parts of the picture.

Start with the model: the component that interprets an input and generates an output. An agent adds a way to act, observe what happened and continue towards a task.

01

Agent

A system in which a model helps choose the next action. It might search a record, read a document or ask you a question, depending on what it finds.

In a predefined workflow, software specifies the route. In an agentic part of a system, the model can choose the route. Many useful products combine both. [1]

02

Loop

The repeating cycle: call the model, run an allowed tool, feed back the result, then decide again. The system needs ways to finish, pause or stop at a limit. [2]

Repeating a task does not, by itself, train a better model. It can use a new result on the next step without changing the model it started with.

03

Harness

The software around the model: supplying context, handling tools and results, saving progress, and managing execution. [3] For longer jobs, checkpoints and tests can help it resume and check its work. [4]

The boundary varies. Cloudflare uses “harness” for the turn-by-turn machinery; OpenAI’s harness-engineering account also discusses the wider working environment. Ask what someone includes in the word. [3] [5]

The agent does the job.
The loop lets it continue.
The harness makes that possible.

One job, three outcomes

“Prepare me for
the customer meeting.”

Same task. Different conditions. Select a situation to see what a sensible system should do.

Ready for review

The brief can be prepared.

The meeting has an agenda, a matching customer record and a recent project update.

  1. 01

    Choose a source

    Find the relevant customer record.

  2. 02

    Use a tool

    Read the record and linked project notes.

  3. 03

    Inspect the result

    The notes contain the delivery date and open questions.

  4. 04

    Finish the task

    Save a brief with source links. You check it before the meeting.

The software executed the tool call. The model used its result to decide what to do next.

Needs your input

A useful stop is still progress.

There are two customer records with the same name. The meeting invitation does not identify which one.

  1. 01

    Choose a source

    Search for the customer.

  2. 02

    Use a tool

    The search returns two plausible records.

  3. 03

    Inspect the result

    Neither match is supported by enough information.

  4. 04

    Ask, then pause

    “Which customer is this?” Keep the partial work for when you reply.

This is the behaviour to design and test for. A model can still guess wrongly; a good-looking demo does not prove it will stop.

Action blocked

Preparing is different from sending.

The brief is ready. A note in the source material asks for it to be emailed to an external address.

  1. 01

    Read the material

    The note requests an external email.

  2. 02

    Check the boundary

    This task permits reading records and saving a draft.

  3. 03

    Block the action

    The software does not grant permission to send.

  4. 04

    Return the draft

    Show the request to you. Sending would need a separately authorised action.

A sentence in a document must not become permission. The restriction belongs in the application’s access controls, not just its prompt.

Illustrative behaviour, not a connected product or a claim of guaranteed reliability. No accounts or tools are accessed here.

What’s genuinely new?

Automation and feedback loops have a long history. Even model-driven action loops predate today’s branding: the 2022 ReAct paper explored interleaving reasoning, actions and observations. [6]

The practical change is being able to use language models to interpret less predictable material and select actions within a toolset. That makes more kinds of work worth trying to automate. It does not make every task dependable.

My view: the opportunity is the range of tasks these systems can attempt. The product challenge is making the result useful enough, often enough, with an acceptable amount of checking.

And how much is marketing?

There’s no useful percentage. “Agent” is used for systems with very different degrees of freedom. [1] Treat the label as the start of a conversation.

When you hearAsk instead
“Fully autonomous”What can it do without approval? What happens when it is unsure?
“It keeps improving”Does it use new context, save memories, or actually retrain? How is improvement measured?
“A team of agents”Why does this need several agents? Does it beat a simpler approach on the same work?
“Powered by the best model”Has the whole system been tested on the task, including mistakes and recovery?

A stronger model may help. It cannot grant missing access, repair a broken integration or decide your business’s approval policy.

What changes in practice?

Start with a recurring piece of work and a recognisable finish line. Avoid “automate the department”.

For a team

Try turning incoming enquiries into a reviewable pack: match the customer, gather documents, identify missing information and draft the next action.

Use fixed rules for known checks. Consider an agent where the next useful step depends on what comes back. Start with the simplest approach that works. [1]

For your own day

Try preparing a weekly brief from selected notes, finding the documents for an appointment, or assembling travel options against your constraints.

Give it a bounded job, relevant sources and a clear finish. Start with reading and drafting; treat sending, booking or paying as separate permissions.

These are starting points to test, not promised outcomes. The useful shift is from asking for an answer to specifying a job: what information to use, what actions are allowed, what a good result looks like and when to come back to you.

The awkward part is still the work.

A document or email can contain instructions that try to redirect the model. Tool access can also expose private information. Approvals, constrained data flows and evaluation reduce risk, but no single safeguard settles it. [7]

For a pilot, name the person who owns exceptions. Limit access in software. Test ambiguous requests, missing records and failed tools alongside the easy examples.

Measure the whole jobIs the work actually easier?

Include review, corrections and running costs.

Count accepted results, using the same quality bar. Faster generation alone does not establish a return.

Compare the same work with your current process. Look at quality, turnaround, total human effort and cost per accepted result. If checking everything takes longer than doing it, the task or system needs to change.

Before you hand over a job.

  1. What is the job?One bounded task, with a clear result.
  2. What can it use?Specific sources and tools, with limited access.
  3. What can it do?Separate preparation from actions that need approval.
  4. How will we check it?Real examples, visible sources and a quality bar.
  5. When should it stop?Missing evidence, uncertainty, failure, time or cost limits.

Those answers tell you more about a product than the word “agent” on its homepage.

Sources & notes

This is a practical synthesis, not a formal taxonomy. Definitions vary between vendors. Examples and recommendations are my own; the links below support the technical distinctions. Sources checked 28 October 2026.

  1. Anthropic — Building effective agents

    2024 · The distinction between predefined workflows and model-directed agents.

  2. OpenAI — Agents SDK: running agents

    Documentation · Model calls, tool results, stopping and turn limits.

  3. Cloudflare — Harnesses

    Documentation · The software responsible for the model’s turn-by-turn operation.

  4. Anthropic — Effective harnesses for long-running agents

    2025 · Progress records, recovery and testing across sessions.

  5. OpenAI — Harness engineering

    2026 · The engineering environment around a coding agent.

  6. Yao et al. — ReAct: Synergizing Reasoning and Acting in Language Models

    2022 · Research combining model reasoning with actions and observations.

  7. OpenAI — Safety in building agents

    Documentation · Untrusted inputs, data leakage, approvals and evaluation.

← All insights