Tratopedia
繁中
Settings

Text size

Language

Theme

High contrast

Version

v1.184.0

The release this page was built from. It is what the service worker caches under.

Terminology · LLM Engineering · AI Agents · Benchmarking · AI · ExplainerThe term and its practice, October 2022 to September 2026

Third of five · the outermost layer

It Began as Tuning an Agent. By March It Meant Everything but the Model.

On 4 November 2025 Dex Horthy wrote that he was seeing a new practice and would call it harness engineering: applying context engineering to the commands, hooks, skills and tools a user plugs into an existing coding agent. On 5 February 2026 Mitchell Hashimoto, who knew of no accepted term, used the same phrase for something the same size — an instruction file and a few scripts. On 10 March Vivek Trivedy defined it as everything in an agent that is not the model, and that is the sense the encyclopaedia now gives. The literature credits Hashimoto or Trivedy with the phrase; neither credit mentions the earliest post found. What has since been measured is narrower than what is claimed: holding the model fixed and changing only the harness moves scores, by amounts that depend on the model.

Two small uses, then one large definition The phrase was the size of a user's settings twice before it was the size of the agent.

  • 93days from the earliest use of the phrase found to Hashimoto's
  • 33days from Hashimoto's use to Trivedy's definition of everything but the model
  • 13.7points gained on Terminal Bench 2.0 with the model held fixed and only the harness changed, as LangChain reports its own agent
  • 0sources reconciling whether harness engineering contains context engineering or is a form of it
  • Dex Horthy · X · 4 Nov 2025

    “Which I'll call harness engineering”

    The earliest use of the phrase found.

    • His definition: applying context engineering principles to how you use an existing agent — for Claude Code, “the commands, hooks, skills, agents, mcps, etc” a user plugs into it.
    • His question: how do you engineer the integration points of a given agent to get the best results?
    • Four months later the blog of HumanLayer, the company he co-founded, credited Trivedy with coining the term.
  • Mitchell Hashimoto · 5 Feb 2026

    “I've grown to calling this harness engineering”

    The same size, 93 days later.

    • He knew of no broad industry-accepted term, and said he would adopt one if it existed.
    • Two forms, and that is the whole scope: an AGENTS.md in which each line comes from a bad agent behaviour, and “actual, programmed tools” such as scripts for screenshots and filtered tests.
    • The rule it names: when an agent makes a mistake, engineer a fix so that it never makes that mistake again.
  • Vivek Trivedy · LangChain · 10 Mar 2026

    Agent = Model + Harness

    The definition that widened it.

    • “If you're not the model, you're the harness”: every piece of code, configuration and execution logic that is not the model — filesystem, sandbox, browser, orchestration, hooks.
    • He calls the boundary a choice: there are “many messy ways” to draw it, and this one is, in his opinion, the cleanest.
    • The encyclopaedia entry, the curated lists, the research papers and the vendor explainers all use this sense, not the earlier one.
  • Wikipedia · revision of 12 Sep 2026

    “The software infrastructure surrounding a large language model”

    The encyclopaedia's version.

    • It manages “tool use, memory, state persistence, execution environments and feedback loops, as opposed to the model's internal reasoning”.
    • It calls the attribution of the phrase contested between Hashimoto and Trivedy. Horthy is not named.
    • It dates Anthropic's long-running harness post to 2026. The post says 26 November 2025.

How firm is each of these? Sorted from what the posts themselves show to what this page infers.

How firmWhatOn what
Read at sourceHorthy used the phrase on 4 Nov 2025, for context engineering applied to an existing agent's integration pointsHis post on X, timestamped
Read at sourceHashimoto used it on 5 Feb 2026, saying he knew of no accepted termHis own post, dated, written by hand in his words
Read at sourceTrivedy defined Agent = Model + Harness on 10 Mar 2026LangChain's blog, bylined and dated
Self-reported52.8% to 66.5% on Terminal Bench 2.0 with gpt-5.2-codex held fixedLangChain's own agent, reported by Trivedy on 17 Feb 2026. LangChain sells the harness library
Self-reportedAbout a million lines of code and roughly 1,500 pull requests, none written by handOpenAI about its own team, 11 Feb 2026
Contested in printWhether harness engineering is a form of context engineering or contains itFive statements say the first, two the second; see section three
Contested in printWho coined it: HumanLayer and Osmani say Trivedy; Wikipedia says Hashimoto or TrivedyAll three were written after Horthy's post, and none of them names it
Attributed, not checkableOpus 4.6 in Claude Code “scores far below” Opus 4.6 in other harnesses on Terminal Bench 2.0Trivedy's words. The leaderboard no longer lists Opus 4.6, so the gap cannot be read off it
This page's readingThe phrase started user-side and small, twice, before one definition made it everything but the modelAssembled from the dated posts. No source says this

