What if your compiler could be fooled by some other developers into spending thousands of dollars, and still not produce the desired machine code in the end?
But yes, it's not obvious (or perhaps even likely) that it just happens that current high-level languages are the "correct" optimal level of abstraction at which you can ignore the sausage-making details at the lower levels. Ultimately, of course, it depends on the use case. Something like Python is so far removed from machine instructions that knowing assembly hardly gives the programmer any additional value.
(Also, obligatory reminder that assembly and even numeric machine code are also abstractions, an "API" provided by the CPU. Instructions get split or fused into micro-ops, named registers are a backwards-compatible abstraction over a much larger register file, instructions get reordered and executed in parallel depending on their data dependencies, a large fraction of the total transistor budget is spent on multi-level caches and cache logic to maintain the illusion of fast access to a single, uniform memory space...)
Understanding assembly/machine code is optional but helpful. The programming language semantics are enough to reason about what the program is doing. Other tools also help, but are optional for learning how to program.
Using an AI, there is no semantic model that can be used to reason through. You're left without any mental model of the proglblem at all.
When you have no mental model of the machine running your code or what the physical implications of code mean, you fundamentally lack the ability to reason or care about performance. "Works on my machine" is the original vibecoding.
Also, I would argue that a good enough understanding of computer architecture and a mental model of a process' memory layout gets you there, without knowing how to write assembly. That's still a mental model.
You also don't have a mental model if you need to ask the LLM about it. This is stuff you should be internalizing.
You’re also just confidently wrong about the model reading the code. It quotes file paths and line numbers and I open and read those files at those line numbers. For me, hallucinations are much more frequent when it references the docs rather than code because docs are more subjective than code.
This is a normal thing I’ve been doing since at least December.
I have to ask — do you actually use LLM coding tools? Your knowledge on this topic seems really out-of-date.
People often claim learning is actually supercharged with LLMs but to me it's the opposite. I didn't learn anything within the past year.
It's always held true: You'll never get the most out of advanced tools unless you can 'do it by hand' so to speak
The argument for having autonomous LLMs/Agents often ends up as "none of us need to know about assembly, why do i need to know about the code?".
I cringe every time I see this argument.
Yes, a 3d printer and not even a CNC. That difference nicely illustrates the difference of what AI brings to the table for any domain of competence.
Great on you, that's indeed how LLMs should be used, proper. But if anything, the article demonstrates someone is trying to outsource thinking to an AI agent.
If it's intended to be actively maintained, then you probably should understand how things work, unless you want to wipe everything and start from scratch when the LLM creates such a mess that it can't be sorted out.
(Don't worry, I know I'm rowing against the tide with this comment. The AI people have decided to destroy the commons for a few more millions on top of the billions they have already been given. It's a shame.)
I have not hand written a single line of code in months on my side projects.
Obviously I am also interested in discussing the latest model. Your claim that I promote anything or otherwise don't engage here in good faith is both misplaced and against the site rules.
This went on for many rounds, during which I tried to steer it toward what I thought was the source of the bug, while the model mostly kept adding instrumentation and logs.
In the end the cause was not what I suspected, but reasonably close to it via another mechanism.
Agents can't look at a large system holistically, guidelines on .md files only go so far.
That's hardly insane. Not everyone is interested in learning something they want done.
If you do the thing yourself, you know your knowledge limits, you know where the thing lacks. With LLMs, you don't. Maybe it works, maybe it doesn't. You have no idea.
In structural engineering, there probably is no risk tolerance.
In the OP's network or port scan? Perhaps you can get away with verifying a few of the results to get an idea about whether it worked as expected.
I use AI mostly on mobile app side projects, and there QA testing on phone and tablet tells me whether a feature works or not.