The three things
Think of the model as the brain, the harness as the body, and the environment as the world the agent lives in. The model decides. The harness gives the model hands: tool calls, memory, the loop. The environment is everything the harness can touch: files, APIs, the clock, your CRM.
Why people conflate them
When an agent misbehaves, most people blame the model. The model is usually fine. The harness is giving it the wrong context, or the environment is returning something the harness cannot parse. Precise blame fixes problems faster.
A quick diagnostic
If the same prompt produces different answers across harnesses, you have a harness problem. If the same harness fails for one workflow and works for another, you have an environment problem. If the model cannot reason at all about the task, then it's a model problem. That order matters.