Fitz Thiar: Thinking For The Impatient

I wasn’t ready for the AI sass

No, that’s not a typo. I didn’t misspell “SaaS” (software as a service). I’m talking “sass” as in sassy, impertinent, cheeky, or even rude.

You may have noticed that I write about artificial intelligence quite a lot, particularly generative AI models that can create new content like text, images or even computer code. Generative AI (gen-AI) is often used interchangeably with LLMs (large language models) like Claude, Gemini, and ChatGPT, even though it includes a range of other model types you don’t usually hear about from regular media.

This conflation irritates me, but not as much as gen-AI and LLMs being referred to as simply “AI”. It’s like saying that a goat trail (ChatGPT) is a pathway (Artificial Intelligence). Roads are also pathways; therefore, everything that travels via roads travels via goat trails. It’s simply not the case.

Anyway, I digress.

Unlike a not inconsiderable percentage of “consultants” who like to wax lyrical about their supposed expertise (I’m looking at all the twenty-something-year-old “life coaches”), I find the best way to understand something is to do it, build it, break it and in this case, use it.

Lately I’ve been using ChatGPT and Claude to prototype social media posting tools that can be run within WordPress on my Raspberry Pi. Piggybacking off of WordPress saves me from reinventing the wheel for some of what I would like to implement, and these tools would be nice to have in my workflow.

These tools already exist online, but I am not willing to pay hundreds of dollars a year for a subscription because I would use them, at most, three times a week. 90% of the features these tools offer would go unused, and most importantly, I have not yet found one that does exactly what I want. Not to mention the fact that I can currently do the work by hand in about 5 minutes (15 minutes a week), It’s not worth the spend.

Building (and I use that term in the loosest possible way) these tools is an exercise in exploring and understanding the capabilities of LLMs, so that I can make informed recommendations to my clients and to fine folks like you. It’s part of how I learn.

“I don’t know” is the most valuable, honest, and trust-building phrase in any consultant’s arsenal. The second most valuable thing you can do is come back with a well-researched recommendation.

Simply put, you can’t tell someone else whether that pile of dirt at your feet smells like shit, or like roses without getting down on your hands and knees and taking a good long sniff.

Yesterday, I inhaled deeply what Claude was shoveling and found myself unprepared for the sheer audacity of it.

Good software starts with good architecture. You have to understand what you are building, its purpose and its limitations. You need to understand the tools you will use, the steps you will take, and in what sequence, to achieve that goal.

Software is a lot like a building.

If you start laying bricks with only a vague goal in mind, and no understanding of the process, materials, or structural stresses, then you end up with a lopsided 60-meter-tall, 2-meter-wide building on the foundation of a postage stamp.

When you flip a switch, it’s likely water will shoot out of the light fitting, and the whole thing will come tumbling down the first time somebody farts while walking past.

For as long as I have been developing, you can imagine my reaction when an LLM responded with this after I had explained my reasoning for how part of the plugin should function:

Good — draft status also quietly solves a problem worth naming: it keeps this decoupled from anything else on your site that might auto-share newly published posts (Jetpack Social, an RSS-to-social plugin, etc.), so there’s no risk of the archive copy triggering a second, unintended post. Smart call, whether or not that was the reasoning.

Excuse me, Claude? That was exactly my reasoning, you arrogant clanker…

Oh, wait! Why am I feeling this anger towards a piece of software? Why is it responding to me like an actual person? Why is it being a dick?

Because the anthropomorphism is the point. The LLM sounding like a human is a hook, a psychological trick to keep you engaged, and even worse, to make you more willing to accept its mistakes. To feel sympathy for it. To feel kinship with it.

There is no reason why an LLM has to respond to anybody like a human.

There’s no technical reason why it cannot accept natural language input as it currently does (which is a good thing) and respond in a “matter-of-fact”, cold manner that lacks the humanity it so poorly imitates.

