Skip to main content

Command Palette

Search for a command to run...

About "AI"

Updated
16 min readView as Markdown
About "AI"

I have wanted to write this one for a long time. For such a long time that I have had time to change my mind several times, but the most significant modification that time brought is that I don't feel that what I have to say is that important anymore.

For better, the transcendence, the weight of what I could say, how much it could matter, is now way less. It matters way less. Or that's my feeling. I'm still alarmed of the ignorance of the public, the wrong assumptions of what generative AI is capable of - or simply how it works!-, but in general I don't have the feeling anymore that I need to warn people that the emperor isn't wearing any clothes.

It seems it's all falling by its own weight, becoming obvious, so people see that already. I feel that the hype is fading and what's left are the actual changes. Things are slowly settling in a new normal.

Still, here is another -unwanted- opinion. (I've learned I have the right to give one, but that doesn't mean you have to respect it). Also luckily, since it matters way less, I have the need to say less things.

Values

The first and most blatant problem I have with generative AI, is a problem of values. I have been raised in a culture that valued effort. That was reinforced with some books I read that left some strong impression in me - like "the obstacle is the way" and other stoic mindset book like "meditations". (I am slightly more cynic now, but I try to keep that younger mindset).

Reaping the result of my effort makes me happy. I am enjoying writing this blog in English, that's been learnt (with obviously some telling mistakes pointing me as non native, but quite happy with the achievement) the same as with any other language I'm studying. Or I practice the piano, I do exercises to get agility in my fingers, so I can dare play faster and more difficult songs, even reading the scores, I'm getting better at it. Or going to the gym and sculpting a body.

Together with effort comes discipline and consistency. So I don't look at shortcuts with good eyes.

I don't think I'd accept getting the final result without having to put the effort to reach it. If I wished for something, I wouldn't wish for "I want to be able to speak all the languages". Sure it can be fun for a while, but it will feel empty soon. Completing a video game with cheating codes doesn't feel like an achievement, does it? Instead I'd wish for a way to duplicate myself so I can study all the languages. That would feel more like it. That I've earned my way, through all the mistakes the skill.

Generative AI does feel a lot like a shortcut. At least that's what is being sold to us, a performance enhancer, and the truth is that you can get an instant result without any effort.

So I'm quite baffled when it seems that what we have to do is "use AI or be left behind". That taking the shortcuts is the "smart" thing to do. That we now have to use this enhancer or we'll become obsolete.

That it really works as they say or not is not relevant for this discussion. It's clear that the people who repeat this mantra "you'll be left behind", believe it truly. So, let's assume that's the case, we still shouldn't accept this point of view without any reservations.

Getting instant results without any effort was never an ideal to achieve, nor a dream come true. And we're damned if to be somebody in this world now is by not putting any effort whatsoever and getting instant results. By "gaming the system", which in most cases means abusing it and disregarding the rules in the most purposely way.

Apparently this became a society ideal... If we lived in a society with good ideals, the use of AI the way it's being sold to us, would be mocked and despised, not praised!

We all like stories where there is that ultra smart person that "games" the system and ends up victorious thanks to their wits. Like that small company that applied a smarter strategy than their competitors and became one of the big players. Or Dick Fosbury revolutionizing the high jump. Thinking out of the box should be encouraged.

But that's different than plain cheating. Just that the line is honestly blurry. I'm sure that there were other contestants then that tried to disqualify Dick Fosbury for his different approach as cheating. I'm also sure that he still trained like an athlete, and had to put the effort anyway.

Effort is the value. And it's limited like our time. So I don't want to waste it. if I can leverage it, of course I will. But that means training properly with good exercises and appropriate weights and eating well, maybe some strong caffeine pre workout, but not injecting synthol to my muscles!

That facade of muscles doesn't give you the health benefits that strength training gives. The same way letting AI write your texts doesn't give you the thinking exercise that writing on your own does.

AI slop, Human slop

The whole discussion above, about values, can take only place if we don't question this assumption: generative AI output is as good as a human output. That it reaches at least some threshold of quality, therefore the outputs can be equally interchangeable.

But does it?

There's no real answer as it depends a lot on the scenario, depending what you want to achieve, or to create, for who is it, etc. Without being rigorous, and just being my experience, I would argue that it is (was) easy to spot texts written by AI and what is written by a human. With AI slop is a very effective indicator of that.

Which made the whole discussion about values more infuriating! "Do you really believe that just outputting highly probable random words equals to my work?". "How mediocre do you think I am?". And worse, "how mediocre do you think the world should be?".

