AI News HubLIVE
In-site rewrite4 min read

AI Is a Bad Tool

The article argues that AI is a poor tool for software development, except as a data distiller. It highlights AI's opacity and the difficulty of verifying its outputs, criticizes prompt engineering as a scam, and suggests that AI reveals a lack of proper abstraction in software stacks. Ultimately, many software jobs were already useless, and AI just exposes that reality.

SourceHacker News AIAuthor: shtgnwrng

aianti-patternproductivitysoftware engineering

Editor's Note: friend of ByteCode.News Hideki Idoru submitted this for publication, and it has a lot of value even if not every point is agreed with: it's not difficult to find it's failure modes observed widely in the industry these days.

AI is a bad tool.

At least, AI is a bad tool for software.

I'll start with the positive side to get it out of the way. AI can be useful if you perceive it as a data distiller. Whereas before, you'd put a thing into your search engine, click on the result that sounded most promising, then scan the page for the info you're looking for and process it in a way you understand, AI -- if it's good and true -- condenses those steps for you. Indeed, search engines today try to close the gap by inserting an AI snippet at the top of their results, but the immersive part is your ability to follow up and refine the info even further.

This used to take a long time to do manually, and it's genuinely easier to have the machine do it for you. So it's not all bad.

But that's pretty much where it ends. If you use AI for anything else, and in particularly if you use it to generate code, you're wasting your time.

Before I go into why, I have to take a step back and talk about the debate about AI itself. It is often too emotional than it needs be. A lot of it on the part of its detractors is driven by fear of losing their livelihood and becoming essentially irrelevant. I don't think the emotions help, but they do provide interesting insights into the human condition because, as I'm about to show, the fear is real (but for a different reason).

In other words: yes, you're going to become irrelevant, and no, it's not because the machines will become too smart for you. It's because you produce garbage code and they can do just a little better.

The reason AI is a bad tool is that generally speaking, it is completely opaque. A standard question one often hears is, "who is going to maintain the app you had it build for you?" Well, if you're fully onboard the AI train, you'd say: the machine. If it built it, it should surely also be able to maintain it. That's not false.

The real question is, who can verify that what the AI built is good and true? Recently, there's a lot of talk about AI allegedly finding security flaws in software. That is an unsubstantiated claim. As such, it would need to be verified by a non-machine, and arguably, the verification process would require the same amount of effort or more than would be required to find the issue to begin with.

The same logic applies to the app you have had the AI build for you. Who is going to verify that it is doing what it is supposed to? It might look like it is, but notoriously, Schein and Sein aren't the same thing. And lo: when writing tests for existing implementations, AI is notoriously known for biasing the tests to fit the implementation instead of blindly writing them from a specification point of view. It doesn't solve the problem -- it just makes it look like it did.

AI being completely oblique also means that 'AI engineering' or 'prompt engineering' is a complete scam; same like SEO in the day, any claim of being able to manipulate a blackbox machine in some clever way is bogus. You have no way to establish correlation, and whatever patterns you might hallucinate about however the machine works are unstable. In short: you don't have access to the source code, and even if you did, you likely don't have the mental processing power to understand it, and even if you did, AI moves too fast for any patterns you might derive to be purposefully true. You're not inherently stupid; the machine was just built by very smart people who are so smart that they likely don't fully understand it themselves.

So AI is a tool you cannot look into: a machine-realised form of "trust me bro". In that case, why is it so revealing when it exposes an ingrained human fear of being irrelevant and left behind? Why do you revolt against it much?

Because any programming task you have the AI do for you today is on account of you not properly abstracting your work. If you have AI rename a symbol; well, this is something your LSP should handle. If you have AI scaffold your project, probably the scaffolding is something your framework should take of. Every line of code that you have your AI produce is likely to reduce abstraction and increase repetition. All the AI does is reveal the lack of proper abstraction in your stack. And the problem with that, for you, is that if the code were properly abstracted, you probably wouldn't have a job, but as things stand, the machine is becoming better than you at producing unabstracted code.

In other words, if all AI does is produce trivial code, then it should be trivially abstractable. Were it to produce non-trivial code, which it doesn't, that would beg the question how it did that based on its inputs, but that would still gain you nothing due to its obliqueness and the fact you'd need to go over something non-trivial yourself that you probably don't understand. It either solves non-problems, or creates non-issues.

The grand point here is that most jobs in software have been useless long before the advent of AI. AI just tore that mask off, and that is driving people crazy.

So where do we go from here? How to deal with the consequences of a software world that, accelerated by AI, will become a dead graveyard where no one has anything to do, because AI does all the useless, unabstracted work, and a select few geniuses operate above the aether?

I unfortunately don't have a good answer to this. Maybe people need to go back to following their passion, instead of chasing the ghost of AI and its fake promise. Maybe being passionate about something you build, understanding it fully, owning it completely, and abstracting it properly so it never falls prey to the menace of AI, is the only way forward.

Comments (0)

Sign in to comment

No comments yet.