An Empirical Study of Harness Design for Coding Agents

(arxiv.org)

96 points | by wek 2 hours ago

6 comments

  • gps372 1 hour ago
    Haven't gone through full PDF as its very detailed, few things have resonated with me so far.

    Basically if a Car A is performing better (be it speed, milage or in general sense) than Car B, then it is not necessarily because its engine. It could be because of better tires, better gearbox, lighter body, better usability of features, etc.

    You can implement an AI feature (like AI for BI) in different ways even with the same model - via ReAct-loop, or plan-and-execute, or hybrid. You can make it stateless, stateful, RAG-based, etc. depending upon whether you want to prioritize result accuracy or depth of analysis. You can use LLM to generate either intent (requires lesser reasoning) or the queries itself (requires much more capable model).

    Your harness can adapt to the underlying model's native capabilities, or can make up for its absence, e.g. query generation in above example requires your model to have MOE capabilities but intent generation wouldn't.

  • vblanco 43 minutes ago
    This is done on Nemotron models + mistral, so its not very relevant to the current frontier of cheap chinese models + big models from Claude/GPT. Big miss not having qwen or deepseek in this research.
    • dsiegel2275 26 minutes ago
      The focus of the study was the different harness approaches and how they scale across model sizes. The fact that they used any particular set of models is irrelevant.
      • klooney 6 minutes ago
        I'm not totally convinced that models are fungible, the claudes/gpts/Gemini all have pretty individual feels when you're working with them. I wouldn't be surprised if the approaches don't scale or even work the same in a poly model setup
      • shermantanktop 21 minutes ago
        Agree. Harnesses are effective because they interact with the underlying model effectively. If the latest models were fundamentally different, excluding them would be a miss. But I don’t think they are, at least not in ways that would affect these observations.
        • svachalek 15 minutes ago
          I think the confounding issue is that by now, millions of sessions of Claude Code and Codex are now in the training set for these models. So they have been trained to work the way these harnesses are configured, and at least in the case of Claude Code the harness itself is greatly stripped down because the model has absorbed it.
      • hiddencost 20 minutes ago
        Nope. Sorry. Not how this works.
        • bjelkeman-again 14 minutes ago
          How does it work then?
          • belowavgiq 3 minutes ago
            I'm going to cherry pick one example where newer models are noticeably improving at least in my experience.

            What is a noticeable improvement with something that struggles to read a message longer than 200 characters without missing information in the middle, may be a 0.000000001% improvement with a model that... does not do it in the first place.

  • embedding-shape 1 hour ago
    The conclusions:

    > Planning improves success at additional cost for weaker models but mainly reduces cost, with small decreases in success rate, for stronger models.

    > Predefined tools raise success rates for models with weak bash control, whereas bash-only yields higher success at lower cost for bash-capable models, most clearly on shell-centric task types.

    > context management extends execution trajectories without substantially altering agent behavior and is most beneficial under tight context budgets

    > planning sustains the trajectories of models that abandon tasks too early and trims repeated verification in models that verify too long

    > structured tools support models with limited shell proficiency, while bash-only enables capable models to combine multiple code modifications in a single tool call

    Seems fairly intuitive to me, based on feeling. But also fairly kind of obvious; bash-only tooling has higher success for bash-capable models, compared to using predefined tools for models that aren't good at bash? Yeah... They all seem a bit "duh" to me. The final piece of the conclusion is agreeable regardless of how they arrived at it though:

    > Harness design is thus a conditional systems problem in which each component should be selected for the target model, task type, and resource budget rather than adopted as a default.

    I think lots of people treat the harness/model/prompts combo as interchangeable, but in my experience the quality and efficiently depends heavily on the combo of the harness/model, and using the harness + model made by the same lab, has vastly better experience compared to more "general purpose" (for the lack of a better term) harnesses. Most likely because they use their own traces when training future model iterations.

    • jimbokun 1 minute ago
      > bash-only tooling has higher success for bash-capable models, compared to using predefined tools for models that aren't good at bash?

      No. The conclusion is that:

      bash-capable models + bash-only tools > bash-capable models + predefined tools

      In other words, MCP was just a bunch of bullshit that maybe helped a little bit until the models got good at bash, and now it's basically useless.

    • zrail 33 minutes ago
      "Everybody knows foul air causes sickness."

      "Duh, of course Mars has canals."

      Testing the "obvious", "duh" things is incredibly valuable science. It provides a more solid foundation on which to build because it reduces the assumption space.

    • novarii_ 10 minutes ago
      > using the harness + model made by the same lab, has vastly better experience compared to more "general purpose" (for the lack of a better term) harnesses

      not really, there was a recent benchmark with claude and codex and it showed no difference in ability with a harness like pi agent compared to their native harnesses, pi was in fact cheaper per task.

    • 0xbadcafebee 34 minutes ago
      It might be 'duh' but it means we need a formal list of what each model is good at, and to pick or change harnesses to closer fit the model. Like an llm recipe book. Not just for remote models, but also local ones where how you run the model is critical too.
  • themgt 56 minutes ago
    Todo/task-tracking tools (TaskCreate/Get/Update/List, TodoWrite) are no longer available on Opus 4.8, Sonnet 5, Fable 5, Mythos 5, and newer models; set CLAUDE_CODE_ENABLE_TODO_TOOLS=1 to bring them back"

    Anthropic appears to agree frontier models don't need in-session planning tools.

    https://github.com/anthropics/claude-code/issues/80487

  • spncai 3 minutes ago
    [flagged]
  • Chloi 1 hour ago
    [dead]