The SQL planner is most definitely "AI", we're just so used to it that it's become trite to say so. I'm having trouble tracking down the version I heard about, but this essentially the "AI effect": "Every time we figure out how to do one of these tings, it ceases to be called AI and just becomes useful software" [0].
Part of the reason I'm dismissive of the current pushback against AI is that people have such a vague definition of it that it starts becoming all inclusive to subsume things like SQL, the Shazam algorithm, etc. Personally, I think it's a good reminder that SQL has quite a bit of intelligence in it. After all, SQL was one of the first mass successes of a declarative based engine.
Put another way, in some abstract sense, one of the differences between SQL query planning and an LLM is one of scale and compute. I wouldn't be surprised that, at some point in the future, we'll see LLM simulation in SQL(ite) akin to how people use different systems to run Doom.
I feel that if we're supposed to call a SQL query planner AI, then any compiler that targets more than one architecure (including JIT compilers that optimize for the current processor's cache configuration) should be included as well. And if we're going to be that broad in terms of adaptable command execution then we should be similarly broad in terms of command interpretation, which says to me that all HTML parsers and rendering engines should similarly be classified as AI. After all, SQL queries still follow a very rigid structure and any non-conformant query will be rejected, whereas web engines are very good at recovering from non-conformant HTML input.
We get to define "AI" however we like, but a definition of AI that includes a SQL planner is so broad that it includes literally all complex software.
When I wrote that a broad definition of AI "obscures more than it reveals," I meant that lumping LLMs in with SQL planners and deterministic chess bots ignores (obscures) all of the details of their implementation.
But those implementation details matter. They have big implications on the uses, limitations, and risks of the software.
As I write this, one of the top stories on HN is a story about an OpenAI model accidentally hacking itself out of Hugging Face's sandbox. SQL planners don't do that. Chess bots don't do that.
That's not to say that saying "all complex software is kinda the same, and we can call all of it AI" doesn't reveal anything. There are some similarities that all complex software has, especially as we look back on the history of complex software and the impact it has had (or not had) on labor productivity.
But, IMO, what you discover by ignoring the details is less important than what you discover by delving in.