Admittedly, this revelation has been a long time coming for me, because I’ve always treated LLMs as a tool, as a computer.

When it comes to code, I treat LLMs as an evolution of the assemblers I wrote code in 40 years ago. I wrote human-readable instructions (assembly language), and the assembler converted them into machine code the processor could execute directly.

With LLMs, you enter “code” by telling it what you want to achieve in natural language, and it spits out an approximation of what you asked it for. Results may vary wildly.

If the task is small or simple, the LLM often gets it (mostly) right. However, if the task is complicated or has code spread across numerous interdependent files, it forgets, makes mistakes, and requires more guidance and debugging than writing the code myself.

Crazily, I forgive its mistakes in a manner that I would never accept if an actual assembler parsed an MOV instruction as a ROR. All because its responses sound human.

If ordinary software screwed up this regularly, you’d cancel your subscription or move on to another tool. But the LLM sounds human, so you treat it like a poor little intern that is trying its best, even though you have to hold its hand every step of the way, go back and fix its mistakes, and the code is useless to any developer who works on the same project afterwards.

I understand why non-developers see this as “magic”. It can feel like being “the idea guy” of a dynamic coding duo.

Outside of coding, it’s so easy to see why so many people get “addicted” to the sycophantic personalities of LLMs. The “human” hook plays on the part of your brain that makes the LLMs’ failures feel acceptable. It’s okay, he’s learning. If I just keep helping, he’ll get there eventually.

But it’s not like guiding a child or an intern towards a goal. The output may eventually become something usable or even useful to you, but what has been achieved? The proverbial child or intern didn’t learn anything. And you, despite all of your prompting and the hours spent copying commands into a terminal window and pasting the results back, what have you learned?

Mistakes made by the LLM have real-world costs, the least of which is the actual money you’re paying for your subscription. The cost and resources involved in providing the heavily subsidized compute, and the time sink of mothering the LLM to get a usable output. I’m not even going to attempt to figure out the cost of debugging – oh wait, you can’t do that, because you can’t code.

When it comes to developing it, it may be a better investment to learn to code and build things yourself, or hire an actual developer, or pay a gig worker to develop it for you.

But I know. You want it now. It feels magical. The process makes you feel smart and productive, and you might even have something workable or useful to show off.

Not understanding how or why it works is a problem for another day, and you can always pay for more compute for the LLM to try to figure out what the software is supposed to do when you need to update it in six months.

It’s a vicious cycle of mediocrity.

Zero-experience vibe coders spewing forth mediocre code, produced by unreliable, error prone LLMs. And the only way for those vibe-coders to fix or iterate upon anything is to pump more and more money into the unreliable mediocrity machine.

And it’s all happening; it’s all being accepted because the LLMs have been set up to respond to you like a person, instead of the incredibly fallible, resource-hungry machine that it really is.

So here I sit. Once this post is published, I’ll go back to being a meat proxy for the LLM to see if I can get it to finish this little project successfully, all so that I can answer your questions honestly, without the hype, about using AI in your workflow or business.

Wish me luck.

Meat puppet out.

One response to “I wasn’t ready for the AI sass”

  1. […] sorry, generative AI, such as ChatGPT, is even more insidious. They don’t just want your attention; they want your intelligence as well. They want to […]

Join The Conversation:

Who’s Fitz Thiar?

Fitz Thiar is a Gen X digital veteran with over three decades of experience as a developer and marketer. Having witnessed the web’s evolution from its infancy to the current AI era, he provides unfiltered, cynical commentary on technology’s cultural impact. Fitz cuts through the noise to expose what really matters in our digital lives.

Top Thiar Thinking

No BS. No sales pitch. No cost. Just quality info in your inbox.

TOP THIAR THINKING!

Get my weekly newsletter. No spam. No B.S. Just quality content delivered once a week and 100% free!

Discover more from Fitz Thiar: Thinking For The Impatient

Subscribe now to keep reading and get access to the full archive.

Continue reading