I've been hearing the word "harness" thrown around a lot lately. I assumed it just meant "the IDE" or "whatever app is running your agent." Turns out, it goes a little deeper than that.

So I sat down with @greggyb and asked him to explain it from the ground up: what an LLM actually does, what turns it into an agent, and where the harness fits into all of it.

What's in the video

Simon Willison's definition of an agent: an LLM with tools, running in a loop to accomplish a goal

What "tools" really means under the hood, and how function calling lets an LLM pull in context it wasn't trained on