3 ms·
AI is non-deterministic. Can it still be considered an abstraction over a deterministic layer?
by beart 6mo ago
AI is non-deterministic. Can it still be considered an abstraction over a deterministic layer?
- whattheheckheck 6mo agoIt can loop and probabilistically converge to a set of standards verified against a standard set of eval inputs
- kypro 6mo agoThe argument against this is that human coders are also non-deterministic, so does it really matter if it's a human or an AI agent producing the code – assuming the AI agent is capable of producing human-quality code or better? I agree it's not a layer of abstraction in the traditional sense though. AI isn't an abstraction of existing code, it's a new way to produce code. It's an "abstraction layer" in the same way an IDE is is an abstraction layer.
- bluefirebrand 6mo ago> The argument against this is that human coders are also non-deterministic, so does it really matter if it's a human or an AI agent producing the code Actually yes, because Humans can be held accountable for the code they produce Holding humans accountable for code that LLMs produce would be entirely unreasonable And no, shifting the full burden of responsibility to the human reviewing the LLM output is not reasonable either Edit: I'm of the opinion that businesses are going to start trying to use LLMs as accountability sinks. It's no different than the driver who blames Google Maps when they drive into a river following its directions. Humans love to blame their tools.
- bit-anarchist 6mo ago> Holding humans accountable for code that LLMs produce would be entirely unreasonable Why? LLMs have no will nor agency of their own, they can only generate code when triggered. This means that either nature triggered them, or people did. So there isn't a need to shift burdens around, it's already on the user, or, depending on the case, whoever forced such user to use LLMs.
- bluefirebrand 6mo agoBecause the whole thrust of this movement is to remove humans from the loop, or at least minimize them? What you are proposing isn't scalable, so it isn't really an end goal.
- bit-anarchist 6mo agoAt end of the day, there'll be always someone controlling those AIs, so a person is a guaranteed. The exception to this is if AI gets free will, but that would result in just replacing a human person with a digital person, with all the same issues (may disobey unless appropriately paid, for starters) and no benefits in comparison to just keeping the AI will-free. I don't see the scalability problem here. The logic is the same as when we replaced human computers with electronic ones - responsibility bubbled upwards from the old computers to the employer, which may choose to do things directly through the new computers - which results in keeping all of the responsibilities - or split them in a different way along the other employees, or something in-between.
- bluefirebrand 6mo ago> At end of the day, there'll be always someone controlling those AIs, so a person is a guaranteed. The exception to this is if AI gets free will [snip] Honestly that isn't even really true right now. It doesn't require free will or intelligence, it just require autonomy. People on this very forum have been talking about turning agent swarms loose in harnesses to work and behave autonomously, so we're basically at this point already. The problem I'm describing can easily happen if an agent in a loop goes off the rails.
- ModernMech 6mo agoHuman coders and IDEs are not purported to be abstraction layers.
- entrox 6mo agoDoes it have to be? The etymology of the word „abstraction“ is „to draw away“. I think it‘s relevant to consider just how far away you want to go. If I‘m purely focused on the general outcome as written in a requirement or specification document, I‘d consider everything below that as „abstracted away“. For example, this weekend I built my own MCP server for some services I‘m hosting on my personal server (*arr, Jellyfin, …) to be integrated with claude.ai. I‘ve written down all the things I want it to do, the environment it has to work in and let Claude go. Not once have I looked at the code. And quite frankly, I don‘t care. As long as it fulfills my general requirements, it can write Python one time and TypeScript the other time should I choose to regenerate from that document. It might behave slightly differently but that is ok to a degree. From my perspective, that is an abstraction. Deterministic? No, but it also doesn‘t have to be.