Let's jump back one step further, to better understand how the LLMs which operate in harness software work:
The brains behind AI products such as ChatGPT, Claude, and Gemini were created by training a statistical algorithm program to predict the next most likely word, to follow after any given series of input words. The results of this training are stored in billions/trillions of 'parameters', which are like little knobs which collectively adjust how any given input will be transformed into a selected output.
Companies such as OpenAI, Anthropic, Deepseek, Google, and others, spend many millions of dollars running this astronomically long statistical pre-training process, to build 'base' LLM models which are surprisingly capable of producing a next word which is actually meaningful within the full context of all the words that came before. By 'meaningful' I mean, for example, that a base model will not just provide the response 'the butler did it' because that is statistically most common, but instead will provide an answer such as 'the professor did it', in a case where that response makes more sense, given the meaningful arrangement of related words in a particular murder mystery text.
Pretrained base models aren't really good, however, at answering questions. Instead, they just continue the text which would be best expected after any given input text, by reflecting on all of the words that exist in an input submission, in the order/context they appear.
To turn a base LLM into a actually useful thinking machine for users, additional stages of 'post-training' are required. In the post-training phases, the algorithm program is basically fed millions of question and answer pairs, so that the model parameters learn the general shapes of question and answer inputs, and begin to naturally provide answers, whenever inputs in the shape of questions are submitted.
This tendency to produce answer responses to questions, after seeing many answers provided, following questions, is simply an extension of how the algorithm learns from the patterns in input data. Otherwise, if a base LLM saw the question 'The capital of France is ___" repeatedly in quiz texts in training data, for example, it might be more likely to simply output the rest of the surrounding quiz questions, instead of an answer, because it doesn't know to do anything else except continue text with the next most likely words it has seen in training data.
Post-training question and answer pairs traditionally are groomed by the scientists who create an LLM. Not only do these training steps make the LLM recognize the 'shape' of question and answer input patterns, they also train the model to answer with particular flavors, and with preferred sorts of responses, when a certain type of input is provided by the user. Researchers provide question and answer pairs which train the model to provide safe responses, and responses which reflect a responsibly crafted 'constitution' - a general character/nature which the scientists intend the model to exhibit. They provide millions/billions of examples of that behavior, within the post-training text corpora.
Post-training also often involves automated 'reinforcement' learning, where the models learn to simply try millions/billions of trial and error self-play iterations, to solve problems. These iterations are rewarded positively when they find the correct solutions to math, programming, and other tasks which have verifiable, correct answers. This sort of self-play enables the models to learn in ways which go far beyond the data that humans prepare manually. It can in fact lead to capabilities which surpass human ability, because the models are able to learn from patterns which evolve through absolutely enormous volumes of trial and error tests (many more iterations that any human could perform in a lifetime).
Post-training routines come as close to 'programming' a model to respond in a prescribed way, as is currently possible. This sort of training, based on providing a corpora of repetitive pattern shapes, however, still isn't programming, in the way that traditional software is specifically formed from hard algorithmic rules defined by human engineers. LLM parameter settings instead emerge stochastically from training based on statistical pattern matching processes - instead of being built deterministically. For that reason, we often say that LLMs are grown, rather than built. AI models simply learn to respond, according to patterns that they find in training data. These patterns can be incredibly deep and meaningful, but they are still just predicted output based on enormously vast collections of groomed input data.
So, a fully trained model simply accepts input data, and predicts the best most likely output data, based on its training. It does not remember anything about previous questions which have been entered by a user.
LLMs are known to grow 'emergent' capabilities. They learn to translate languages, complete mathematical problems, and write software code, for example, without being programmed via any human-specified deterministic rules. As models grow in parameter count, and are trained on larger data sets, they tend to grow more complex and useful emergent capabilities. No one knows exactly why or how all these emergent capabilities are formed, because no human has ever written code to make them develop - they just appear within the output of a machine made to produce the next most likely word, following a sequence of input words. It was just noticed that useful emergent capabilities tend to grow with scale, so we keep building bigger LLMs.
And that's where the ability of models stop, and the agent harness applications pick up.
The chatbots that everyone got to know at the beginning of the LLM era, with tools such as ChatGPT, were simply pieces of software which enabled users to type in a prompt which was sent to an LLM, and after the model responded, it enabled the user to type in a new prompt, and that entire conversation history was sent back to the LLM, to provide another response. That loop just continued repeatedly. In this way, chatbots can be very simple pieces of software.
So, the earliest agent harnesses were like chat loops which simply added the ability to work with files, operating-system commands, and other tools. Modern harnesses build much more orchestration around that basic idea, and the industry is working to expand those capabilities in many ways.
We have extremely intelligent models which, because of emergent capabilities born from enormous scale training routines, can reason though contexts of 1 million+ tokens (tokens are approximately 3/4 of a word), write code, and understand how to solve complex conceptual challenges - and we have many harness applications which give those brains some mix of abilities to work with files and the operating system where the harness runs. They provide well established ways of calling software tools, saving and loading instructions, and remembering information which needs to be recalled across prompt sessions.
Those are the basic pieces of every big chat and agentic system you've seen. Models cost millions of dollars to train, and require massive GPU computing power to produce, but you can build your own agent software with a few hundred lines of code.
Learning how to interact with LLMs, so that they have all the tools required to respond to a prompt, with useful tool call output, generated code, and plans to work across many prompt iterations, is what makes it possible to solve very complex problems with LLMs - much more than can be accomplished in a chat loop. A harness application is required to give the LLM agency to work with a surrounding operating environment - but you're still always reliant on the intelligence of the model to come up with intelligently reasoned responses, code, tool calls, documentation, etc., to get a job completed. You always need a smart enough brain to provide any sort of useful output.