The noun, then the phrase, then the definition, then the research Every date read off the document itself.

  1. Oct 2022The loop, as a paper. Yao and colleagues publish ReAct, in which a model alternates between reasoning and acting. Harnesses since run that cycle: the model reasons, the harness acts and records what happened, the model reads the result.
  2. Feb 2023Tools, as a paper. Toolformer shows a language model teaching itself to call external tools through simple interfaces.
  3. Dec 2024The idea, without the word. Anthropic argues that the agent–computer interface deserves as much effort as the human–computer interface, and tells builders to poka-yoke their tools — change the arguments so mistakes are harder to make.
  4. 23 Sep 2025The noun gets a working definition. Trivedy, on his own blog, defines an agent harness as an external set of functionality that enhances a model's runtime execution — context management, tools, permissions, state, loop control, observability. The phrase harness engineering does not appear.
  5. 4 Nov 2025The earliest use of the phrase found. Dex Horthy posts that he is seeing a new concept emerge, “which I'll call ‘harness engineering’”: applying context engineering to how you use an existing agent. For Claude Code that means the commands, hooks, skills, agents and MCP servers a user plugs into the harness that ships with it. You can't do harness engineering without understanding context engineering, he adds.
  6. 26 Nov 2025The practice, published in full. Anthropic's Justin Young describes a harness for long-running agents: an initializer agent that lays down init.sh, a progress file and a first commit, and a coding agent that does one feature per session. The feature list is JSON because the model is less likely to overwrite JSON than Markdown. Compaction alone is not sufficient.
  7. 23 Jan 2026The noun is ordinary at OpenAI. Michael Bolin, explaining the Codex agent loop, offers it in passing: “the role our agent (or ‘harness’) plays in making use of an LLM”.
  8. 4 Feb 2026No gloss at all. OpenAI's Celia Chen: the web app, the CLI, the IDE extension and the macOS app are “all powered by the same Codex harness”.
  9. 5 Feb 2026The phrase again, for a habit. Mitchell Hashimoto, writing up his own adoption of AI tools, reaches the step he calls Engineer the Harness: he knows of no accepted term, has “grown to calling this ‘harness engineering’”, and would adopt another word if one existed. It means an AGENTS.md whose every line answers a bad agent behaviour, and a few scripts.
  10. 11 Feb 2026The phrase as a title. OpenAI's Ryan Lopopolo publishes Harness engineering: five months, about a million lines of code and roughly 1,500 pull requests written by Codex with no hand-written code, by a team that grew from three engineers to seven. In the body the word harness occurs once, in “Evaluation harnesses”. The figures are OpenAI's own.
  11. 17 Feb 2026A measurement, and a memo. Trivedy reports that LangChain's coding agent went from 52.8% to 66.5% on Terminal Bench 2.0 — from just outside the top 30 to the top five — with gpt-5.2-codex held fixed: “We only changed the harness.” The same day Birgitta Böckeler publishes a first memo on harness engineering, “as the term first appeared”.
  12. 10 Mar 2026The word is made enormous. Trivedy publishes The Anatomy of an Agent Harness: Agent = Model + Harness, each component derived backwards from a behaviour — filesystems for durable state, bash for autonomy, sandboxes for somewhere safe to act, hooks for deterministic control. Thirty-three days after Hashimoto's post, the phrase covers everything that is not the model.
  13. 12 Mar 2026The first credit. HumanLayer, the company Horthy co-founded, calls harness engineering “coined by Viv” — and, in the same post, “a subset of context engineering”.
  14. 24 Mar 2026A principle for taking things out. Anthropic's Prithvi Rajasekaran: every component in a harness encodes an assumption about what the model cannot do on its own, and those assumptions go stale as models improve. With a newer model he removes a whole layer of task decomposition.
  15. 2 Apr 2026The user's side gets a shape. Böckeler's full article splits the harness into guides that steer before the agent acts and sensors that observe after, each computational or inferential, and separates the part of the harness a coding agent already has built in from the outer harness a user builds for it. Her sidebar: a user harness is a specific form of context engineering.
  16. 19 Apr 2026A synthesis, and a second credit. Addy Osmani, on his own blog, reposted by O'Reilly on 15 May: “Viv Trivedy coined the term harness engineering.” He opens with Hashimoto's rule and quotes Trivedy's formula as “Viv's one-liner”, and adds his own: you only add constraints when you have seen a real failure.
  17. May 2026It becomes a research subject. A position paper, 7 May, argues that on long tasks the harness often matters more than the model, and that leaderboards comparing models without disclosing their harnesses mislead. Hailin Zhong and Shengxin Zhu, 13 May, formalise the harness as a runtime substrate with eleven responsibilities and a four-level ladder.
  18. Jun 2026Harnesses that learn. Harness-1, 1 June: a 20-billion-parameter search agent trained with reinforcement learning inside a harness that keeps the bookkeeping out of the model. Self-Harness, 8 June: an agent mines its own failures and edits its own harness, and in all nine model–benchmark pairs tested the result improves, with relative gains of up to 132%. Databricks, 17 June: prompt and context engineering “both live inside harness engineering”.
  19. Jul 2026The ratchet, automated, and the field audited. Phantom Guardrails, 13 July: an automated harness editor, shown only legal runs, adds a guardrail for a failure that never happened in 15 of 60 trials when the input looks like a familiar rule, against 0 of 60 without. A source-code study of eleven production coding harnesses, 15 July, finds that none imports a general-purpose agentic framework.
  20. Sep 2026The encyclopaedia, and the component study. Wikipedia's Agent harness entry, revised on 12 September, still calls the attribution contested between Hashimoto and Trivedy and still dates Anthropic's November 2025 post to 2026. On 17 September a study of 176 matched settings finds that what a harness component is worth depends on the model: planning lifts weaker models' accuracy and mainly saves stronger models money.

