← Back to context

Comment by LoganDark

2 days ago

A harness is the tooling around an LLM that uses its responses to do work. For example, let's say a harness sends your message to the LLM and the LLM emits a tool call - the harness is responsible for processing that tool call, executing the tool, and then sending its response back to the LLM to get more of its turn. The harness is responsible for keeping the conversation history to send back to the LLM each time it needs more completion. The harness is responsible for displaying the user interface that allows you to send instructions to the LLM or configure MCP servers or whatever. Claude Code is a harness, Pi is a harness, OpenCode is (technically) a harness, it's basically the LLM "client". The model is what generates the completions itself, but the harness is how you invoke it. And generally when people say "agent" they mean the harness hooked up to some model.