Hacker News
4 hours ago by Syntaf

I’ve been working on a harness for accounting agents at my job recently and it’s been a pretty interesting experience.

We originally started with building a CLI tool so our LLMs could more easily interact with our platform. I cannot recommend enough the value of having an internal CLI. It’s both fun to build and extremely useful for agents.

We paired this with skills initially, but found that the way folks built skills was often too prescriptive and limited to the authors own specific function in the company. A 2k line long skill suffers from the same gaps as we do, if an agent is just following a laundry list it’s less likely to reason about the request it’s doing.

So we instead asked ourselves: what if we just _let_ the agent reason about the work to be done and only provided the tools + guardrails to gather context and perform accounting work?

Turns out frontier models are GOOD at what they do, they outperformed our highly prescriptive skills and were able to work across a larger set of tasks even without instruction on how to do those tasks.

It’s a breath of fresh air from the decade of CRUD I’ve worked on, harness engineering is very neat.

2 hours ago by YZF

This is the same "tension" I keep seeing in my day job. Some people approach LLMs like they're writing code. They give a long list of detailed instructions for specific scenarios. When I use LLMs I leave things as open as possible. I just give them the information they need and my ask.

As you say frontier models are very good at figuring things out. Being too prescriptive is counterproductive, it over-constrains the model, it fills the context with conflicting instructions, it reduces the ability of the agent to respond to novel situations (and really in real life most situations are going to be novel). If you want to follow a process or a checklist you probably shouldn't use an LLM, or you should use it for some sub-tasks in the checklist/process but something more deterministic to work through the list.

an hour ago by wonnage

That works for well trod paths, e.g “fix ci” works exceedingly well. “why app slow” obviously doesn’t work because the task is underspecified. But in order to properly specify you either need an experienced engineer who knows how to narrow the problem domain, or you have to provide some template instructions/output formats (e.g, skills) which will invariably never fit the problem perfectly

an hour ago by hombre_fatal

I wouldn't agree. Sota models can do self-directed sampling, profiling, benchmarking, read call trees, etc. to give you a report of the app's bottlenecks and then recommend solutions that can be vetted.

I do this constantly.

As the upstream comment points you, you don't need to specify. Sota models are that good. And by being overprescriptive you can accidentally shut off branches that they would've taken, downgrading the quality of their work.

21 minutes ago by 0x457

> . “why app slow” obviously doesn’t work because the task is underspecified.

Not always. In my case LLM goes to grafana mcp, pulls metrics/traces/cpu profiles. Figures out what is slow and proposes a solution.

an hour ago by YZF

I use skills. The skills are not typically "how to perform a task in detail" they are more about what relevant tools and knowledge are required to work in a domain. That is I give the LLM the information it needs about the system but not a sequence of how to accomplish a task. I treat it more like a human and less like a computer.

an hour ago by gmadsen

It really doesn’t need to be that much more specified, give it context to the tools and level of analysis you expect then “why app slow” is a reasonable prompt

2 hours ago by ljm

I've been building a harness (on top of Pi for that matter) and have had similar experiences. Pi itself helps a lot with it being extensible by design but it's definitely been a challenge to make certain things work in an expected way.

The native app I'm building on top, which I hope people who are less technical (or not technical at all) will use, is even more interesting because it's not just supposed to shell out to the CLI for everything and needs its own state.

3 hours ago by newsomix9xl

Can you post a generic version of code for this somewhere (e.g. codeberg or whatever)?

I find your description intriguing but I'd like to see it to make sure I understand it.

2 hours ago by rpastuszak

Just came here to say the same :)

3 hours ago by pdhborges

So you still have CLIs but they have I presume an help command that describes the capabilities right.

Could you give an example of an accounting guardrail you created?

3 hours ago by dpritchett

I’ve also found that Claude and friends are eerily good at using classic Unix CLI tools so I build mine in the same style, not unlike the `gh` CLI from GitHub, though with an agent-first design shape.

Usually I’m returning TSV as a default format and I add a `help-all` subcommand to list every available command at once when needed. Another thing that helps is adding just-in-time context-sensitive hints, such as: user has just run a list query with at least one result. Add a one-liner to the response explaining the command shape for getting the detail view of the first response.

In terms of skill files, I like to have my CLI generate them dynamically at runtime by walking their own current command tree and then feeding that through a text template.

Examples from a public project: https://github.com/radiusmethod/gitlab-kiosk/blob/main/skill...