Who named it, and the one disagreement still open The dates answer more of the credit question than the credits do. Nothing answers the boundary question.

Start with what is not contested. Since 10 March 2026 the meaning has held still: the encyclopaedia entry, Databricks, Osmani and the research papers all restate Trivedy's definition. Three independently compiled component lists — Databricks' eight building blocks, Zhong and Zhu's eleven responsibilities, a curated list's twelve design primitives — cut the same thing at different grain and nowhere contradict each other.

On who named it, the dates say more than the credits. Dex Horthy wrote on 4 November 2025 that he would call a new practice “harness engineering”. Mitchell Hashimoto used the phrase on 5 February 2026, saying he knew of no accepted term. OpenAI used it as a title on 11 February. Trivedy used it on 17 February and defined it on 10 March. The credits all come later: HumanLayer on 12 March — the company Horthy co-founded — says “coined by Viv”; Osmani on 19 April says the same; Wikipedia calls the question contested between Hashimoto and Trivedy. None of the three names Horthy's post. An earliest use found is not proof of a first use, and this page claims no coinage. What the dates do show is that the argument is being held over two names that were not the first to use the phrase, and that they are credited for different things: Hashimoto for a name for a small practice, Trivedy for a definition of a large one.

What is contested is the boundary. Databricks: prompt and context engineering “both live inside harness engineering”. Wikipedia: the harness “contains the other two as parts”. On the other side stand five statements. Horthy's first use defined harness engineering as applying context engineering principles to an existing agent. Trivedy wrote in February that part of harness engineering is building “a good delivery mechanism for context engineering”, and in March that harnesses today are “largely delivery mechanisms for good context engineering”. HumanLayer calls it “a subset of context engineering”. Böckeler: engineering a user harness for a coding agent is “a specific form of context engineering” — and Wikipedia cites her for the containment sentence. A reading, and only a reading: the subset side is the sense the phrase was first used in, and the container side arrived with the March widening. No source reconciles the two, and this page does not invent a consensus nobody published.

The paper trail is young and it slips. Wikipedia's reference for Anthropic's long-running harness post gives the year 2026; the post is dated 26 November 2025, three weeks after Horthy's use and before every other use of the phrase found. That date is the reason the post matters, and the citation loses it.

  • 93days between the earliest use of the phrase found and the use the encyclopaedia names first
  • 1occurrence of the word harness in the body of OpenAI's post titled Harness engineering — in “Evaluation harnesses”
  • 5 : 2statements in print putting harness engineering inside context engineering, against those putting context engineering inside it

