The term harness engineering does not come from Birgitta Boeckeler's article in martinfowler.com. It was first used by Mitchel Hashimoto months earlier in his 'My AI adoption journey' blog post [1], and immediately picked up by OpenAI [2] a week later.
Also worth noting that this text is not only entirely AI generated, but meant for other agents to read, not us humans.
The site looks like aislop after skimming through 10 of his docs on the site, and the mistake you pointed out.
Something feels off, and claims on the site do not seem credible. Def not manually verified. If it was verified, the author did not go deep enough to give credits where it's due.
The only thing I got out of the site was to see terms I never heard of.
Honestly it would be helpful for someone to collect a list of these articles and concepts in a single location for engineers to get up to speed on these concepts. I think that is the only advantage of this AI generated website at the moment.
It’s fascinating to live through a the emergence of a new technology and to see people trying to make sense of it as they go.
I personally think that a lot of the words used around AI, harness, SKILLS, agents, RAG.. are make up words or close to it, words that do not have profound semantics, even though people are trying to, often after the fact, make sense of them.
It’s just popular words that are different enough that people like to use them to claim a new knowledge, or to market a product.
But we could use AI tooling instead of harness in the abstract, and it would be better to use more precise terms for more concrete use cases, agent loop, CLI, IDE..
It was a fun game at a time where papers were competing for attention, but now that it has become a proven technology, I hope we can find more precise and meaningful words.
The Agent/harness has no meaningful distinction. The backing model(s) can only read through a harness. Call it an agent, call it a tool, call it a library. They are all harnesses if they are backed by a model.
Broadly speaking,
- Copilot only reads AGENTS.md
- Codex reads AGENTS and CONTEXT
- Claude reads CLAUDE
This ai-literacy is noise, muddling the definitions and suggesting yet-another-md-file.
I think most people that use LLM coding tools enough independently derive most of the stuff in the article. For example my approach to garbage collection is to sample paths within the project and chunks of file content, then assemble context (similarity search results, git blame) for the agent to use to assess cruftiness and if found schedule cleanup.
definitely a little bit of shameless self promotion but I write about a lot of common harness concepts in the docs of Wingman (https://wingman.actor) - a client agnostic agent harness I've been working on for a while:
I think there is still plenty of innovation to be had in the space. Right now everything is still pretty bundled to the file system where getting skills and things to work inside of like a virtual worker requires simulating a virtual file system (usually). I believe even in the latest opencode v2 versions it still requires that a session be bundled to a working directory, I try to avoid (some of) that in Wingman.
Maybe code owners? I'm not sure if it'll do exactly what you want; but you can say that "such and such" files must be edited, or reviewed, by specific users.
Then, if someone opens a PR who isn't one of those people listed, it requires them to be a reviewer.
We use it for .editorconfig; specifically, we don't want a newcomer to come in, not like a style rule, and slip in a change.
What even is this "AI Literacy framework"? When I see such overengineering I look at what the author has done. In this case, I find the author runs a consultancy on engineering "Habitats for Humans and AI" (https://www.russmiles.com/), listing a bunch of books he did not write (the author names are conveniently cropped out). This doesn't even belong on LinkedIn.
I'm not the author -- but I am currently fortunate to be sitting in a workshop he is teaching on the topic and figured HN might like (especially since he gives a lot of his content out for free/OSS).
As someone who does loads of AI-driven dev and governance, I'm finding there are a lot of great nuggets here. Between him (chaos engineering) and Kent Beck (extreme programming) I'n a kid in the candy store and wanted to share.
Also worth noting that this text is not only entirely AI generated, but meant for other agents to read, not us humans.
[1] https://mitchellh.com/writing/my-ai-adoption-journey
[2] https://openai.com/index/harness-engineering/
Something feels off, and claims on the site do not seem credible. Def not manually verified. If it was verified, the author did not go deep enough to give credits where it's due.
The only thing I got out of the site was to see terms I never heard of.
and if you want to see what a simple harness implementation looks like you can just dive into the code and ask your favorite agent about it
https://github.com/smol-env/smol
https://github.com/earendil-works/pi
And here is the original author on a podcast talking about it: https://open.spotify.com/episode/4FxEdjXldNhoh67KYVmbDu
I also have a self-evolving architecture on it, but you have to be careful, especially if you're using multiple models (still WIP).
I personally think that a lot of the words used around AI, harness, SKILLS, agents, RAG.. are make up words or close to it, words that do not have profound semantics, even though people are trying to, often after the fact, make sense of them.
It’s just popular words that are different enough that people like to use them to claim a new knowledge, or to market a product.
But we could use AI tooling instead of harness in the abstract, and it would be better to use more precise terms for more concrete use cases, agent loop, CLI, IDE..
It was a fun game at a time where papers were competing for attention, but now that it has become a proven technology, I hope we can find more precise and meaningful words.
Broadly speaking,
- Copilot only reads AGENTS.md
- Codex reads AGENTS and CONTEXT
- Claude reads CLAUDE
This ai-literacy is noise, muddling the definitions and suggesting yet-another-md-file.
I don't know any harness that solves 'Garbage Collection' in the way described here
(most harnesses accelerate context pollution and code base drift via instructions they embed into system prompts, tool descriptions and skills)
The prose is definitely written by a Claude-like
https://docs.wingman.actor/concepts/sessions/
I think there is still plenty of innovation to be had in the space. Right now everything is still pretty bundled to the file system where getting skills and things to work inside of like a virtual worker requires simulating a virtual file system (usually). I believe even in the latest opencode v2 versions it still requires that a session be bundled to a working directory, I try to avoid (some of) that in Wingman.
https://walkinglabs.github.io/learn-harness-engineering/en/
Then, if someone opens a PR who isn't one of those people listed, it requires them to be a reviewer.
We use it for .editorconfig; specifically, we don't want a newcomer to come in, not like a style rule, and slip in a change.
As someone who does loads of AI-driven dev and governance, I'm finding there are a lot of great nuggets here. Between him (chaos engineering) and Kent Beck (extreme programming) I'n a kid in the candy store and wanted to share.
The Harness is the Thing
https://news.ycombinator.com/item?id=49452346