‹ BackHN Continuity

Thread

HarnessTax: How Much Does the Harness Matter for Coding Agents?

233 points · 99 comments · matt_d

  1. lukax · · focus · HN ↗
    What matters more is that you use the tools that the target model was fine-tuned on.

    E.g. for editing files with Claude models you should use Edit(file_path, old_string, new_string, replace_all) but with GPT models you should use apply_patch_call(patch) (where patch is a custom patch string with custom grammar).

    It appears newer models are better at narive harness tool calls and worse at custom tools that look similar to default tools.

    <a href="https:&#x2F;&#x2F;lucumr.pocoo.org&#x2F;2026&#x2F;7&#x2F;4&#x2F;better-models-worse-tools&#x2F;" rel="nofollow">https:&#x2F;&#x2F;lucumr.pocoo.org&#x2F;2026&#x2F;7&#x2F;4&#x2F;better-models-worse-tools&#x2F;

    1. drdexebtjl · · focus · HN ↗
      In practice, if you’re using both Anthropic and OpenAI models, how can you configure Pi (or any other harness) to use these native tools?

      I’ve seen this before and the conclusion ends up being “use the native harness”, which I don’t think is an acceptable solution.

      1. lukax · · focus · HN ↗
        OpenCode checks model name and registers the appropriate tools.

        const usePatch = model.modelID.includes(&quot;gpt-&quot;) &amp;&amp; !model.modelID.includes(&quot;oss&quot;) &amp;&amp; !model.modelID.includes(&quot;gpt-4&quot;)

        Pi uses its own tools, like Armin wrote in the linked article.

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.