What you actually build Böckeler gives the shape; Anthropic and OpenAI give worked examples.

  1. 1Put guides in front of the agentFeedforward controls: instruction files, skills, a bootstrap script, code mods. They steer before the agent acts. Böckeler's warning: a harness with only these encodes rules but never finds out whether they worked.
  2. 2Put sensors behind itFeedback controls: tests, linters, type checkers, a reviewing agent. A sensor should write for its reader — a linter message that tells the model how to fix the problem is, in Böckeler's words, a positive kind of prompt injection. OpenAI does the same with custom lints whose error messages carry the remedy. A harness with only sensors repeats its mistakes.
  3. 3Know which of the two kinds each control isComputational controls are deterministic and fast — tests, linters, structural analysis, milliseconds to seconds, reliable. Inferential ones are semantic — AI review, “LLM as judge” — slower, dearer and non-deterministic. Cheap computational sensors can run on every change; inferential ones have to earn their place.
  4. 4Write the state down where the model will not eat itAnthropic's worked example: a feature list of 200-plus end-to-end descriptions, all starting as failing, that agents may change only by flipping a passes field — JSON rather than Markdown, because the model is less likely to overwrite JSON — plus a progress file and a commit at the end of every session. OpenAI keeps its AGENTS.md to about 100 lines and treats it as a table of contents into a docs/ directory.
  5. 5Ratchet every mistake into a rule — by handHashimoto's rule: when an agent makes a mistake, engineer a fix so it never makes it again. Osmani adds the brake: only add a constraint once you have seen a real failure. Automated, the brake slips — an automated harness editor shown only legal runs invented a failure and added a guardrail for it in 15 of 60 trials.

Does any of it work? The evidence, graded Three hold the model still and measure. One argues. One changes the model too.

The claimHow it was measuredWhat it is worth
Terminal Bench 2.052.8% to 66.5%, 13.7 points, on 89 tasks, with gpt-5.2-codex held fixed and the prompt, tools and middleware changedThe right shape. Self-reported by LangChain about its own agent; LangChain sells the harness library. Reasoning budget alone mattered too: 53.9% at the highest setting against 63.6% one step lower, because of timeouts
Self-HarnessThree models from different families, three benchmarks; the agent edits its own harness, and an edit is kept only after regression testsAll nine combinations improve, relative gains up to 132%. Model fixed; a preprint, read at its abstract
176 matched settingsA fixed loop with planning, tools and context management varied, four models, two coding benchmarksWhat a component is worth depends on the model. Planning lifts weaker models' accuracy and mainly saves stronger ones money; models good at bash do as well with bash alone, for less. A preprint, read at its abstract
Harness against modelA position paper: a formalisation, published results and a variance decompositionArgues harness-induced variance can exceed model-induced variance, reversing model rankings. An argument, not a new measurement; read at its abstract
OfficeQA Pro52.63% with GPT-5.5 and the harness, “up from 36.10% with GPT-5.4”Does not isolate the harness — the model changed in the same step. And “cutting errors nearly in half” does not follow: 63.90% to 47.37% is about a quarter

The comparisons that hold the model fixed are the ones that matter, and it is worth being precise about why. Nearly every source here asserts that the harness matters as much as the model or more, and most of them sell something. A comparison that holds the model still and varies only the harness is not an assertion — it is the experiment the claim needs. LangChain's is self-reported; Self-Harness and the component study are preprints read at their abstracts. Together they support a narrower claim than the advocacy makes: the harness moves scores, and how much a given piece is worth depends on which model is inside it. Databricks' figure, which changes the model and the harness together, cannot show even that.

The field also argues against itself, and those arguments are worth more than its advocacy. Trivedy, who defined the discipline, writes that as models get better at planning, self-verification and long tasks, work now done by the harness will move into the model — “harnesses should matter less over time”. He names a second problem: coding agents are post-trained with their harnesses in the loop, so models become more capable inside the harness they were trained in, and changing a tool's logic can make them worse. He calls that overfitting. Anthropic's Rajasekaran puts the maintenance side plainly: every component encodes an assumption about what the model cannot do, and those assumptions go stale — so a harness has to lose parts as well as gain them.

The newest research adds two cautions. A study of eleven production coding harnesses found that none imports a general-purpose agentic framework: the field runs on hand-rolled loops, whatever the framework vendors sell. And the ratchet at the heart of Hashimoto's rule — every mistake becomes a permanent rule — has a failure mode once a machine runs it. Shown only legal runs, an automated harness editor invented failures and added guardrails for them; inside a loop that only adds, a phantom guardrail, once in, stays.

  • 13.7points gained with gpt-5.2-codex held fixed — LangChain's own figure for its own agent
  • 15/60trials in which an automated harness editor added a guardrail for a failure that never happened, when the input resembled a familiar rule; 0/60 when it did not
  • 0 of 11production coding harnesses whose runtime imports a general-purpose agentic framework

