Lots of people seem to think that you don't need to learn how to [scan a network], all you need to learn in this brave new world is how to prompt the agent to [scan a network].
Replace the content in brackets with anything.
Lots of people seem to think that you don't need to learn how to [scan a network], all you need to learn in this brave new world is how to prompt the agent to [scan a network].
Replace the content in brackets with anything.
The weird thing is that this is the utopia that the AI companies are chasing - this is the best case scenario where AI doesn’t kill us all. We become happy sheep relying on the AI to think and provide for us.
"It is well that we are so foolish, or what little freedom we have would be wasted on us. It is for this that Book of Cold Rain says one must never take the shortest path between two points."
https://croissanthology.com/earring
You don’t need to achieve it, you just need to make people think you have. For the general population, that’s already happened.
To be honest lots of developers think they don’t need to learn machine code. They just need to learn a language which once compiled will produce machine code.
I wonder if a probabilistic compiler would be fine for the people arguing this. One that sometimes produces machine code that does something else, and sometimes produces machine code that is just broken and does nothing useful. From the same source code.
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?
I've run into compiler bugs before.
There are compiler bugs (rarely) which will be fixed. That's different from fundamental flaws in the technology, which cannot be fixed.
Compilers are deterministic and, luckily, not agentic.
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...)
[dead]
This is different.
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.
I've been arguing for years that is isn't optional and treating it like it is is how we ended up with Electron and 400MB JavaScript websites.
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.
I take it you listen to Casey Muratori's talks? He talks about this a lot.
I mean I don't disagree, but there's still a difference in the kind of disconnect you get. The disconnect is harmful in the high-level language case, but it's dangerous and irresponsible with vibe coding/LLMs.
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.
LLMs these days seem to have no problem using language semantics to conceptualize what’s happening in a program. This is my favorite use of an LLM, “why is this library doing x” and then it digs through the library itself in my venv to find an answer.
Yep, super-duper-google is an unequivocally good use case for LLMs.
That's not what the LLM is doing. It is guessing at what is happening by regurgitating some docs. It's a more expensive web search.
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 internalize the inner workings of all the libraries in your venv? Impressive! My current project’s uv.lock has ~60 packages in it already, reading and comprehending those tens to hundreds of thousands of lines of code must be time consuming.
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.
Developers can change their minds.
The catch is just that if you lack the capacity to estimate how much computing power [task in brackets] might need, and your agent can autonomously create AWS instances, that might have bad consequences for you (or your bank account).
The more time LLMs are a hyped thing now the more I realize how immensely important human expertise is. I recently stopped all usage of LLMs due to this. Skill degradation hits hard, learning effect is zero and the outcome is not really something a person without adequate expertise can properly judge. I fear we will loose a lot of human expertise due to this marketing stunt of a technology.
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.
[flagged]
The irony here that if you ever do any kind of practical woodworking lessons or general hands on craft work, metal working, or any 3D, you will be encouraged to use hand-tools over bandsaws, etc. The reasoning being so you know the fundamentals of what you're trying to achieve with the more complex tools later on.
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
I studied computing at AS level in the UK (16-17 years old). I learned about: computer components (disks, memory, cpu), binary, ASCII, assembly and machine code. We programmed in Turbo Pascal. I then spent ten years doing non-computer things until I came back to a masters. I was one of the top students in my masters because i didn't need help with fundamentals. The other top student had previously made contributions to the linux kernel (even though he was a philosophy grad...).
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.
You're very close but to woodworking AI is more akin to a 3d printer than even a CNC let alone swas and planes.
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.
> Sorry, but to me an LLM is nothing but a tool. It is not a replacement for my expertise and it is definitely not something to outsource my thinking to.
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.
[flagged]
If it's a one off and needs no or minimal maintenance work afterwords, sure.
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.
[flagged]
It's interesting user43928 that you only created your account here 19 days ago and that every one of your comments is pro AI. You don't comment on anything else. Also interesting that you promote Fable by name here (it was only released 2 days ago).
(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.)
What's crazy is the prompt must be something like "pro-AI but still believable and measured", since its "fixed my iOS app albeit with back and forth". Interesting, they know the HN crowd for sure.
Is that surprising, considering I'm using AI a lot?
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.
What was the back and forth?
Since it couldn't reproduce the issue in the iOS simulator, I had to run it on the device, reproduce the issue, and provide the logs.
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.
If you look into large fully-vibecoded projects getting styling changes to work is a nightmare. The problem with agents is using them on large projects without manual review for consistency, guidelines and taste. Doesn't really matter the type of project.
Agents can't look at a large system holistically, guidelines on .md files only go so far.
This line of thinking is like suggesting people who would like to become structural engineers should learn to Google plans and copy them since in the future, all plans will be out there more or less, or something that insane.
I suggest people who need some structural engineering done may use an AI tool to do it, in the hypothetical scenario that it was within the AI's capabilities.
That's hardly insane. Not everyone is interested in learning something they want done.
How do you know if this something is 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.
That is a good question.
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.
CSS keeps improving and models still train on legacy. So yes, knowing what’s possible and how is very much needed if you want to do something scalable and maintainable. Random blog or landing page, not so much.