← Back to context

Comment by bob1029

15 hours ago

> building your own harness is a huge undertaking, a deep rabbit hole.

I eventually gave up on this task. It's not possible to fight OpenAI or Anthropic's engineering teams. Their reasoning models have all kinds of undocumented back door access to the base models that you'd never be able to replicate from the outside. Even if you had full access you would not have the engineering man hours or experience to keep up.

I think this Agents API thing is a step too far, but Chat Completion is too cold now. Something approximating Responses API seems like the happy medium. You still get most of the control with the only blackbox part being the reasoning loop / tokens. Building agents using the GPT5.6 family w/ Responses API feels pretty close to Star Trek computer shit to me. I thought I was being clever with my DIY contraption on top of chat completion, but it wasn't even close. I have embraced the reality that I will need to use opaque reasoning tokens to give my clients the experiences they are paying me to provide.

I built my harness in pi within herdr, I cloned (zipped and downloaded) 0xRichardH/pi-herdr-subagents and went from there, and used pi to build itself, adding gate workflow state control, provider fallbacks (I use many token plans), subagent skill injection, etc.

It is highly custom to my needs and wants, and I think every developer needs to do this. I only talk to my planner which plans, and it subs out to designer, oracle, coders, testers, and reviewers, etc. It is thus highly optimized for correctness. You can TDD or no TDD. You can fast track small changes. I tweak my harness dozens of times as I encounter new edge cases (esp when I switch models and encounter models not as good at following instructions).

As you can start to see, it is better to own the harness because nobody can build something custom that 100% fits your needs or development philosophy.

  • I cannot agree more. We all have our own needs, and it’s never been easier to make something that meets them exactly.

    I have been running my own setup and evolving it since November as I come up with more ideas and needs. The nicest bit is not being tied to one provider or another. Anthropic decides to stop supporting Claude agent sdk with subs? Or astra outstrips other models? My harness now works with Claude/cursor/codex and soon ACP. It didn’t start that way, it was originally all in on Claude, but now all the things I built on top of Claude now work with the others too.

  • Correct me if I'm wrong, but the harness will always be dependent on the underlying model, and useless without it. All custom harnesses are being built, could be obsolete in the next big-generation-jump of the models.

    I might be absolutely wrong, but "harnesses" / cc-derivatives became "good enough" only maybe a year ago max. Before that, people were pushing for gigantic folder structures with custom documents and "pretend you're X" stuff.

    My point is, depended on what you're trying to achieve, testing out current-gen harnesses, and nudging your workflows towards them might be better RoI, rather than chasing something that might be throwaway code a quarter later.

    Obviously, this really depends on whether you believe model development will speed up or slow down in the upcoming future.

    • I switched between several local and remote providers and models and over different API (anthropic/openai) and it worked fine, just some minor issues but they were fixed within an hour.

      And the system prompt worked great regardless, so i don't think your main point holds, especially as models improves; it isn't throwaway code, but for sure it's evolving constantly, as my own workflow keeps changing.

      > My point is, depended on what you're trying to achieve, testing out current-gen harnesses, and nudging your workflows towards them might be better RoI, rather than chasing something that might be throwaway code a quarter later.

      Fair point, depends if it's an hobby or you are a developer full time, in the latter case i think it's definitively worth it.

    • Doesn't apply to every scenario where agents are useful. Think about businesses - most business processes are not optimized this way. They are mostly a conglomeration of hierarchy, relationships, customs, IP, etc. Model development will never cross such paths. Thus, harnesses are needed. A foundational system that covers 80% of business processes has value, and I'm targeting that problem --- https://github.com/rush86999/atom

    • You are wrong. I honestly am having trouble understanding how you think these things work, and what you believe a harness is in the first place.

      There is the standard API that things like openRouter exposes, thats supported by every provider, and all it is, is manipulating a large blob of memory by adding your own words or asking the GPU to append new words.

      Everything else around it is window dressing. All providers accept that API, (only Anthropic has blocked access on their consumer subscription tier).

      Its how businesses write their 'bots'. Nobody - except the people trying to sell you "magic" - is incentivized to remove that kind of access.

      I can switch out openai/anthropic/deepseek/openrouter/kimi/selfhosted at the drop of a hat. Its a big reason you'll see a comment on HN talk about "There is no moat".

      Calling them cc-derivatives is wrong. I've seen many features land in other harnesses long before they came to Claude.

      The only thing Claude seems to be "cheating" with is that:

      - They provide Windows users a unix VM hosted on their servers - I dont want or need that

      - They're better 'trained' at doing compaction / providing the illusion of continuity

      - They might do automatic model-switching (not sure if they do) - not something i need.

      Sure, if you're in the market for magic then dont put time in having your own harness and just accept the lock-in. Since I'm using them so much i think its worth the investment.

      2 replies →

    • A lot of what a custom harness does isn't necessarily interacting with a model, it's the framework around it. Part of harness engineering is figuring out what can be done deterministically to avoid calling an LLM. A generational jump doesn't obsolete those areas, it just means you get the right answer (maybe) faster and easier when you do call the model.

      There's a difference between their harness and your harness. The latter can be tuned to your preferences, while the former cannot. A custom harness can do everything that a packaged harness cannot. Good luck getting Claude Code to coordinate with multiple model providers or deeply integrate with your environment.

      The point you're making is to be a consumer, which admittedly, is probably best for most people, but it's not going to satisfy the hacker. Normies aren't building custom harnesses, so your argument is DOA for the target demographic.

      Also, vendor lock-in. No thanks.

      1 reply →

  • I also built a custom harness tailored to my needs using pi.dev underneath. From time to time I use the 'official' harnesses of openai/anthropic but can't confirm that they are much better adapted to that harness.

  • 100% every professional developer at some point should build its own harness as daily driver

  • I'm very interested in this but I am confused on what Pi provides you if you are building the harness? What does Pi get you that writing from scratch doesn't?

    Any good starting points or tutorials you recommend?

    • Pi is just a nice base and it has defined extension protocols and such. You might as well start there, it's just easier and going from nothing to working to adding whatever functionality is like 2 minutes.

