I spent years designing software for humans. I graduated from the Human-Computer Interaction Lab at Universität des Saarlandes, where the central question was: how do you reduce friction between a person and a system? Usability, discoverability, error tolerance.
In the last several months, the software I build has different users. Not people. AI agents.
The design discipline did not change. The user did. This is what I think of as the transition from HCI to ACI: from Human-Computer Interaction to Agent-Computer Interaction.
Recent research (Meta-Harness, Lee et al., Stanford University) and Anthropic converge on the same insight: the infrastructure surrounding an LLM, the harness, has as much impact on performance as the model itself.
In HCI, a good interface is intuitive and forgiving. For AI agents, a good interface is clear for tool calling: unambiguous parameters, predictable return structures. You are not designing buttons. You are designing tools.
In HCI, the metric was usability: can a human complete the task efficiently? In agent infrastructure, the metric is token optimization: can the agents complete the task cheaply and fast? Both reduce friction. The user changed.
This leads to what I consider the most consequential design decision in agent systems:
What gets executed by the LLM (expensive, slow) versus what gets executed by the harness (cheap, fast, deterministic).
The LLM should reason. The harness should compute.
Peter Norvig and Russell define an agent as anything that perceives its environment through sensors and acts upon it through actuators. At Saarland University, their book was the core of our AI lecture. Years later, I see clearly that the harness is exactly that definition: the sensors and actuators of an AI agent. It is how the agent perceives and how it acts.
I had spent months building a terminal multiplexer as a side project. When I started building for AI agents, they needed one. That is where this journey started.
The result was a full terminal where the users are AI agents. Instead of rendering pixels, it reports process states as structured terminal data. The same pattern repeated with a headless browser where the output is token-optimized Markdown. The “user experience” is measured in tokens per call, not frames per second.
This field is young. What I have observed is that harness design evolves alongside the model. As models gain new capabilities, the harness adapts. What was a smart optimization today may become an unnecessary tool tomorrow.
This is the first post in a series on building AI agent harnesses. The throughline is the question HCI always asked, applied to a new kind of user: how do you build infrastructure that makes AI agents effective, efficient, and controllable?
The harness is not the agent. It is what the agent runs on.