Comment by kevindamm
1 day ago
An AI assistant can give different answers for the same inputs. An application written by an AI assistant, if it doesn't just call an LLM at runtime, will mostly likely produce the same answer for the same inputs. That is, unless there's something intrinsic to its business logic that makes it nondeterministic.
Sometimes you really want the latter even if the former is less effort.
And when applicable, the program would be much more efficient than the LLM.
So it would really be beneficial for the LLMs to be able to have their own environments to write and run code, but also to store those programs for later use automatically.
A *human* assistant can give different answers for the same inputs. At some point, we'll need to stop treating computers as instruction executors and start treating them as autonomous agents. Non-determinism isn't a bug to be fixed, it's just the reality of working with this new kind of machines, and operators of those machines need to embrace that fact, like they did for human assistants.
And we started adding rules for the humans to follow, until we have complex bureaucracy. We invented tons of formal notations systems and error detecting and correction mechanisms. We invented deterministic machines. All because we are deeply unsatisfied with the non-determinism! Because it means you can never trust some process, optimize it away and stop thinking about it. You always need to check, and there is always something missing.
A lot of our manufacturing ability improvement during the last 200 years, as well as our engineering ability improvement during the last 500 years, is not just the raw power we unlocked, but that we made it deterministic, reliable and reproducible and hence automatable and automatic.
There's a reason bureaucracy has negative connotations. Also, notice how we still ended up with a system where everybody in the bureaucracy has a lot of leeway in what decisions they make.
Can you build a new hospital? Up to the local government to decide. How much is your property tax? Only a tax assessor can tell you. Which trees get trimmed and which are left intact? Decided on case by case basis with no strict rules. Which convenience stores are getting audited for tax and food safety compliance this week? There's a middle rank officer who makes that decision every week, my mum used to be one. How high is the bail set in criminal proceedings? Judges are famously very inconsistent on that and it's a good thing. In countries without constitutional gun rights, it's common that the final step in the process of obtaining gun permit is some government employee having a good gut feeling about you, and if they get bad feeling you get denied. And so on and so forth everywhere you look.
Manufacturing is a different beast entirely. I'm not saying we should put Siri and Cortana in charge of bolting down Boeing fuselage. But for most office and bureaucratic tasks, demanding perfect determinism is not only unnecessary but actively harmful.
So would you want a genius figuring out how to do everything you ask it to from scratch, or do you want to train someone how you want something done, so they do it the same way every time and you don’t have to explain yourself over and over?
Nondeterminism is actually a bug in many cases, and training, process and procedure, is how we mitigate it in humans.
You know what they call doing a task the same way every time? Micromanagement. Red tape. Waterfall design. In general, a bad thing. Kills creativity, slows everything down, minor setbacks become huge problems because there's no flexibility.
Defining every single step of every single task and making them perfectly repeatable works in an assembly line. But as an office assistant - and doubly so as a personal assistant - it creates inefficiency, makes dealing with edge cases very painful, and greatly increases maintenance burden of keeping all procedures up to date. Instead, giving people some leeway in how they approach their tasks and deliberately underspecifying processes to let them exercise their judgement is shown to work much better. Surely you had it covered in your training materials?
But sometimes you do just want the same answer each time. Not this human woo crap, where the answer depends on god knows what, but a deterministic function of some kind, reliably producing a given output for a given input according to a fixed set of rules.
Computers can do that!
Yes, but sometimes (quite often actually) you really don't care. The entire subfield of audiovisual compression is built around the principle that you don't care. The data is actively being lost and the image distorted, and you're fine with it. Wanting deterministic results out of MP3 is like wanting AC units to be loud. Sure, they are loud, just like MP3 is deterministic, but why exactly is being loud one of your requirements when choosing an AC unit? Isn't it enough to produce cool air, or in case of MP3 - sound good enough?
4 replies →
I want an agent studio and execution sandbox where my LLM driven assistant builds and maintains my apps with a receipt or transcript like history of what it did to create each app. Determinism built per use case with non deterministic assistance orchestrating the build and management layer. Extra credit if I can trivially share and collaborate with others per “deterministic silo” via a shared link. Something like Claude Code + AWS Lambda|(Docker|Podman) + Tangled.org with LLM code generation for my phone and workstation.
The LLMs empower for building, the determinism improves output-expectation alignment. It’s fundamentally an on device software factory, hypervisor, and storage system.
> my LLM driven assistant builds and maintains my apps
Remember when everyone was talking about treating computers as cattle rather than pets?
This seems like a weird inversion. Programs as pets instead of cattle. Toxoplasmosis, ahoy...
Cattle can do complex tasks too. Including managing other cattle.
Think of all those bad sci-fi movies where aliens take over Earth, enslave all humans and treat them like cattle. Very competent cattle that's put in charge of local governments, scientific research etc. but very much still cattle where individuals are entirely interchangeable and killing them is just everyday work. This is me and AI assistants. (I'm the aliens.)
If the code works good enough, it works good enough. If good enough is insufficient for success criteria, you’ll have to trade app evolution velocity and flexibility for more determinism via more human effort (“artisanal hand crafted”), evaluated on a per use case basis. “Does this software have to be good? How good? Have I hit diminishing returns yet?”
Pros and cons to code being cheap to generate now, it’s always about tradeoffs. I don’t want to build cars, I want to drive cars.
1 reply →