One of the things that keeps coming up in my conversations about AI and software is the difference between software with an agent or LLM in the loop and what we've always thought of as "software".
It's really hard to talk about because, as far as I can tell, there's not yet a distinct name for what we used to just call "software."
So I'm picking one.
Agentic software is comparatively expensive to operate and sometimes has opinions, making it a lot harder to reason about.
Classical software without any AI in the loop is cheaper and easier to reason about. It's much more likely to be deterministic. It's not capable of some of the neat tricks that agentic software is. And there are a lot of times when you want that. I'd go so far as to say that if a given piece of software can be reasonably built to operate correctly without any runtime AI, it should be.
This is something I run into a lot as I build tools on top of a coding agent using skills. Part of what makes skills so powerful is that they are subject to judgement calls by the agent using them. But that's also what can make them kind of a disaster. If a new model suddenly decides to interpret the text through a slightly different lens, suddenly your reliable process becomes less than reliable.
This is a thing I've seen with Opus 4.6 and Superpowers 4. Sometimes, the Opus agent coordinating an implementation run would decide that instead of letting a subagent do code review, it should do the code review itself because the code was "straightforward." That led to the coordinating agent blowing out its context window. In that particular instance, the quick fix was adding additional context to the "subagent driven development" skill the coordinator was using to explain why we told it to use disposable subagents for code reviews.
Moving delegation decisions out of the agentic loop that's role-playing as an orchestrator and into a classical program that can't deviate from the prescribed process would absolutely fix that class of problem, even if it made a bunch of other stuff tricker.
The reason I'm writing about this isn't so much about when to pick agentic software and when to pick classical software as about explaining what I mean when I say "classical software."
Classical Software is software that's expected to be deterministic, written in a programming language, and executed by a computer.
- (Before you email me about how computers actually work, I'm deliberately ignoring things like floating point math, explicit random number generation, and race conditions. You know what I meant.)