The difference is that LLM output is very nondeterministic.

And because of that, we check in the generated code, not the high-level abstraction. So to understand your program, you have to read the output, not the input.

It depends. Temperature is a variable. If you really need determinism, you could build a LLM for that. Non-determinism can be a good feature though.

How would you do that? If it's possible, it seems strange that someone hasn't done it already.