I had one of those moments this week where something I thought I understood moved a few feet to the left.
I was working on a project where the breakthrough was not me solving the problem step by step. It was not me holding every detail in my head and steering the agent through each little turn.
The breakthrough was explaining the goal properly.
Not a flimsy goal. Not "go and sort this out". A real goal. A goal with context, constraints, success criteria, evidence, review points, and stop-lines.
Once that was in place, the right move was to let the agent work through the loop.
That was a bit of an eye-opener.
Because up to that point, a part of me still wanted to be the controller. I know where this is going. I know the spec. I understand the figures. I know the shape of the work. Therefore I should drive each step.
But that is slow.
And in agentic work, one of the real questions is becoming: how do you keep up?
The human-in-the-loop can become the bottleneck
I still believe in human judgement. Very strongly.
But there is a difference between human judgement and human micromanagement.
If every step has to come back to me because I have not defined the goal, then I am not adding control. I am adding friction.
That is the uncomfortable bit. We talk about human-in-the-loop as if the phrase automatically makes the work safer. Sometimes it does. Sometimes it is exactly right. There are moments where a human must approve, pause, refuse, or ask better questions.
But there is another version where the human is not really judging. The human is just clicking through the work because the system has not been given enough structure to continue without constant reassurance.
That is not governance. That is a slow wizard.
The better pattern is not to remove the human. It is to move the human to the right layer.
The human sets the goal, context, boundaries, evidence standard, review rhythm, escalation route, and stop-line. The agent then works the loop.
That is a different posture.
It is less controller, more shepherd.
The goal becomes the interface
For years we have designed work around steps.
Click here. Fill this in. Move this ticket. Update this field. Ask this person. Wait for approval. Copy the answer into the next system.
That made sense when software was mostly deterministic and humans were the flexible part of the system.
Agentic systems change the shape. The useful interface is no longer only the form, the button, the ticket, or the prompt. The useful interface is the goal contract.
What are we trying to achieve?
What does good look like?
What information is available?
What tools can be used?
What evidence is required?
What must not happen?
When should the agent ask?
When should it stop?
When that is written well, the agent has room to think.
When it is written badly, the agent has room to drift.
This is not just a vibe
There is a research trail behind this.
ReAct showed the value of interleaving reasoning and acting, so a language model can think, use a tool, observe the result, and continue. That is a loop, not a single answer.
Reflexion explored how agents can use feedback and verbal reflection to improve their next attempt. Again, the point is not one perfect shot. It is action, evidence, reflection, correction.
Voyager is interesting because it treats progress as open-ended learning: the agent builds skills over time, stores what works, and uses that growing capability to reach further goals.
Tree of Thoughts and Plan-and-Solve prompting point in the same direction from another angle: do not rush straight to the next token as if the first path is the only path. Think about plans, branches, alternatives, and checks.
The frontier labs are saying similar things in more operational language. The OpenAI Agents SDK talks about agents, tools, handoffs, guardrails, and tracing. OpenAI's practical guide to building agents frames agents as systems that pursue goals using tools and instructions inside bounded workflows. Anthropic's Building Effective Agents separates simpler workflows from more autonomous agents, and describes patterns such as evaluator-optimizer and orchestrator-workers.
The common thread is simple enough.
The agent needs a loop.
The loop needs a goal.
The goal needs boundaries.
The boundaries need review.
The goal contract
The practical thing I am starting to use is a goal contract.
It does not need to be grand. It does need to be clear.
| Part of the contract | What it answers |
|---|---|
| Outcome | What are we actually trying to make true? |
| Success condition | How will we know the work is good enough? |
| Available context | What files, notes, sources, systems, or memory can the agent use? |
| Allowed tools | Which tools, APIs, MCP resources, or commands are in scope? |
| Evidence standard | What proof, citations, test output, receipts, or audit trail is needed? |
| Loop rhythm | When should the agent continue, check, summarise, or ask? |
| Stop-lines | What must pause before data loss, privacy exposure, spend, deployment, publication, or external contact? |
| Human review threshold | What level of consequence requires a human on the loop? |
| Done definition | What final proof should exist when the loop has completed? |
This is where the real control lives.
Not in telling the agent every step.
In telling the agent what work is worth doing, what good looks like, and where the fence is.
A loop is not the same as a free-for-all
This is the bit that matters.
Goal-based agentic work is not "let it do whatever it wants".
That is not shepherding. That is opening the gate and hoping nothing expensive happens.
A good loop has structure.
The agent should be able to plan, act, observe, evaluate, correct, and continue. But it should also know when to pause. It should know when a proposed action is not an action yet. It should know when it has evidence and when it merely has a plausible story.
This is why frameworks such as LangGraph's human-in-the-loop pattern, AutoGen's multi-agent conversation work, and SWE-agent's agent-computer interface are useful. They are all, in different ways, about giving agentic work a shape: state, tools, conversation, computer access, checkpoints, and traces.
The shape is the safety.
The model is powerful, but the shape tells it how to be useful.
What the shepherd actually does
Shepherd is not a soft role.
The shepherd does not stand there vaguely hoping the flock reads the strategy deck.
The shepherd knows the field. The shepherd knows the boundary. The shepherd knows the weather. The shepherd knows where the gate is, where the road is, where the cliff is, and when to intervene.
That is the human role in serious agentic work.
You prepare the field.
You give the agent the right context.
You remove ambiguity where ambiguity is dangerous.
You leave space where exploration is useful.
You define the review points.
You watch for drift.
You inspect the evidence.
You decide when the work is good enough.
That is not less human responsibility.
It is responsibility at a higher layer.
Where this fails
There are some predictable failure modes.
The first is a weak goal. "Improve this" is not a goal. "Find the three highest-leverage changes that reduce manual reconciliation time without touching production data, then show evidence and a rollback-safe next step" is closer.
The second is missing context. If the agent cannot see the policy, the code, the data dictionary, the past decision, or the source of truth, it will fill in the shape from somewhere else. That somewhere else may be wrong.
The third is no evaluator. A loop without an evaluator is just activity. The evaluator can be a test, a rubric, another agent, a human review, a constraint check, a cost check, or a source comparison. But something has to decide whether the loop is getting better.
The fourth is no stop-line. If the loop can spend money, delete files, publish externally, email customers, change production, or expose private data without a pause, the goal contract is not mature enough.
The fifth is human vanity. This one is awkward, but real. Sometimes we keep ourselves in every step because it feels safer. Sometimes we do it because it preserves the feeling that we are the clever bit.
But the clever bit may now be designing the loop.
The practical technique
Here is the version I would try first.
Before you start the work, write the goal contract in plain language.
Then ask the agent to play it back:
Before you start, explain the goal, the success condition, the available context, the evidence you will produce, the likely risks, and the points where you must stop and ask me.
If the agent cannot explain that back clearly, do not start the loop.
Fix the goal.
Then let it work in bounded runs. Ask for receipts. Ask for evidence. Ask for what changed. Ask for what remains uncertain. Ask for the next loop.
Do not click through blindly.
Do not hover over every keystroke either.
Shepherd the loop.
What this changes
I think this is one of the changes that will separate teams who get real value from agentic work from teams who simply add AI to old process theatre.
The old instinct is to specify every step.
The new skill is to specify the goal and the loop.
That means leaders need to get better at saying what good looks like. Operators need to get better at context packs, evidence standards, and stop-lines. Builders need to make loops visible, auditable, and interruptible. Agents need to be configured to continue where they should continue and pause where consequence rises.
The human is still there.
But the human is not necessarily the cursor.
The human is the person who understands the field.
The goal is the interface.
Source notes
This piece is a practical reflection, not an academic review. The thinking is informed by research and implementation patterns around reasoning-action loops, reflection, planning, agent tools, handoffs, guardrails, tracing, human approval points, and multi-agent work.
- ReAct: Synergizing Reasoning and Acting in Language Models
- Reflexion: Language Agents with Verbal Reinforcement Learning
- Voyager: An Open-Ended Embodied Agent with Large Language Models
- Tree of Thoughts: Deliberate Problem Solving with Large Language Models
- Plan-and-Solve Prompting
- OpenAI Agents SDK
- OpenAI: A Practical Guide to Building AI Agents
- Anthropic: Building Effective Agents
- LangGraph human-in-the-loop documentation
- AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation
- SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering
