An AI coding agent is a program that takes a goal, decides on its own which files to read and which commands to run, does them, looks at the results, and repeats until the job is done or it gets stuck. The model is one component. The interesting part is the loop around it.
That distinction is not pedantry. It explains nearly everything people find surprising about these tools - why they are expensive, why they sometimes go badly wrong, and why "the model got better" does not automatically mean your agent got better.
The loop
How that differs from autocomplete
| Autocomplete | Chat assistant | Agent | |
|---|---|---|---|
| You give it | A cursor position | A question | An outcome |
| It sees | Nearby code | What you paste | Whatever it decides to open |
| It can | Suggest text | Suggest text | Change your files and run commands |
| Takes | Milliseconds | Seconds | Minutes |
| Fails by | Suggesting nonsense you ignore | Being confidently wrong | Doing the wrong thing to real files |
That last row is the one to sit with. An agent's failure mode is not a bad suggestion - it is an action. Which is why every serious agent has a permission model, and why the ones that ask nothing are the ones to be careful with. How a tool handles that is one of five things worth comparing.
Why does a better model not automatically mean a better agent?
Because most of what determines the outcome happens outside the model: which files got opened, whether the test output was passed back in full or truncated, whether the agent remembered what it learned three steps ago, whether it was allowed to run the command it needed.
A strong model on a weak harness loses to a mid-tier model on a good one, routinely. The harness is the product.
What they are genuinely good at
Work that is tedious but checkable
Migrations, renames across a codebase, adding tests to existing behaviour, converting formats. The task is clear, and success is verifiable by running something.
Work you could do but keep not doing
The script you have needed for months. The report nobody has time to assemble. Agents are best where the bottleneck is attention rather than skill.
And what they are not
They are also prone to five specific failures worth learning to recognise. And they are bad at problems where the goal cannot be checked. If neither you nor the agent can tell whether the result is right, the loop has nothing to converge on and it will happily produce something plausible and wrong.
They are also bad at reading your mind about intent. "Make this faster" without a measurement is an invitation to optimise the wrong thing convincingly.
If you are starting today
- Pick a task you can verify. Something with a test, a build or an obvious visual result.
- Write down what "done" means before you start. This is the single biggest predictor of whether it goes well.
- Watch the first few runs. Not to babysit - to learn where it goes wrong, which is what tells you what to put in your instructions.
- Then write the instruction file. Conventions, what not to touch, how to verify. It is the single most useful thing you will write, and it survives a change of tool.
Did that land?
Three questions on the idea, not the vocabulary.
What most distinguishes an agent from a chat assistant?
The loop of acting and observing is the whole difference. Model size and interface are incidental; plenty of agents run in an editor, and plenty of chat assistants use frontier models.
Which task suits an agent best?
Agents thrive where success is checkable. Existing behaviour gives a definition of correct and a test run gives a verdict. The other three have no signal the loop can converge on.
Why can a mid-tier model on a good harness beat a frontier model on a poor one?
The model only sees what it is given. Which files were opened, whether the error came back whole, whether the agent could run the command - all of that is harness work, and it determines most of the result.
Sources
Try one on real work
W1 is an AI coding agent for desktop, VS Code and the terminal. Free during beta, and your project stays on your machine.
Download free beta