Google opens Harness², which tunes your coding agent, not the model

The Apache-2.0 framework edits an agent's prompts, memory and tools per task — lifting a weaker model past a stronger one, if you cage its network first.

Nowline OCT 19 2:00 PM banner

Top AI stories from the last hour

Top AI stories from the last hour

Copy markdown

  • The pitch: fix the scaffolding, leave the model frozen

    Harness² (Google Cloud AI Research, Apache-2.0, 5.1k stars) treats the eight parts around a model — system prompt, guardrails, memory, skills, tool guidance, scripts, subagents and a middleware plugin — as editable, and rewrites them per task while the weights never change. It drives your agent inside OpenCode (the default) or Codex.

  • The proof: a cheaper model, re-harnessed, clears a frontier bar

    One optimization step took GLM-5 in OpenCode from 64.2 to 75.7 on WorkBuddy-Bench (79.6 at k=5), past unmodified Gemini 3.5 Flash at 72.4. Google reports gains up to +11.5 points there and +11.8 on Harvey's LAB, all with model weights untouched.

  • How it rewrites itself: two loops and an EXPERIENCE.md

    Per task, an editor model (the paper used Claude Opus 4.8) proposes one general and one domain-specific edit, runs both against the current harness, and keeps what measurably wins. Across tasks it banks winners in a library, each with an EXPERIENCE.md logging when it worked — so later runs start from earned lessons, not a blank slate.

  • Run it tonight — after you cage the network

    harness2-demo --output runs/demo --k 2 runs both recursion modes with no model credentials; real runs want Python 3.12, Node 20+ and Vertex AI. The catch: v0.1.0 gives the agent unrestricted network access and runs Codex with its sandbox off, so Google says restrict the network and keep it away from company data.

  • Why it matters: the lever moves from model to harness

    If a tuned harness lets a cheaper open model beat a pricier one, your edge shifts from which model you buy to how well you scaffold it — and that scaffolding is now forkable code, not a hand-tuned prompt. Mind the bill, though: each step reruns the task several times, plus editor, selector and grading calls.