3 hours ago by Syntaf

Yeah the CLI can provide schema for commands via the usual ‘—help’ syntax, so agents are able to discover + explore commands on their own.

As for an example: if our agent wants to book a journal entry to cash accounts for a client, it MUST provide receipt and directly link the transaction from the clients bank feed, if it attempts to do so without the requisite information we deny the tool call and ask the agent to escalate back to the client for proof of receipt.

Often times this results in the agent not doing the work and instead sending a message back to the client asking for proof of the transaction.

For humans on our platform there may be valid situations where we’d want to allow this, but for our agent this is a hard guardrail thus why it’s not just standard validation for any JE posting on our platform.

3 hours ago by pdhborges

  if our agent wants to book a journal entry to cash accounts for a client, it MUST provide receipt and directly link the transaction from the clients bank feed
And that rule is encoded in the CLI?
an hour ago by ni10c

Author here. It’s ironic because this post was clearly geared towards non-hackers. But now that we’re here.. the other analogy I considered presenting was:

harness = chassis, model = engine, fuel = tokens, agent = car

I’m curious what y’all might think and whether that analogy carries more explanatory power

31 minutes ago by troyvit

I'm a climber so I'm biased but I really liked your climbing harness example because of the configuration you're able to easily make to the harness.

Saying the harness is like a car's chassis doesn't work as well for me because the chassis isn't as configurable as a climbing harness for as little work.

Getting deeper into the climbing analogy you can even swap out the harnesses themselves for wildly different climbs. Like using Claude Code with a bunch of agents for medical software (climbing K2 where that extra padding comes in super handy) and pi.dev with a local model for a respectable web project (sport route where you'll be back in a few hours and it's safe to be a little more exposed).

I'm glad your article made HN, and thank you for pi!

32 minutes ago by asQuirreL

The first analogy that comes to mind, growing out of "harness", is more like harness = harness, model = horse (rather than harness as in climbing harness).

I guess you could say that tokens = hay, and agent = horse and cart, from there? Not sure how useful the hay part is but you could observe from the second that there are many different things you could harness a horse to (also a plough, or a coach, or just a saddle) based on your goal.

3 hours ago by xrd

Does anyone have a suggestion for a harness that is good at handoff?

