upvote
Maybe ”agent shell” could be a better term for harness. But it’s pretty overloaded..
reply
Harness = the software the agent runs on. This is plain old software. You can trust it as much as any software. Agent = the thing that runs on the harness. It cannot be trusted because it is driven by an LLM
reply
I get that, but wouldn't that make the agent and the harness two very different things, with the agent being closer to a model (the source of the agent) than a harness? Somebody else mentioned a console/game analogy, with the model being the disc, the agent being the running game, and the harness being the console OS, wouldn't it be like me describing Windows as a game, because games run on it?
reply
deleted
reply
I think "harness" is a thing, the code/binary, and "agent" is a process, an instantiated run of that code/binary with a given LLM/env, etc.

So its like, "GTA 6" as the disc vs. the specific game you're in the middle of being chased by cops, harness vs agent.

In practice they're intertwined and it becomes hard not to use the terms somewhat interchangeably, but "you ask the agent how the harness works" vs. the other way around, clearly.

reply
Wouldn't the disc in that analogy be the model? Thats the source of the instance. The harness I guess would be the OS of the console running the game
reply
It's more like in that analogy, the LLM is the gamer, instantiated as agent within a given game.

And the virtual world of GTA 6 is actually your codebase/env, the cops chasing are the bugs/angry customers, etc. The harness is providing an accurate/efficient ability for the model to understand/interact with the virtual world, flee the cops, etc. Decomposed at various architectural boundaries per your taste, but that's like loading a skin on the engine.

reply
That doesn't seem right, surely the gamer would still be you, since you interact with the agent through the harness. If the player is the LLM, what is the human in this analogy? I guess a harness doesn't necessarily need human input (most do of course, but thats not a technical limitation), but then again neither does a game for the same reasons

Regardless though, this is what I mean, we now have 3 definitions for an agent; an instance of a model (which is how I think of it), a model configuration for a given task (from another commenter) and your definition which appears to be somewhere between the two, though it seems we agree with what a harness is.

reply
[dead]
reply
"Harness" should describe the overall system. The user interactions are increasingly negligible (due to model routing, adaptive reasoning, etc). "Agents" are the tool lists/settings provided to the model, etc.
reply
harness + llm = agent
reply
Nowadays most “LLM” endpoints include some sort of server side harness as well, and I’d bet more than one model involved, so it’s really just agents all the way down
reply
I personally like the way Scion breaks it down into

- model

- harness (tools/config)

- agent (live/running)

https://googlecloudplatform.github.io/scion/concepts/

Scion allows for multiple configurations of a harness, allowing you to configure the same tool differently based on what you are doing, particularly important when you want to restrict permissions.

https://googlecloudplatform.github.io/scion/supported-harnes...

for the unfamiliar, Scion is an OpenClaw like platform from a Google dev, not supported or sponsored by the company

reply