5 ms·
Of all the points the "other side" makes, this one seems the most incoherent. Code is deterministic, AI isn’t. We don’t have to look at assembly, because a comp
by hakunin 8mo ago
Of all the points the "other side" makes, this one seems the most incoherent. Code is deterministic, AI isn’t. We don’t have to look at assembly, because a compiler produces the same result every time.
If you only understand the code by talking to AI, you would’ve been able to ask AI “how do we do a business feature” and ai would spit out a detailed answer, for a codebase that just says “pretend there is a codebase here”. This is of course an extreme example, and you would probably notice that, but this applies at all levels.
Any detail, anywhere cannot be fully trusted. I believe everyone’s goal should be to prompt ai such that code is the source of truth, and keep the code super readable.
If ai is so capable, it’s also capable of producing clean readable code. And we should be reading all of it.
- ctoth 8mo ago> other side??? > We don’t have to look at assembly, because a compiler produces the same result every time. This is technically true in the narrowest possible sense and practically misleading in almost every way that matters. Anyone who's had a bug that only manifests at -O2, or fought undefined behavior in C that two compilers handle differently, or watched MSVC and GCC produce meaningfully different codegen from identical source, or hit a Heisenbug that disappears when you add a printf ... the "deterministic compiler" is doing a LOT of work in that sentence that actual compilers don't deliver on. Also what's with the "sides" and "camps?" ... why would you not keep your identity small here? Why define yourself as a {pro, anti} AI person so early? So weird!
- hakunin 8mo agoYou just described deterministic behavior. Bugs are also deterministic. You don’t get different bugs every time you compile the same code the same way. With LLMs you do. Re: “other side” - I’m quoting the grandparent’s framing.
- danny_codes 8mo agoGCC is, I imagine, several orders of magnitude mor deterministic than an LLM.
- hakunin 8mo agoIt’s not _more_ deterministic. It’s deterministic, period. The LLMs we use today are simply not.
- philipswood 8mo agoBuild systems may be deterministic in the narrow sense you use, but significant extra effort is required to make them reproducible. Engineering in the broader sense often deals with managing the outputs of variable systems to get known good outcomes to acceptable tolerances. Edit: added second paragraph
- hakunin 8mo agoI'm not using a narrow sense. There is no elasticity here. See https://en.wikipedia.org/wiki/Deterministic_system https://en.wikipedia.org/wiki/Deterministic_system > significant extra effort is required to make them reproducible. Zero extra effort is required. It is reproducible. The same input produces the same output. The "my machine" in "Works on my machine" is an example of input. > Engineering in the broader sense often deals with managing the outputs of variable systems to get known good outcomes to acceptable tolerances. You can have unreliable AIs building a thing, with some guidance and self-course-correction. What you can't have is outcomes also verified by unreliable AIs who may be prompt-injected to say "looks good". You can't do unreliable _everything_: planning, execution, verification. If an AI decided to code an AI-bound implementation, then even tolerance verification could be completely out of whack. Your system could pass today and fail tomorrow. It's layers and layers of moving ground. You have to put the stake down somewhere. For software, I say it has to be code. Otherwise, AI shouldn't build software, it should replace it. That said, you can build seemingly working things on moving ground, that bring value. It's a brave new world. We're yet to see if we're heading for net gain or net loss.
- dvfjsdhgfv 8mo agoIf we want to get really narrow I'd say real determinism is possible only in abstract systems, to which you'd reply it's just my ignorance of all possible factors involved and hence the incompleteness of the model. To which I'd point of practical limitations involved with that. And that reason, even though it is incorrect and I don't use it in this way, I understand why some people are using the quantifiers more/less with the term "deterministic", probably for the lack of a better construct.
- cheema33 8mo ago“Of all the points the other side makes, this one seems the most incoherent. Code is deterministic, AI isn’t. We don’t have to look at assembly, because a compiler produces the same result every time.” This is a valid argument. However, if you create test harnesses using multiple LLMs validating each other’s work, you can get very close to compiler-like deterministic behavior today. And this process will improve over time.
- otabdeveloper4 8mo ago> just add more magic turtles to the stack, bro You're just amplifying hallucination and bias.
- hakunin 8mo agoIt helps, but it doesn't make it deterministic. LLMs could all be misled together. A different story would be if we had deterministic models, where the exact same input always results in the exact same output. I'm not sure why we don't try this tbh.
- verdverm 8mo agoI've been wondering if there are better random seeds, like how there are people who hunt for good seeds in Minecraft
- exe34 8mo agoit's literally just setting T=0. except they are not as creative then. they don't explore alternative ideas from the mean.
- hakunin 8mo agoAre you sure that it’s T=0. My comment’s first draft said “it can’t just be setting temp to zero can it?” But I felt like T is not enough. Try running the same prompt in new sessions with T=0, like “write a poem”. Will it produce the same poem each time? (I’m not where I can try it currently).