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.
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.
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]
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.
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.
“Prepare me for
the customer meeting.”
Same task. Different conditions. Select a situation to see what a sensible system should do.
The brief can be prepared.
The meeting has an agenda, a matching customer record and a recent project update.
- 01
Choose a source
Find the relevant customer record.
- 02
Use a tool
Read the record and linked project notes.
- 03
Inspect the result
The notes contain the delivery date and open questions.
- 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.
A useful stop is still progress.
There are two customer records with the same name. The meeting invitation does not identify which one.
- 01
Choose a source
Search for the customer.
- 02
Use a tool
The search returns two plausible records.
- 03
Inspect the result
Neither match is supported by enough information.
- 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.
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.
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.
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.
- What is the job?One bounded task, with a clear result.
- What can it use?Specific sources and tools, with limited access.
- What can it do?Separate preparation from actions that need approval.
- How will we check it?Real examples, visible sources and a quality bar.
- 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.
- Anthropic — Building effective agents
2024 · The distinction between predefined workflows and model-directed agents.
- OpenAI — Agents SDK: running agents
Documentation · Model calls, tool results, stopping and turn limits.
- Cloudflare — Harnesses
Documentation · The software responsible for the model’s turn-by-turn operation.
- Anthropic — Effective harnesses for long-running agents
2025 · Progress records, recovery and testing across sessions.
- OpenAI — Harness engineering
2026 · The engineering environment around a coding agent.
- Yao et al. — ReAct: Synergizing Reasoning and Acting in Language Models
2022 · Research combining model reasoning with actions and observations.
- OpenAI — Safety in building agents
Documentation · Untrusted inputs, data leakage, approvals and evaluation.