← Back to context

Comment by traderj0e

15 hours ago

You could say the same thing about compiled code, actually it's worse because anything a compiler spits out is very hard to understand even for those who understand assembly.

You don't need to look at the entire program at the assembly level to figure out parts that you want to optimise or prove for correctness. You do need to look at all the code the LLM generates in order to understand it.

You can learn to understand the patterns that compilers spit out and there are many tools out there to aid in that understanding. You can't learn to understand what an LLM spits out because by design it is non-deterministic and will vary in form and function for each pull of the lever.

You can learn to understand how high level concepts in code map down to assembly language and how compilers transform constructs in one language to another. You can't know that about LLMs because they generate non-deterministic output based on processing of huge low-precision tables.

It's not even a close comparison.

  • I dunno, I'd rather proofread (or better yet just test) LLM-generated code than have to reason about assembly. You can't just look at part of the assembly to prove that the rest is right, especially if it's hand-written, or maybe just -O3. But anyway compilers are not what come to mind when someone mentions LLM coding.