It’s not hard to swap “LLM” speak and make it sound like arguments made about ever higher-level language.
We are all operating at a couple of layers up the stack and 99% of us would be lost at N-1 let alone N-2/N-3 but we don’t bemoan that. I really don’t see how LLMs are different.
Output from compilers is already verified - after all they have an extensive suite of tests.
With LLMs you're getting into the role of someone who keeps validating the compiler over and over, because its output is not deterministic.
Coding with an LLM could be at most compared with some kind of non-deterministic and non-documented compiler, where you could not predict in any way how it will generate assembly code, so every time when you compile a program you have to also list the generated assembly code and then you must read carefully the assembly code and think hard to determine if it really does what you want.
Of course that does not mean that an LLM is useless for coding or that there are no tasks that can be vibe-coded without worries.
But for anything of long-term importance, like a product delivered to a customer, reviewing carefully a lot of LLM-generated code is not guaranteed to be a simpler task than writing that code yourself. In some cases it may be more productive to partition the new code into code generated by an LLM according to your instructions and code that you write yourself.
They had jobs and reputations and self-images about being "good" at what they did and psychological needs. And further, they had the same incentives as me to not ship bugs when they could avoid it. And I could see, in general, the conversations humans were having, first on usenet and listservs and then on all the little situations on the larger internet.
I didn't trust them blindly, but if a bunch of us all seemed to be okay with the software for the mysql database or the apache webserver. And while I certainly have no idea who those specific folks were I do know how human communities work. When folks found malicious things in, say, a ruby yaml parser or a node package, it was loud.
And like all human scale things, the pacing was much slower so that things like a person's situation in a community and the human trust associated with that trust were things we could evaluate.
I can't evaluate the output of an LLM in the same way. It does not have the same incentives or needs. And it's not deterministic- if you recall comparing checksums between what you downloaded and what the folks putting the software published, then you understand what I mean here when I note that we could trust-but-verify a lot of things.
With the output of an LLM, it actually is important to check over, much of the human-level surface of how we review software is stripped out.
Few people are thrown into a codebase that they understand because they wrote it. Not every developer is issued their own greenfield project and said go have fun.