Comment by ChrisMarshallNY
3 hours ago
So you currently routinely review the machine code and link tables produced by your compiler?
Eventually, the tools become trustworthy, and we no longer need to worry about their products.
We're just about there, with frontier LLMs, but I don't think we're all the way there, yet.
"I saw her duck" - how much would you be willing to bet on the intended meaning of this sentence?
English isn't a good programming language if you want to trust that the output will be as you want it to be. High level code has no room for ambiguity - that's why we use it. It's a concise, very explicit language to tell the compiler exactly what to do.
Dealing with an LLM is a fundamentally different thing. The reason it's able to speed us up is because it makes assumptions for us and reads between the lines. The only world where we trust the output is one where it can literally read our minds. That's not coming any time soon
How can a software developer compare a deterministic program with LLMs?? Please tell me that you aren't, or that it's not what really think!!!
How can a software developer not do the one basic abstraction step to see them both as tools with some unknown, low probability of error?
The human developer+compiler+linker toolchain isn't free of bugs either, some percentage it will produce code that fails loudly and sometimes it will produce code that has silent bugs, be it due to wrong source code or due to compiler or linker bugs.
Normal software can be reviewed to attempt to find bugs, and bugs can be fixed..!
LLMs instead are inscrutable, can output whenever at any time and you can't "fix their bugs"!
And don't attempt to place the probability of error of LLMs and normal software on the same plane, LLMs for the time being are wildly more unpredictable.
you're talking to a senior software engineer on a forum of senior software engineers, the very men constructing our future. I'm looking forward to reading his response.