As slop isn't reserved to generative AI though. Way before that, we regrettably had content factories like "five minutes crafts" that told you to microwave eggs, or created more than cringe content designed to maximize social media algorithms clicks. An ocean of waste.

Generative AI can definitely substitute that pile of shit! Is that what people should be doing though? Is that what people need or even want? No. I do not want nor need that. I enjoy high quality content.

It's just sad though that generated AI content already infected all of the content platforms already (sometimes called social media). That's the result of some of the worst of human nature (the ones that don't hold the same values I tried to explain above) racing to the bottom for some miserable clicks.

We all can sin of terrible output though. I already wrote about that shortly in this other blog post. Anytime that we're learning something now, we'll basically output something terrible. Now that's a necessary step to become better.

And sometimes, that there's effort isn't what matters. That's where "slop" is accepted, be it generated or not. In this scenario generative AI becomes quite useful. For instance, I might use generated AI music for my new video game. Better than no music. Or in other words, the "average" that generative AI gives me is better than my poor output...

I know that this effortlessly given output has no value. The only value it can have is what I give to it by sharing it with other humans. (This amount of value probably equals to the amount of reputation I loose at the same time by doing the same action...)

I am just too self conscious and have some sense of decency to go around and share shamelessly slop everywhere. For sure I am not going to pretend that now I'm a composer because something else did music for me!

The -not- software revolution

For the same reason, that AI can generate code, that doesn't convert everybody to software engineers.

Arguably, generative AI is most useful in my field (software engineering), as it might be one of the few fields where effort was never important compared to efficacy and efficiency. The final product is what matters most, not how it's been achieved.

Sure, there is a sense of aesthetic on the code. Whatever makes it simple and easy to understand. Not convoluted. That translates the solution of a specific problem with the greatest precision and least ambiguity. But that this had to be with the biggest amount of effort in order to be valuable, that was never the case.

If any, speed and reaching that solution the fastest in the most efficient way is what matters.

So having a very smart autocomplete that follows the programming language syntax so we don't have to learn by ourselves, and that gives you an output from an (expertly) asked question, without putting the actual effort, now, in here generative AI shines.

But that doesn't mean a deep change on software engineering practices,. Nothing further than the truth. Let me give you some pre generative AI memes to refresh your memory:

We are already used to tools and practices that give you predefined outputs. I have some opinions about this, but the point here is that effort was never what mattered, but efficiency. Shortcuts are the norm. And if they used with expert eye, the benefits are great.

So generative AI is just more of the same. Not a revolution. If any the revolution is in the amount of slop generated by non experts, that will flood internet, and things like this:

will become the new training data for the new models, starting a vicious cycle...

And maybe it makes the rest of us become more inept at remembering the syntax of a programming language. In my case there's little difference from before and now. I never "practiced" enough so I could write a proper switch statement without checking the documentation/copying pasting from another place or letting myself be helped by the IDEs autocomplete.

But the idea that that generative AI should be somehow a game changer in software development has little justification, and it's been quite frustrating for me seeing how this proliferated.

First of all it ignores an actual revolution that really happened when agile practices appeared and devops was something. Many organizations are still missing this, and following some of the devops practices (properly!) will be 10 or 100 times more effective than having any "AI strategy".

You will have to read the rest of my blog posts if you want to learn more - or even better, read the main books - as I am just repeating myself here.

For you to have an idea, the change from before to now was the shape itself of the software development cycle, to something called waterfall (that had the shape of a waterfall), to something like this:

Do we have now a different shape for the software development cycle now that we have generative AI?

No. No, we don't. Changing the shape, that would be a game changer, but we only have some boosters in some of the phases.

Secondly, it goes together with the assumption that lines of code is a good measure of the output for a software product, when this has never been true. Not before and not now - especially now! with generative AI! Writing code is completely secondary and was never the bottleneck!

The important parts for software development are asking the proper questions so the conceptual model of the business processes that the software is trying to solve is the most accurate possible. Sure generative AI can help with that, but not because it can write/autocomplete code we're having now any kind of software engineering revolution!

Finally, one of the principles on software engineering - since we deal with the abstract - is the ability of repeatability, to have things deterministic. So if not used properly, a "randomizer" like a generative AI can be a step backwards!

The memes I shared above, highlight two different things in software engineering. One is the sharing culture it exists in software development, thanks to all open source projects, making it the common or the normal in software engineering. That's maybe one of the biggest wins we have as society.

The other thing it highlights is something I deeply disagree with. It assumes we have this mindset that we don't understand how things are made. "If something works, don't touch it". While I understand the dangers, that mindset is basically arguing for being incompetent.

Stochastic software development without any deterministic control gate is the next step on this mindset. "There's no need to understand it if the algorithm gives you the result". The limitation is that to have anything deterministically, actual concepts need to be baked in, "understanding" needs to happen, which is not how ChatGPT, Gemini or Claude works.

If you don't put this control gate, then you go down the road of stochastic development: adding randomizer after randomizer that controls the output of the previous randomizer in a loop of nonsense. Incompetence was vibe coding, amplify this now exponentially.

And what's funny is that you don't need a human for that deterministic control. That would be the most straightforward, let the human write the tests for example. But it can be also a tool that generates code, but deterministically. It's nothing new, and it doesn't cost billions of dollars. (I won't complain if you'd like to invest in my "AI" deterministic code generator tool for your company).

I am not a fan of code generation (as most code generation tools come from frameworks and have strong - and sometimes inadequate - biases), but a code generation tool, deterministic, in a mature company that has consistency in their intellectual property, is going to be way more effective than any "AI strategy".

I am all in for letting it generate code, do research on documentation, propose architectural solutions, even connecting it to other systems, let it do calls and communicate with downstream services ("agents", I just can't roll my eyes strong enough). Just that whatever you're doing, if it can be done deterministically, it would be way cheaper and more efficient.

This ship isn't made to fly

We know that generative AI based in LLMs isn't more than an algorithm that outputs the next more probable token (word) based on patterns it learned from enormous amounts of text and code, right?

The "surprise" was that at first, the output respects either English grammar rules, or, programming language rules (those ones are more restrictive and way easier to "achieve"). And then that it outputs something that made sense when consumed by sentient beings that do have an understanding of things (so far, that I know of, only humans). And more than that, that it was mostly correct for most of the time, for the things that it's already good at (which is mostly dictated by the training data).

But still, all the possible outputs generative AI will give is a subset of all the combinations and permutations of all the possible tokens (words). I believe that to be a huge astronomical number. But the output will never be something outside this set of solutions.

Where I am going is, with this premise, how can we believe this will give us the cure to cancer, to hunger, stop all wars, and enlighten us as species?! We believe we can achieve that by just creating a random sentence? Let's prompt "what's the cure to cancer?" and of course a randomized output of text will give you the correct answer. I find it even more nuts when, if we see that there is no conceptualization, no meaning, no understanding. It's just a probably correct set of empty words.

I don't think there's any standard academic way to measure intelligence, and I believe there's might be a lot of debates on how to do that properly. But I'd argue that "understanding" should be a requirement for it.

Maybe here's where I'm wrong, though, and a non-trivial internal representations and statistical structure of a huge amount of training data has hidden in there all the solution to all the human problems and that's what "understanding" might mean from now on. It's indeed impressive.

But I highly doubt that. On the first models, I reached a "wall" several times where it wouldn't know the proper answer, mislead me, and give plain contradictions in the very same chat. "Hallucinations". I quickly realized that the output was, at best, the "average" of internet. That's what made me such a skeptic at the beginning: how mediocre and incompetent one has to be to get blindsided by the hype?

Recently, it's harder to reach this "wall". It could be because the models got better, or most likely, that I accommodated my needs to what the model can actually chew: documentation search, and what some call "prompt engineering" a huge overstatement for the action of writing explicitly the scope and the context of the task.

If the models are getting better, thanks to the huge amount of extra training data, and whatever tweaks it gets, the improvement they get is marginal though. The benchmarks tailored specially for these algorithms won't convince me otherwise. Hallucinations are still a feature of those models, embedded in the design.

If there's any quality jump won't be because models are getting better. Will be for the rest of improvements in the AI field in general. There are a lot of other kinds of "AI". Reinforcement learning, probabilistic modelling, causal inference, knowledge representation, symbolic AI, neuro-symbolic systems, multimodal learning, world models, evolutionary approaches, and what else!

Mix and match, combine and throw in there LLMs too. I'm sure behind the scenes this is already happening. Some improvements we see are because there are other kinds of AI algorithms at play!

AI might cure world hunger and make us humans eternal. But it won't be thanks to Claude, ChatGPT or Gemini. We were told that this ship could fly, but we need a fundamentally different machine all together. For that, and until this doesn't happen, I will wait seated. Thank you very much.


I have used both Gemini and Chat GPT to ask for proper idioms in English. Especially when I feel I've read the expression somewhere and I can't properly recall. Good boy search engines, good boys.