"You should have a sub-hammer to adversarially enforce that your primary hammer accurately drives nails into wood"
We wouldn't accept such behavior from any other tool, machine, or computer program. At least most of us would not. To paraphrase the old saying: Some people, when confronted with a problem with an AI model think "I know, I'll use an additional AI model." Now they have two problems.
I find it very intriguing that two lineages of models -- from two different companies -- that are supposed to be painstakingly RL'd to become human-level programmers are actually consistently bad at it out of the box in very similar ways. One would think that at least one of OpenAI and Anthropic would (could) have pushed their model to a direction different from "if you can solve a 100-line problem in 10,000 lines, do it".
Human level programmers generally suck too. Unending security holes have been human behavior ever since we started sharing computers.
Also, programming isn't a destination, it is a process and everyone has a different ruleset on what that process looks like. Writing a computer program of any complexity is not a determinalistic process. Trying to compare it to a detemanilisic tool will just leave you with broken analogies and a poorer understanding of the world.
Or another way to say this. If programming were deteminalistic we'd have solved it without AI.
> We wouldn't accept such behavior from any other tool, machine, or computer program.
Von Neumann, 1952: "Probabilistic Logics and the Synthesis of Reliable Organisms from Unreliable Components." The whole result is that you get an arbitrarily reliable machine out of unreliable parts by adding more unreliable parts and voting. Every ECC memory and RAID array descends from it.
But why stop at rewriting in another language. Get another sub agent to invent a new language, create a database, query language and maybe another few DSLs. Then you've got an ecosystem!
You can now re-position your initial solution and sell the client access to some agents that will implement & configure the ecosystem to suit their initial needs!
And don't forget the agents that you'll need to train the customer to use the whole thing!
Sorry, I wasn't implying your advice doesn't carry weight. Was more just thinking about the things that (used to) happen when you introduce more parties to process of creating software.
I wonder if I would need a non-openai agent to enforce it.. I have tried so far with skills and agents.md and code stills end up over engineered to the moon.
Will ask OpenAI to write me that agent! Hope the agent is not over engineered or else unsure how to solve the bootstrap puzzle :D
There's a misconception that a mistake one instance of a model makes will be repeated by other instances. In my experience most mistakes are just sampling noise, and having the same model (with empty context) check the work usually fixes it.
It's super easy - just ask your agent to set up a code review commit gate.
In omp you can also have the advisor role, which is off by default, you can enable it with /advisor command. It acts as a model that reviews the default agent's work in the background.
I am omp pilled, but as the other comments say, any good harness lets you do this in one or the other way.
unrelated: all my homies use their claude subs with omp, and aside from sometimes having to rety the connections, it works, and nobody got banned (yet)