Agent, Harness, LLM: Which Layer Do These Products Actually Live On?
Breaking the LLM, Agent, Harness, and Agent Product into four layers, then comparing the common agent products on the market to make clear which layer each one stands on.
Over the past year the word “agent” has been appearing more and more densely. Claude Code, Codex, Cursor, Devin, Manus — name after name. But listen long enough and you realize people often aren’t talking about the same thing. Some are talking about a model, some about a system that can do work on its own, and some about an already-packaged product. I want to lay out these layers separately, the way I understand them.
The LLM Can Only Sit Inside an Input Box
The innermost thing is the LLM. It can do a fair amount. Give it text, images, or audio, and it replies with text; some models today can even draw or speak directly. But all of that output stays on its own side. It has no hands — it can’t open a browser, can’t edit a file, and can’t send a message out to anyone. During training it may have read half the internet, but in that moment it’s still locked inside an input box. I think of it as a brain soaking in a jar: it can think, but it can’t touch the world outside the jar.
An Agent Is a Set of Limbs Attached Outside the Brain
An agent is a pair of hands and feet attached outside that brain. The way it’s attached is by letting the model call tools. The model outputs “I want to look at this file,” the program outside actually reads it, sends the content back to the model, and the model decides the next step. This round-trip process has a name — ReAct, which breaks down into reasoning and acting. A full loop is usually four steps: the model thinks first, decides what to do, the tool executes, the result comes back, and the model reasons about the next step based on the result. The more complex the task, the more loops it turns.
Tools are the hand the agent reaches out with — that’s what says it can act. Where that hand comes from, how far it can reach, and how to pull it back when it swings wrong all fall to the next layer.
There’s one thing to be clear about here. The word “agent” is very messy right now. The agent I’m describing in this section refers only to the model-plus-tools loop. What many people call an agent actually already includes the harness. When you hear someone use the word, it’s best to first clarify which part they mean, otherwise you’ll easily talk past each other. When I chat with friends about tool calling and memory management, I often find we’re talking about two unrelated things.
The Harness Is the Body Outside the Brain
One layer further out is the Harness. There’s no Chinese translation everyone has settled on for this word yet; for now I’ll call it the body, or a kind of operating system. It manages everything outside the brain.
The tools themselves belong to the agent, but how tools get registered, how they’re authorized, and how many the model can see at once all belong to the harness. How skills are organized and which segment gets loaded when; when a conversation grows too long to remember, which parts to compress and which to drop; how the user gives instructions, cuts in mid-way, and in what form results come back; how to retry and how to stop when a tool call fails or the model goes off track. These are all runtime jobs, and they’re all in the harness layer.
To tell them apart in one sentence: the agent decides what to do, and the harness decides how that thing gets done reliably. The same model paired with the same set of tools will produce two different things under different harnesses.
The same model, installed into different harnesses, can feel very different to use. Some products don’t score that high on the model, but the harness is polished smooth, so in daily use they’re actually more dependable. The harness is the most time-consuming of these layers; the model changes generation every few months while the interfaces stay roughly the same, but after you swap one in, the prompts and the way tools are written often have to be readjusted all over again — it’s not as easy as just swapping.
OpenClaw had an update that turned off direct HTTP and left only HTTPS plus authentication. It didn’t lose any features and the model didn’t change, but my control client on the LAN NAS suddenly couldn’t reach it, so I had to set up my own internal DNS forwarding plus reverse proxy to get around it. The problem was in it and the outer interface — that is, in the harness layer. That kind of pitfall can’t be dodged just by swapping the model.
Agent Product Is a Robot That’s Already Been Built
The outermost layer is the Agent Product, a robot that’s already been built. It takes an agent, or agent plus harness, as its core, wraps it in an interface, permissions, and a specific scenario, and hands it to the user. When you use it in some scenario, it can break down tasks itself, decide the next step itself, and execute itself, without you watching over it. Claude Code is a robot built specifically for writing code, Manus is a robot for all kinds of odd jobs, and OpenClaw is more like a personal butler who stays by your side long-term. Their differences can all be traced down to those earlier layers.
Common Agent Products on the Market
I roughly categorized the common agent products on the market. The “type” column used to mix up scenarios and layers; here I split it into two columns — one for who it’s for, and one for which layer it mainly gives you.
| Product | Scenario | Layer | Plain-language analogy | Core strength |
|---|---|---|---|---|
| Claude Code | Coding | Product | Senior programmer colleague | Strong code understanding, strong engineering ability |
| Codex | Coding | Product | OpenAI programmer | Strong reasoning, strong software engineering ability |
| OpenCode | Coding | Agent + Harness | An AI programmer robot you can modify yourself | Open source, customizable, good for research |
| Cursor Agent | IDE | Product | A programmer sitting inside the editor | Great experience, easy to get started |
| Trae | IDE | Product | AI programming workbench | IDE integration, Chinese-language experience, multi-model support |
| Devin | Coding | Product | Outsourced programmer | Strong autonomous execution |
| Grok Build | Coding | Agent + Harness | xAI programmer | Grok capability plus a Coding Agent |
| OpenClaw | Personal | Harness + Product | Your personal Jarvis butler | Extensible, long-running, skill system |
| Hermes Agent | Personal | Harness / Framework | A self-cultivated AI butler system | Open source, high degree of freedom, can self-update and summarize into skills |
| Grok Bot | General | Product | Cloud AI employee | Ready out of the box, runs in the cloud |
| Manus | General | Product | All-purpose outsourced employee | Multi-step task execution |
| WorkBuddy | Work | Product | Company AI assistant | Optimized for office work |
| DeepSeek Harness | Developers | Harness / Runtime | A toolbox for assembling your own robot | Can build your own Agent |
In the “layer” column, I mean which layer it mainly hands to you. Open-source ones like OpenCode and Grok Build give you the agent loop and the harness together, with the model you attach yourself and the tools you modify yourself. Ones like Claude Code, Codex, and Cursor hand you an already-tuned finished product that you use directly to get work done. Hermes Agent and DeepSeek Harness sit lower, selling the set of things that let you assemble a robot yourself.
There’s another thing that’s easy to confuse when looking at this table. Some in the same Coding column give you only an agent loop, while others are already finished products with a complete harness. The names look similar, but they stand in different places.
When I use these four layers to check a product, what I mainly want to know is what it actually solves. Is it that the model itself got stronger, or that it gave the model a pair of usable hands and feet, or just that it wrapped a general-purpose core in the shell of some scenario? These three cases feel completely different in use. Some product launch events demo very impressively, but when you actually try it, the tools break after one call — most likely the harness hasn’t kept up. Some models aren’t top-tier, but the product is finely polished, so in daily use they’re smooth instead.
Next time I see an unfamiliar agent product, I’ll first figure out which layer it stands at, and who’s doing the work of that layer.
Comments