okay now that we're past that tired discussion, let's talk about how we get agents to write more correct code (note: this won't mean the code will be Good, but it should at least work)
this is the entrypoint into your most basic agentic loop: verification. it means giving your agent the ability to verify its own work, most commonly by actually running and interacting with it like a real user would. whether your interface is a cli/api/ui/whatever, you want to start here so that your agents can close the loop. if you want you can even have your agents model the problem in TLA+ and attempt to verify if you have things like state machine bugs.
the point is to give yourself confidence in the agents' work by them producing some kind of artifact that proves that 1) that the work is correct, 2) that it matches what you intended, and 3) is easier to review than reading the whole PR. most commonly this would be a video and/or screenshots for UI work.
everything else like skill packs are really bonus and optional, all you need is a way for your agents to verify their own work to start using them more autonomously. some caveats are that not all domains can be verified easily yet, and that verification is just approximation and can still be wrong. it's no different than trusting that a human actually ran the code they wrote and trusting it
so start here!
TBH I don't agree with your take. I don't think Athropic's desire to control the harness is about keeping resource usage under control. They could accomplish that by just enforcing limits on the actual resource usage (which they already do) -- if some third-party harness is inefficient, users of than harness hit their limits faster.
I think instead that they want to control the harness because if switching LLM providers is too easy, it makes business difficult for the providers. Say GPT 5.5 comes out and it's clearly smarter, faster, and cheaper than Opus 4.7. If everyone can switch providers with two clicks in their harness, many of them will. This would lead to wild revenue and usage swings, which makes capacity planning hard. And perfect competition drives down prices -- in this scenario Opus has to cut its prices to get some users back.
Obviously no business wants to be in that situation!
By controlling the harness, they add some stickiness. If switching LLM providers means switching harnesses, that's a barrier high enough that most people won't bother to do it on a whim. So now Opus 4.7 can weather the storm until 4.8 or whatever comes out and is back on top.
So it makes perfect sense to me as a business decision. It may be user-unfriendly, but tech companies do stuff like this all the time. It's nothing new.
Though I would say, it seems weird to me to do this *on top of* subscriptions. Subscriptions already create a lot of stickiness. If you're subscribed only to Claude, that's a pretty big barrier to trying out GPT quickly -- a bigger barrier than the harness barrier I think. So I question whether controlling the harness is really worth all the effort they are putting into it, but idk, they probably have insights that I don't on this.
Another factor here might actually be safety concerns. As we know, Anthropic leadership is deeply (excessively, IMO) worried about AI safety, and they feel that Anthropic will do a better job of addressing safety than any other company. They may feel that control of the harness is an important tool for that. I could definitely imagine Dario being terrified of OpenClaw from a safety perspective (I sort of am too).
These explanations make much more sense to me than the efficiency issue, which again seems like it could easily be managed in other ways. But of course, these explanations are much harder to just come out and say, without stirring a lot more outrage...
You're in a Research Scientist interview at Google.
Interviewer: We have a base LLM that's terrible at maths. How would you turn it into a maths & reasoning powerhouse?
You: I'll get some problems labeled and fine-tune the model.
Interview over.
Here's what you missed:
Maybe I'm missing something, but "harness engineering" might be doing more harm than good.
I've read a couple of posts on harness engineering, filesystem memory, subagent architecture. All real, all important. I've learned a lot from them.
But I keep coming back to this: the framing of Agent = Model + Harness undersells the actual engineering involved. And as far as I can tell, none of the major agent products work this way.
Claude, ChatGPT, Devin. These are all systems. They handle authentication, multi-tenancy, deployment, observability, cost controls, state management across sessions and users, RBAC, resource isolation. The "harness" is a subset of the engineering involved in building these products.
A better framing might be Agent = Model + System. This makes sense because you can't serve a raw API call to users. You need the system around it to turn the model into a product. You could argue Agent = Model + Harness + System, and that's fair. But at that point the harness is just a component of the system. Treat it as one.
My concern is that when we center the conversation on harness engineering, we train developers to think about the 30% that touches the model and ignore the 70% that makes the thing actually work in the real world.
When we look at the problem through the lens of the 30%, we end up with things like virtualized file systems which are solving problems that shouldn't exist in the first place.
At best, the harness wraps the model. The system is the product. And there's a reason the consensus is that model progress will eventually swallow the harness. Because the harness is a thin layer. The system is not. The system is the product, and that's what developers should be focusing on.
Another reason to take harness engineering with a grain of salt: it's shaped by coding agents. Coding agents are a very specific form factor which itself is evolving rapidly. Single user. Running in a terminal. Local filesystem. The patterns that emerge from this form factor are useful for this form factor. And I worry that generalizing them to broader agentic systems is damaging to the ecosystem as a whole.
Here's what I mean. And notice a pattern: many of these are solutions to problems that shouldn't exist in the first place if you start with the right system design.
1. Filesystems for memory and storage
Harness engineering recommends patterns like AGENTS.md files for memory. This works when one developer is running one agent on their laptop. It falls apart the moment you need a real product. There's a reason databases exist. Files don't support concurrent access. They don't support querying. They don't support access control. A filesystem as your memory layer is a single-user solution presented as architecture.
And now I'm seeing people build "virtualized file systems" that wrap databases into filesystem-like structures to patch over these limitations. At that point, just expose the database. You get SQL as a first-class interface, proper access control, and durable storage without the abstraction gymnastics. And you know what, LLMs are even better at SQL than they are at cat and bash.
2. No multi-tenancy or RBAC
How do 50 engineers on a team share an agent securely? How do you control which users can trigger which actions? That's multi-tenancy, authorization, and access control. No filesystem pattern solves this. You need real RBAC.
3. No resource isolation
How do you stop one tenant's runaway agent from burning through your entire token budget? That's resource isolation. It lives at the system level. A harness has no concept of it. I hear people recommending sandboxes scoped to individual users and it makes 0 sense to me because your costs will eat you alive.
Btw these problems aren't new. They're the same problems we've been solving in software engineering for decades.
The instinct to create new terminology comes from a good place. "Harness engineering", "Scaffolding”, "Context engineering". People want to name the new discipline. But every time we mint a new term for a subset of systems engineering, I think we make it harder for developers to recognize that the patterns they need already exist and we shouldn't re-invent the wheel.
All problems that harness engineering solves, you can solve with systems engineering. Maybe I'm wrong about this, but I'm just seeing harness engineering create more issues than it solves (virtualized file systems???)
If we want developers to successfully build agentic products, we should encourage them to think in systems. The solutions already exist. We should use them.
Again, maybe I'm missing something. I'll keep an open mind as I learn more. And maybe the answer is simply that harness engineering applies to coding agents and not to broader agentic products, which makes perfect sense.
TLDR: Agent = Model + Harness undersells the real problem. Harness engineering is shaped by coding agents (single user, terminal, local filesystem) and ignores the 70% that makes agents work in production: multi-tenancy, RBAC, approval flows, audit logs, resource isolation, durable storage.
These are systems engineering problems.
The world is transitioning to a compute-powered economy.
The field of software engineering is currently undergoing a renaissance, with AI having dramatically sped up software engineering even over just the past six months. AI is now on track to bring this same transformation to every other kind of work that people do with a computer.
Using a computer has always been about contorting yourself to the machine. You take a goal and break it down into smaller goals. You translate intent into instructions. We are moving into a world where you no longer have to micromanage the computer. More and more, it adapts to what you want. Rather doing work with a computer, the computer does work for you. The rate, scale, and sophistication of problem solving it will do for you will be bound by the amount of compute you have access to.
Friction is starting to disappear. You can try ideas faster. You can build things you would not have attempted before. Small teams can do what used to require much larger ones, and larger ones may be capable of unprecedented feats. More and more, people can turn intent into software, spreadsheets, presentations, workflows, science, and companies.
People are spending less energy managing the tool and more energy focusing on what they are actually trying to create. That shift brings a kind of joy back into work that many people haven’t felt in a long time. Everyone can just build things with these tools.
This is disruptive. Institutions will change, and the paths and jobs that people assumed were stable may not hold. We don’t know exactly how it will play out and we need to take mitigating downsides very seriously, as well as figuring out how to support each other as a society and world through this time. But there is something very freeing about this moment. For the first time, far more people can become who they want to become, with fewer barriers between an idea and a reality. OpenAI’s mission implies making sure that, as the tools do more, humans are the ones who set their intent and that the benefits are broadly distributed, rather than empowering just one or a small set of people.
We're already seeing this in practice with ChatGPT and Codex. Nearly a billion people are using these systems every week in their personal and work lives. Token usage is growing quickly on many use-cases, as the surface of ways people are getting value from these models keeps expanding.
Ten years ago, when we started OpenAI, we thought this moment might be possible. It’s happening on the earlier side, and happening in a much more interesting and empowering way for everyone than we’d anticipated (for example, we are seeing an emerging wave of entrepreneurship that we hadn’t previously been anticipating). And at the same time, we are still so early, and there is so much for everyone to define about how these systems get deployed and used in the world.
The next phase will be defined by systems that can do more — reason better, use tools better, plan over longer horizons, and take more useful actions on your behalf. And there are horizons beyond, as AI starts to accelerate science and technology development, which have the potential to truly lift up quality of life for everyone. All of this is starting to happen, in small ways and large, today, and everyone can participate. I feel this shift in my own work every day, and see a roadmap to much more useful and beneficial systems. These systems can truly benefit all of humanity.
ICYMI -- last week we released `deepagents deploy`, the fastest way to take a highly capable, long running agent to production.
agents are becoming more and more standardized, and we're betting on this open standard for agent config!
user memory and subagents coming soon!
Introducing the #AIIndex2026: Our most comprehensive, independently sourced data analysis of AI’s trajectory, with a clear-eyed assessment of the critical gaps that remain. As AI advances rapidly, can the systems built around it keep up? Explore the data: https://t.co/WqRGeRZIjA
Play the game: https://t.co/0x2cVT8QDg
Code is here: https://t.co/3kbqPbrf61
Talk about the game (or just talk trash) in the gradient-bang channel in the Pipecat Discord: https://t.co/C4HTiAE1eA
Today is a big day! We're launching a ~ new ~ version of Claude Code in the desktop app. It's been redesigned from the ground up for parallel work and is a lot faster.
It's been my main way to use Claude Code for the last few weeks.
AI agents now do the work of entire SaaS apps via natural language prompts—no UIs, no seats, no subscriptions needed.
It ate tools like CRMs (Salesforce-style), billing, analytics dashboards, scheduling, support ticketing—anything where humans clicked buttons or entered data. Just prompt Grok/Claude/etc. with your goal + data access, and it executes end-to-end.
Software layer became overhead.
AI agents now do the work of entire SaaS apps via natural language prompts—no UIs, no seats, no subscriptions needed.
It ate tools like CRMs (Salesforce-style), billing, analytics dashboards, scheduling, support ticketing—anything where humans clicked buttons or entered data. Just prompt Grok/Claude/etc. with your goal + data access, and it executes end-to-end.
Software layer became overhead.
I just published 2 fun cookbook for @claudeai Managed Agents!
- 🤖A data analyst agent that ingests a CSV, explores it in a sandboxed Python environment, and returns charts and written findings
- 🤖A Slack bot that answers data questions in-channel, runs the analysis in the same sandbox, and posts results back where the question was asked
Read more here:
- https://t.co/RRJeJy6T6C
- https://t.co/SCHP2Yjwzn
(I don't know if human eyeballs read cookbooks anymore, but I do hope it's nice to even just skim through. It's nice to know the underlying details of how things work 🥰 )