After being burned by the rug-pull of OpenAI retiring the Assistants API in favor of Responses last year, I swore off using heavily stateful APIs for language model access. I could be totally wrong, but at this point I'm more willing to use a proprietary harness headless than to abstract it into an API.

A good harness is a universal harness. It should not depend on the model at all. I foresee harness being the edge that people have.

For instance, if you are able to encode laws as a lean program, that would be an absolutely insane harness that would make you leap way ahead of your competitor.

Right now, I am interested in creating a personal assistant. It is crucial that this is done privately and safely. To do this, I run a local gemma4 model that have access to a copy of my emails. The only outside world that it can interact with is a private Telegram chat that I have with it.

I've been working on a custom managed agent (see my other top-level comment), I find it is actually a manageable undertaking. It does feel herculean, but somehow doable. I do not find their hidden reasoning tokens to be insurmountable as long as you match the behavior of codex or CC (which takes work, but, again, is doable). My managed agent harness currently matches Codex on several benchmarks like Terminal Bench.

I feel like you could use an open-source harness like Pi and get 100+% of what these closed APIs offer without getting locked to OpenAI. What do you think is missing from them?

  • Lack of risk to the business. If it was just me and my tinker toys, the open path makes a lot of sense.

    I am in the business of provisioning custom AI robots for paying customers. I need to be able to provide certain assurances and offer operational simplicity or the whole thing falls apart. These systems need to survive in their environments. Accounting and compliance teams feel a lot more comfortable with the landscape around the frontier model companies.

    If I went to my favorite client on Monday and tried to sell them what HN seems to think is the most ideologically pure AI solution, I would probably be fired as a vendor.

> > building your own harness is a huge undertaking, a deep rabbit hole. > I eventually gave up on this task.

It's not trivial, but cmon, i did during weekends from my phone and FOR ME it's so much better than the codex or claude, it has every i need and want :D

I'm using my own harness for work and hobby, has github integration, review mode, interactive voice mode, overlayed worktree, browser integration, mcp and much more.

Using claude and codex feels like picking up a club, in-line with the caveman skill...

Yet i find claude code worse than opencode.

  • I don't think anyone who's tried something else can like claude code. The only reason to use it is the subsidized plan and nothing else.

    • But it does have some very cool features built in I haven't seen rolled in elsewhere. Sessions can talk to one another out of the box. Two left arrows and you see all the sessions. Automatic remote control to pick up a session from another computer or even on your phone. So convenient!

      I could patch this together with Herdr and OMP and some custom server stuff but it works right out of the box!?

> It's not possible to fight OpenAI or Anthropic's engineering teams

And yet, I find Pi so much better to work with than Claude Code.

  • I don’t find it better than Claude Code but much better than OpenCode. So I am curious why less is more in that context.