What to take from this Five things, in the order they matter.

A word can change size faster than it changes meaning

Twice the phrase was used for something small and on the user's side: Horthy's integration points in November 2025, Hashimoto's instruction file and scripts in February 2026. On 10 March Trivedy attached it to everything that is not the model, and the definitions written since start from his. Nobody disputed the widening; it simply displaced the earlier sense.

Hold the model still, or you have measured nothing

The claim that the harness matters is now backed by comparisons of the right shape — LangChain's self-reported 13.7 points, Self-Harness's nine of nine, a 176-setting component study. They also say something the advocacy does not: the same component helps one model and merely saves money with another. A figure that changes the model and the harness together, like Databricks', shows neither.

Earliest found is not first, and credit is two questions

The literature argues over Hashimoto and Trivedy. The earliest use found is Horthy's, 93 days before Hashimoto's, and none of the credits mentions it. The two usual names answer different questions anyway: who put a name to a small habit, and who defined the large thing it now means.

Ask which nesting someone means

The definition is settled; the boundary is not. Databricks and Wikipedia put prompt and context engineering inside harness engineering. Horthy, Trivedy himself, HumanLayer and Böckeler put harness engineering inside context engineering, or call it its delivery mechanism. Both readings are in print, neither is reconciled, and a claim about scope means different things under each.

Every rule is an assumption with a shelf life

The ratchet adds a rule for every mistake. Anthropic's advice is the other half: every component encodes an assumption about what the model cannot do, and should come out when the model can. Trivedy expects harnesses to matter less over time. And an automated ratchet has already been caught adding rules for failures that never happened. A harness that only grows is not being engineered.

What could not be verified

Unconfirmed report — that on Terminal Bench 2.0 Opus 4.6 ranked about 33rd inside Claude Code and about 5th inside another harness, give or take four places. HumanLayer gives the ranks, restating Trivedy, who says only “far below”. The leaderboard no longer lists Opus 4.6, and no other account of the ranks was found.

Take-home and sources

  • Yao et al., ReAct, arXiv (6 Oct 2022)
  • Schick et al., Toolformer, arXiv (9 Feb 2023)
  • Erik S. and Barry Zhang, Anthropic (19 Dec 2024)
  • Vivek Trivedy, vtrivedy.com (23 Sep 2025)
  • Dex Horthy on X (4 Nov 2025)
  • Justin Young, Anthropic (26 Nov 2025)
  • Michael Bolin, OpenAI (23 Jan 2026)
  • Celia Chen, OpenAI (4 Feb 2026)
  • Mitchell Hashimoto, mitchellh.com (5 Feb 2026)
  • Ryan Lopopolo, OpenAI (11 Feb 2026)
  • Vivek Trivedy on X (17 Feb 2026)
  • Vivek Trivedy, LangChain (10 Mar 2026)
  • HumanLayer (12 Mar 2026)
  • Prithvi Rajasekaran, Anthropic (24 Mar 2026)
  • Birgitta Böckeler, martinfowler.com (2 Apr 2026)
  • Addy Osmani, AddyOsmani.com (19 Apr 2026; O'Reilly Radar, 15 May 2026)
  • Zhang et al., arXiv (7 May 2026)
  • Hailin Zhong and Shengxin Zhu, arXiv (13 May 2026)
  • Jiang et al., Harness-1, arXiv (1 Jun 2026)
  • Zhang et al., Self-Harness, arXiv (8 Jun 2026)
  • Databricks (17 Jun 2026)
  • Wang et al., Phantom Guardrails, arXiv (13 Jul 2026)
  • Barbaste et al., arXiv (15 Jul 2026)
  • ai-boost, awesome-harness-engineering, GitHub
  • Agent harness, Wikipedia (revision of 12 Sep 2026)
  • Fan et al., arXiv (17 Sep 2026). All read 28 Sep 2026. This term is one of five covered by the standing topic LLM engineering, which sets it beside the other four.

Versions

This document is rewritten when what it says has to change. Every version stays published at its own address.

  1. v0002 current
  2. v0001 superseded

The current version is also at latest/.