Models, Harnesses, Agents and Orchestrators: The Composable Agentic Stack
I hear a lot about agents these days. Less about harnesses. They’re different things. Or are they?
I asked Claude.ai what harness means to Anthropic:
What “harness” means in Anthropic’s usage: the layer between the model and the world. Tool definitions, the agent loop, permission gates, context management (compaction, sub-agent spawning), session state, MCP wiring. The model reasons; the harness decides what tool calls are allowed, manages what stays in context, and orchestrates handoffs. Claude Code is that harness shipped as a CLI…
Note: For simplicity, as you read on, CC is short for Claude Code and I am considering Agent SDK and CC as the same thing. CC is really just a CLI layered on top of harness primitives from Agent SDK.
Look inside the CC “harness.” You can spawn ephemeral agents on the fly (team swarm, code-reviewer, security-reviewer, etc.), or use formally declared “sub-agents” that have their own configurations and even memory management. Regardless, each CC session always starts with a “main” or default agent. That main agent is responsible for calling on these additional agents by logic or by operator request.
So yes, CC is both harness and agent(s) at the same time. The main agent’s “workspace” is generally whatever folder or sandbox you launch CC from. Spawned agents are ephemeral and don’t really have an existence outside of the main agent. Sub-agents do have an existence outside of the main agent but you cannot invoke sub-agents without first going through the main agent.
So agentic’ish?
Then there are agent orchestrators, like OpenClaw or Hermes. They can use the same underlying models and harnesses but sit at a layer above the harness. But what does this really do for you?
These orchestrators elevate agents from only existing within the harness, to first-class entities that can exist regardless of the model/harness. It makes agents feel much more like a team. Each agent in an orchestrated layer is its own “main” agent. They take on an existence of their own. They can have memory systems owned by you and not explicitly tied to a vendor. They persist across sessions. They’re always directly available. They can feel alive. “My agent did something without me asking!” Just like a teammate.
However, without the best model/harness pairing, the orchestrated agentic experience can fall short of expectations.
Here’s what I’ve found in practice:
Best model/harness pairing is Opus/CC. It continues to get better. It is the most powerful tool I’ve used. It doesn’t feel like a virtual team, but it is really good at solving hard problems.
Best open-source orchestrator is OpenClaw. It too continues to get better, however is only as good as the underlying model/harness. Partnering can provide some insulation for those that don’t want to spend the time staying on top of this. Able Software, my company, is a great option.
For the experience of working with a virtual team that collaborates and remembers, OpenClaw on top of CC was the clear winner, until it wasn’t.
CC can no longer, according to Anthropic’s ToS, be used as a harness in orchestrators like OpenClaw without paying API fees. This prices out a lot of people and small businesses who want human-like agent orchestration with what I consider to be the best model/harness combo.
My current thinking:
A composable agentic stack is the way to go. Pick the best tool at each layer. Replaceable when something better surfaces. For now the best model/harness is Opus/CC. So that is what I focused on. What does that mean?
That means each agent or “virtual employee” runs in its own CC native session, with its own workspace. Officially supported channels for communicating with each agent when I’m away from my desk and for agents to communicate with each other. Put differently, each virtual employee I “hire” gets their own persistent native CC where they are the “main” agent. I have all the benefits of native CC (ephemeral agents, team swarms, tools, skills, etc.) with an OpenClaw-like virtual team experience. Best of both worlds. An amazing tool at solving hard problems that can collaborate, remember and has a personality. All friendly to Anthropic’s ToS. The hard part here is you have to solve the orchestration layer differently to stay compliant with ToS. It is also surprisingly easy to solve for this by just asking CC! Or find a partner to help you or your company.
Using the best model/harness pairing is critical. Compose the remaining orchestrating components around that. Try to be in first position on your memory system as that makes model/harness switching a lot easier. My buddy, Derrick Hicks, has Memory Engine. There are definitely plenty of options to protect your memory system.
The composable agentic stack for the win! At least for now…