← Back to context

Comment by rattlesnakedave

3 days ago

You should try a better harness. Try pi, or ohmypi if you want a good OOB experience

what is a harness? The comments below are mixing IDE/ADE but other suggestions are purely terminal things and I don't get what their value is over just a terminal. Is a harness like a loop where it's just a vague thing that everyone nods about but everyone is nodding at something different?

  • The harness is the agent. LLM's can be asked to output things in JSON for example. The LLM then literally asks for things like "execute this cmd" or search/replace this string. The LLM outputs text, but in a deterministic format that can be parsed. The harness calls the LLM, exposes tools, executes tools the LLM asks for, gates tool use based on security controls. It's the runtime that the agent uses to do work.

  • My understanding is that the harness is the set of function calls (or tool calls) that let the LLM interact with your codebase. It's independent of the IDE or CLI.

    The tool calls will be, among other things, something like ReadFile, RipGrep, PatchFile, Shell.

    When people talk about the value of different harnesses, they're also implicitly talking about the quality of the system prompt.

    The same exact model, when given a different set of tools and a different system prompt, can behave differently.

  • A harness is the tooling around an LLM that uses its responses to do work. For example, let's say a harness sends your message to the LLM and the LLM emits a tool call - the harness is responsible for processing that tool call, executing the tool, and then sending its response back to the LLM to get more of its turn. The harness is responsible for keeping the conversation history to send back to the LLM each time it needs more completion. The harness is responsible for displaying the user interface that allows you to send instructions to the LLM or configure MCP servers or whatever. Claude Code is a harness, Pi is a harness, OpenCode is (technically) a harness, it's basically the LLM "client". The model is what generates the completions itself, but the harness is how you invoke it. And generally when people say "agent" they mean the harness hooked up to some model.

  • Harness is a set of artisanal prompts.

    • You might be joking, but a harness provides much more than just the prompts: at a minimum, it provides the system prompt and the built-in tools that the LLM can use, but it can also provide things like subagent management, custom compaction logic, session forking, etc.

  • It’s a new buzzword where everyone says it but means entirely different things. You can use it to sound smart whenever there’s a conversation about how you’re not extracting value from your coding agent and also when you are extracting really good value. Very flexible term!

    • No it actually means a thing. A harness is the loop while(true) {command = ai.prompt(response); response = run(command);}

I'm gonna shamelessly plug my own here :) https://dirge-code.github.io/

  • I like it.

    I think creating your own agent is the Hello World of agentic coding. Instead of Rust, I used D for mine.

  • I get hung here on Debian 13 after installing rustup and doing rustup install stable.

    Building [=======================> ] 610/611: dirge(bin)

    Just hangs there :(

I’m in the Claude code harness for everything boat too. What are the alternatives?

  • What the person above is suggesting:

    * https://pi.dev/

    * https://omp.sh/

    (no personal opinions of either, links might be useful)

    I think that OpenCode is nice, their CLI version is enjoyable and their desktop/web version is okay:

    * https://opencode.ai/

    I also quite like driving OpenCode through something like Kepler / Paseo and tools like that (with those I can still use my Anthropic Condition by Claude Code being treated similarly - as something that gets tasks dispatched to it, while the GUI I see is Kepler / Paseo).

    On the desktop side, ZCode was surprisingly usable for something that came out of nowhere (I wasn't aware of it at all before trying out the GLM Coding Plan): https://zcode.z.ai/en

    • Last time I tried some of these, none of them had the "manual mode" that CC has, where it shows you change by change as diffs and you can edit them before accepting and moving on to the next change. I like that because if it's going off pattern I can spot it early on and guide it correctly, instead of having to review the whole completed diff at the end when it's too late. I should spend the weekend checking them out again to see if they added that but I assume with everyone going full agent mode they probably didn't.

      2 replies →

    • The out of box experience of omp.sh is wow imo so much nicer than Claude. Claude spends too much time being nice and gassing me Up and omp just gets to work. It’s idk smarter like a far better system prompt and all around loop.

      Gonna try to find a way to use this at work.

  • T3 Code has been amazing. Completely free. Really impressed with the desktop app and the mobile app experience and the way it works seamlessly has me actually accomplishing tons of stuff while I'm out on mobile that I would otherwise have to wait to come home for. First time in a while I'm actually excited to use a desktop UI instead of the terminal. Blows away the official Claude Code mobile app. I can switch between my Claude and Codex monthly subscriptions in it as well. There's a TestFlight beta SwiftUI mobile version that's so much nicer than the one in the App Store. I'm running the nightly version of the desktop app.

    And this is coming from someone that's not particularly a big fan of Theo. T3 Code should get more recognition; people aren't just aware of it yet.

  • ArtificialAnalysis puts out benchmarks for harnesses now as well, and OpenCode seems to be winning it. https://artificialanalysis.ai/agents/coding-agents#coding-ag...

    I only found this yesterday, and it inspired me to start testing out OpenCode.

  • If you like running everything in a VM and using a web browser as your UI, Shelley is very good: https://github.com/boldsoftware/shelley

    It works nicely in the browsers on my tablet and phone, too.

    On exe.dev you can ask it to customize itself, and it will automatically rebase your customizations when upgrading to a new release.

  • It’s not just bloat at this point. I run oMLX and run models locally. using Claude code on the first message dumps 40k of tokens that my laptop takes 5 mins to compute.

    I’ve stopped using it completely now.

  • Piggybacking on this thread to ask my question: What are alternatives that are multiplayer (team oriented) by default? For example, I want my team to see all my sessions easily, vise versa. another way of stating: all the agents are running in a container that that any member of the team can view and interact with.

  • thank you all! got something to tinker with this weekend

    i like to challenge my assumptions and try new tools

    • Just as a +1 anecdote. I enjoy using pi a lot. I used to h think the harness matters a lot but with the current iteration of models I am starting to sway that while it matters it’s less and less important and that CC is bloated. I did some quick tests when I switched and a task that would take $5 in tokens would be completed in $0.50 in pi. Very anecdotal and I don’t have a test framework setup to make this very official but increasingly felt like CC was spinning its wheels on the easiest of tasks.

      4 replies →

  • I’ve tried a bunch of them, and I seriously do not understand these recommendations. It was a rough road and a steep hill, but right now CC is absolutely the best harness on the market, as for me, whatever top tier model is under the hood (mostly, some of them, like DeepSeek, don’t fit CC at all).

    • Inversely I don’t understand the praise for CC. These days it feels like bloatware. It absolutely can get the work done but when I measure on token and time use it ends up being a multiple of pi like harnesses.

      CC works but for me it felt like increasingly they have zero incentive to make it a great experience. You hear folks like Boris talk about spinning up thousands of agents over night and agents chatting back and forth in GitHub issues and while I think it’s great from figuring out what the future looks like I don’t think it represents the reality of ROI today. So the folks building the tool are so disconnected I am simply not sure it’s a great experience anymore.

      3 replies →

    • It's buggier for me than it has ever been before. I don't think that agentic coding always leads to such a buggy mess. I just don't think that the Anthropic front-end software team is very good at agentic coding.

      1 reply →

    • Funnily enough, I would say almost the opposite. CC’s feature set is basically table stakes for an agent these days (does it have ACP yet? Very close to behind table stakes if not) and it has a lot of bloat powering that.

      IMO part of it is that the underlying LLMs have gotten better enough that harnesses feel better even if they haven’t changed. I have a toy harness that barely implements the features you’d expect and it works surprisingly well. Like there’s literally nothing clever, it calls tools and that’s about it, and it still mostly does the right thing.

      1 reply →

what is this comment based on ? vibes?