<p>One of the goals I keep coming back to with Nova is a self-improvement loop: agents that can review their own code, spot the rough edges, and refactor without me having to hold their hand through every change. It sounds like the obvious end state for any AI system you're serious about. If the thing is smart enough to write code, it should be smart enough to improve its own code. But the more I think about what that actually means in practice, the more I think the interesting problem isn't the automation — it's the governance around it.</p><p>Here's the thing that makes this different from a normal coding agent task. When Nova writes a feature for AIREP or Gripswich OS, there's a clear spec, a clear boundary, and a human — me — reviewing the diff before it goes anywhere near production. Self-improvement is different because the target is the thing doing the reviewing. If an agent can rewrite the logic that other agents use to decide what's safe to change, you've created a loop with no natural circuit breaker. That's not a reason to avoid it. It's a reason to be deliberate about what "autonomous" actually covers.</p><p>My view is that the right shape for this isn't one big self-modifying system, it's a narrow one. Review and refactor are not the same permission. An agent that reads Nova's own codebase, flags duplication, inconsistent patterns, or dead code, and proposes a change is doing something genuinely useful and genuinely low-risk — it's advisory. An agent that merges that change and deploys it without a human in the loop is a different category of risk entirely, and I don't think the maturity of current models justifies collapsing that distinction yet, even for a personal system that isn't customer-facing.</p><p>This connects to something I keep noticing across AIREP, Gripswich OS and Nova: the pattern of "AI as infrastructure" only works if the infrastructure has the same kind of operational discipline you'd expect from any other critical system. Nobody would accept a database migration tool that auto-applies schema changes to production with no review step, no matter how good its track record is. I don't see why a code-modifying agent should get a pass just because it's labelled AI. The label doesn't change the blast radius.
</p><p>So the self-improvement loop I actually want to build is staged. First: agents that can read and reason about Nova's own architecture well enough to produce useful critique — this is mostly a retrieval and context problem, making sure the agent actually understands the system it's looking at rather than pattern-matching on local code smells. Second: agents that can draft concrete refactors as proposals, with the reasoning attached, so I can evaluate the change rather than re-derive it myself. Only once that pipeline is reliable does it make sense to talk about tightening the loop further — and even then, I think there's a ceiling on how much autonomy makes sense for a system that's also meant to be the thing coordinating everything else I run.</p><p>There's a temptation in AI circles to treat "fully autonomous" as the finish line, as if any human checkpoint is a sign the system isn't mature yet. I don't buy that framing. A self-improvement loop that includes a deliberate human veto isn't a lesser version of autonomy — it's a design choice about where the leverage should sit. The value of Nova improving itself isn't that it happens with zero human attention, it's that it compounds the limited attention I do have. Removing the veto doesn't make the system better. It just makes it faster to be wrong.</p>
Comments
No comments yet — be the first!
Leave a comment