When I say handoff, I mean:

  * handoff from a terminal CLI to webui (on a phone)? 
  * handoff from one team member, to another?
  * handoff from one communication modality, like writing a prompt in a TUI, to email? 
  * handoff from one model to another, or one provider (openrouter)( to another (llama.cpp)
Does such a thing exist?

I used to think that a PR would be a good place to centralize all this. Who cares what IDE, or developer, or location. But, now I feel like an agent harness might contain that better.

Why do I want handoff? I keep losing context of where my harness is running. Sometimes I am inside an isolated VM. Sometimes I'm on my laptop, sometimes I'm on my home machine with the big GPU for local models. If I could spin up a harness that could identify itself inside my tailscale network, then I could probably have a single web UI which allows me to keep all that context straight.

I'm tempted to experiment with Pi to configure such a thing. But, perhaps there are patterns out there already with a harness I have not considered.

an hour ago by itishappy

The session is "just" the raw chat history in it's entirety (human and agent) and can be disseminated as such. This is what enables swapping between models, you simply send the whole context.

Not sure how others do it, but opencode stores sessions in a sqlite db and you can extract them and share them as needed.

https://opencode.ai/v2/docs/api/session/v2-session-export

Pro-tip: Building your own extremely minimal harness takes about 15m and is both fun and enlightening. Agents are unsurprisingly quite good at it, but ask them to walk you through it step by step.

3 hours ago by ds_opseeker

Sounds like you want an orchestration.

Let's assume handoff happens when one "agent" finishes its work on one task, i.e. "submit a PR".

At that point you want to exit the agent/clear context etc (any context the next actor needs should be in the handoff artifact).

And the orchestrator calls the next agent with the artifact.

Claude can do this with subagents. If you want to get more serious, I'd look at "durable workflows" and check out what the pi people have to say: https://earendil-works.github.io/absurd/ https://earendil-works.github.io/absurd/patterns/pi-ai-agent...

you should also look at dbos https://www.dbos.dev/

And then do a search for these terms on HN and get some idea of their shortcomings vs a 'real' orchestration tool like Airflow or Dagster

2 hours ago by YZF

I do this all the time in my workflow. Use any harness. Ask it to create a markdown file with the information required for the handoff. Use that downstream. Keep a "repo" of those markdown files. Are you trying to orchestrate or manage this sort of process?

5 hours ago by theturtletalks

Harnesses are the next frontier. If LLMs are electricity, harnesses are the “electronics.” Right now, it’s like an AC vs DC between Claude and ChatGPT, but once that settles, the harnesses will be the actual value providers.

And Pi is the best harness because of the amazing extension system. You can build extensions that turn Pi into a stock trader, software factory, anything. I tried switching to another harness but none have extension functionality as good as Pi.

Even if there is a new harness or agent project, I tell Pi to dig into the codebase and then make me an extension that brings that functionality into Pi. I did it with Prime Intellect’s and Deepseek’s harnesses and those are built on Pi.

5 hours ago by amelius

> If LLMs are electricity, harnesses are the “electronics.” (...) the harnesses will be the actual value providers.

Don't get ahead of yourself. Harnesses are not exactly rocket science and will be a commodity.

The real value providers here are the hardware, then the LLM as a distant second, and at a much larger distance the harness.

4 hours ago by conmod278

https://www.latent.space/p/attention-interface

Labs are now post-training models with Harness so that Harness now gets absorbed into the weights.

3 hours ago by layer8

I’d say that harnesses almost by definition are the parts that you want to keep customizable. That won’t get absorbed into the weights.

4 hours ago by goosejuice

My naive intuition is that as harnesses converge on shape and models improve the first party advantage will mostly disappear.

4 hours ago by gritzko

Either part can be branded a "commodity" or a "sovereign privilege" depending on supply and demand.

Solar goes all the way up => power is commodity.

Some hyperscaler goes bankrupt => hardware is commodity.

Models get real good => output is a commodity, no profitable problems to solve anymore.

Open source models get good => models are commodity.

4 hours ago by theturtletalks

I was saying more the custom skills and extensions that make the harness not a commodity. Yes people will use Claude Code, Codex, or Pi but their customizations will make their harness unique and more powerful.

5 hours ago by romanhounds

[dead]

5 hours ago by mpawelski

> Harnesses are the next frontier. If LLMs are electricity, harnesses are the “electronics.”

I really though this comment was a satire ...

2 hours ago by DarmokTanagra

Its literally the same people who were making hyperbolic crypto claims a few years ago.

This entire forum is infested with shameless hype chasers and biological linkedin bots.

4 hours ago by wwalexander

E = mc^2 + AI

4 hours ago by _superposition_

In a sense they are the last frontier imo. At some point a harness will be built that can modify itself to fit the needs of the majority of people's workflows and evolve with them.

3 hours ago by layer8

Then people will want to share and exchange their evolved harnesses. Ways will be found to modularize certain aspects to enable mixing and matching.

I’m thinking of how in cyberpunk, people are replacing their cybernetic enhancements all the time. You could alternatively bioengineer your own body towards the desired outcomes, but that’s more constrained by the trajectory your body has already taken, whereas the promise of cybernetic parts is that they are more independently replaceable. (Probably an illusion in practice, but I’m talking about the fictional ideal.)

As another analogy, monolithic software tends to quickly become hard to change significantly, whereas a plugin architecture tends to be more flexible and modular, and people can share and combine their various plugins.

5 hours ago by grey-area

Sadly, many people have bought into the cult that LLMs will lead to AGI. I guess if that is your worldview then all this babbling about new frontiers makes more sense.

They probably used an LLM to come up with this bizarre metaphor.

3 hours ago by jbstack

I find it difficult to understand people who are wildly skeptical about LLMs leading to AGI (assuming we can even agree on what that means). Consider:

- They can already reason better than many humans and are still improving all the time

- Harnesses are improving all the time

- We're already exploring things like long term memory, long term goals, and other things that humans have which LLMs traditionally lack

- An AI agent can read and reason about every piece of AI research ever published, including looking for insights that humans may have missed. A team of humans could never do this even if they dedicated their whole lives to it.

- They can design and execute experiments on a mass scale to determine what does and doesn't work

- Large AI labs have more than sufficient resources and motivation to throw at the problem, and are in fact doing this.

4 hours ago by theturtletalks

Did I even mention AGI? All I’m saying is that we’re hitting a plateau with how good models are while harnesses are untapped potential. And with Pi, you can swap models like electricity companies. Yes for now, the electricity is better with some companies but this will stabilize.

And no I came up with the metaphor all on my own, send me the chat of you getting the LLM to come up with it. Why not argue based on merit instead of strawman and ad hominem attacks?

4 hours ago by sph

> Sadly, many people have bought into the cult that LLMs will lead to AGI

You can never tell if the goomba opinion of the forum will agree we have reached AGI (seen that happen on a few threads lately) or will readily call that a ludicrous proposition.

4 hours ago by jacobgold

> ...once that settles, the harnesses will be the actual value providers.

The words "once that settles" are doing historic levels of work here.

No human on earth has a clear idea whether model technology will settle tomorrow or 100 years from now.

There's every reason to expect architectural breakthroughs will keep being discovered and causing nuclear blasts of forward progress.

5 hours ago by jrflo

I've never used Pi but I don't see why you can't use stock codex or claude code for the same purpose, what makes Pi special? I've built plenty of custom harnesses on top of claude code and codex using custom skills or simple markdown instructions and subagents. Never had any issues or limitations with that approach.

I do agree that harnesses are going to extend AI capabilities a lot in the next year, but after reading Pi's page I don't see anything that makes it particularly special in terms of functionality, other than being more provider-agnostic.

5 hours ago by throwup238

For one you can ask Pi to create a TUI extension, so along with the agent interface you can add whatever custom TUI you need, such as portfolio stock tickers, alerts, whatever you want.

Many of my harnesses eventually turn into customized UIs around the chat interface.

4 hours ago by lebek

Codex and Claude historically had more bloat in their system prompt and tools. Pi is minimal by design so more adaptable. But to be fair Claude Code is moving in the Pi direction with a small system prompt.

4 hours ago by ni10c

Author here. I think our website could be much clearer - but Pi is fundamentally easier to mold than other harnesses. It’s not magic but it strikes the balance well of letting you shape it extensively without letting you break it.

4 hours ago by gritzko

A harness is the bottom layer of a pie that gets fed into the model. In my project, I count 7 more layers on top of it https://replicated.live/blog/wiki They all affect consistency, coherence, token efficiency. Probably we need some broader term. Like "information architecture", "knowledge architecture"? It's not just shoveling Markdown to nvidias, after all.

5 hours ago by jascha_eng

The ai hype word for 2026 after agent in 2025 for any LLM powered application.

Well kind of, I wouldn't be surprised to see that some things marketed as agents are actually good old deterministic software.

27 minutes ago by phforms

My guess is that everything "reliable" in LLM/agentic-coding comes down to either calls to reliable/deterministic tools or providing well-defined success criteria (such as loads of unit tests) for the LLM to throw its stuff at in "agentic loops" until something sticks.

4 hours ago by sph

It's really funny (and a bit obnoxious) to watch the vocabulary from the outside. In 2023 everybody learned the word moat, then it's been agent(ic), from last year there's more talking about harnesses than at a bungee jumping convention. The mot du jour is frontier.

It truly proves like there's a handful of thought leaders on Twitter that everybody follows blindly and start to copy down to the lexicon and parrot everywhere else.

5 hours ago by childofhedgehog

Clear, relevant, and easy to understand. Thank you for writing this up, I’ll be sharing this link with all my non-tech friends!

an hour ago by phforms

I second that. Not using agents myself but trying to get an idea on how this stuff works, so I always wondered what an "harness" even is, since anyone seems to assume that this is common knowledge. Now it is really clear to me!

4 hours ago by ni10c

Author here. Thanks - I appreciate the feedback

5 hours ago by tosh

i also like the backpack analogy

the harness is what you take with you on a trip/task

whatever you take with you is not free (system prompt, tools, skills …)

some models are really good even if you bring almost no skills, tools or system prompt

the harness is the complement to the model

the better the model the more minimal the harness can be

harnesses like pi [0] and smol [1]are on the more minimal end of things

[0] https://github.com/earendil-works/pi

[1] https://github.com/smol-env/smol

4 hours ago by lebek

Not a bad analogy because the bigger your backpack the slower you walk. With models a big context and tool set degrades performance. So you want the smallest harness/backpack that can do the job.

2 hours ago by kmansm27

From these comments, it seems like people still don't understand what harnesses are... The point is you shouldn't build a harness, you should use a harness and change its system prompt, the tools it has, MCPs it has, give it skills, etc, to make it work for your usecase. You aren't "building a harness on top of pi" if all you're doing is the above. You're just using the harness to connect different things to the LLM.

Daily Digest

Get a daily email with the the top stories from Hacker News. No spam, unsubscribe at any time.