Comment by bambax
12 hours ago
I don't think the comparison (that's often made) between AI and compilers is valid though.
A compiler is deterministic. It's a function; it transforms input into output and validates it in the process. If the input is incorrect it simply throws an error.
AI doesn't validate anything, and transforms a vague input into a vague output, in a non-deterministic way.
A compiler can be declared bug-free, at least in theory.
But it doesn't mean anything to say that the chain 'prompt-LLM-code' is or isn't "correct". It's undecidable.
Actually, it isn't that different. Compilers are trash. They produce hilariously bloated and stupid code, even the C++ compilers, not to speak about your average JIT compiler.
However, in practice we don't care because it's good enough for 99% of the code. Sure, it could be like 5x better at least but who cares, our computers are fast enough.:tm:
AI is the same. Is it as good as the best human output? Definitely not. Does it do the job most of the time? Yes, and that's what people care about.
(But yes, for high-impact work - there's many people who know how to read x64 asm or PTX/SASS and they do insane stuff.)
> A compiler is deterministic.
Not usually they aren't. They can be made to be, but it requires extra effort and tradeoffs. Hence why there is a lot of work put into reproducible builds — something you would get for free if compilers were actually always deterministic.
Unless you are taking a wider view and recognizing that, fundamentally, nothing running on a computer can be nondeterministic, which is definitely true.