Search papers, labs, and topics across Lattice.
This paper establishes a clear and operational definition of "agent harness" within the context of generative AI, addressing the term's ambiguous usage in software engineering. Through a comprehensive conceptual analysis and historical reconstruction, the authors delineate the necessary and sufficient conditions for a system to qualify as an agent harness, effectively distinguishing it from related concepts such as agent frameworks and evaluation harnesses. The resulting definition is rigorously tested against six real-world examples, providing a consistent framework for both engineering practice and academic discourse.
A precise definition of "agent harness" clarifies its role in AI systems, enabling more effective engineering and research comparisons.
The term agent harness now circulates widely in software engineering with generative artificial intelligence. It names the layer that wraps a language model and turns it into a coding agent able to act on a repository. The usage is loose and polysemous. Sometimes the term denotes the whole product (Claude Code, Codex CLI); sometimes it denotes the evaluation scaffold that runs an agent against tasks (the SWE-bench harness); sometimes it gets conflated with an agent framework, an SDK, an IDE plugin, or an orchestrator. What is missing is a reference definition that works as an instrument, one that includes and excludes cases consistently. We build that definition through a conceptual analysis that combines works with persistent identifiers and primary grey-literature sources, such as official documentation, glossaries, and engineering reports. We reconstruct the genealogy of the term, from the horse's tack to the classic test harness, to the machine-learning evaluation harness, and finally to the agent harness. We then propose a constitutive definition that states the necessary and sufficient conditions for a system to be an agent harness, we operationalize it as an inclusion and exclusion test, and we draw the boundary of the concept against an agent framework, an agent SDK, an IDE plugin, an eval harness, and an orchestrator. We apply the definition to six real harnesses (Claude Code, Codex CLI, Aider, Cline, OpenHands, and SWE-agent) and to deliberate edge cases; the test includes and excludes consistently. We close with a research agenda organized by design tension axes. The contribution is an operational definition of agent harness, with a shared vocabulary, able to guide engineering practice and the scientific comparison of agentic systems.