The Orange Nerd

My love-hate relation with LLMs

I have a love-hate relation with LLMs. I'd like to share my experience.

Initial reception

Until very recently, I was looking at LLMs (or "AI" as is it frequently called) with a very bad eye. What was I seeing ? Stupid videos, youtube and the web being invaded with low quality content that does not learn you anything, and low-quality full-of-bugs "vibe coded" software...

Even on the radio or the TV, we see AI content and hear about AI all day long. That makes me think to the 3D TVs commercials a few years ago : it was THE product and THE next revolution and there were ads about that everywhere and at any time. (That revolution did not happen).

At work it is even worse : very intensive communication to learn how to use AI, at first mainly with productivity tools, and then in IT in general (mainly as an assistant for coding). We must use AI, because you know, everyone will use it, and if we don't, we'll be left behind.

At some point, it was a sort of AI overdose.

Okay, let's have a try...

As I said, at work hierarchy was pushing hard to make everyone use Gemini for various tasks; I've always written my presentations and documentations myself and I do not need, and do not want a machine to write that for me.

I started to use Gemini for answering questions, to evaluate if it can be useful and if it can give right answers, mostly for technical stuff. It turned out it was nearly always right, and as the answers were quicker to get than searching on a search engine, I used it more and more, for this particular need.

At home, I tried to code with Gemini a java calculator with everything a programmer needs. Some code choices were weird (why make simple when complicated also works ?), but with Gemini doing the big work and me the finishing touches, I eventually had a working calculator.

Trying a bigger project in Rust

Then I had the idea to code an emulator with AI assistance. I took some pieces of a TRS-80 emulator I wrote several years ago to start an Amstrad CPC emulator. I also wanted to use a Z80 emulator I wrote, to start with something already working for the CPU.

I wrote the initial document to help Gemini to start the work, and after a few evenings I had a very basic version able to execute something (incorrectly) and to display something (with the wrong colors). Not a full success, but the very first versions of an emulator are never perfect, don't they ? ;-)

Gemini very quickly showed its limits there. Mainly for two reasons:

Then I had a try with Mistral, and that was even worse. One AI always had the right (and working !) fixes : Claude. To the point that after a few evenings trying the free version, I subscribed to the pro version and finished this first large project seeing use of AI assistance.

You can read the full story of this CPC emulator there.

What do I think now ?

After this first large project, I don't see myself stopping using AI assistance to code : it's very practical, for both coding and debugging, and a HUGE gain in dev time. You still have to watch the code, not because it does horrible code, but sometimes it makes strange design choices if you don't guide him or don't correct him when he makes these choices. And you'll still have to do yourself the design choices, the tests, the QA, and you'll have to help it a lot for debugging. The CPC emulator took me five weeks of intense sessions, even with the help of AI; it's NOT the magical tool that will do everything by itself.

You still have to know how to program, even if it's at a higher level : coding pattern, design choices... but you can mostly trust it to write syntaxically correct code that works. As I see things, that will more and more become the norm. Who wears clothes that had no machine use in its manufacturing process nowadays ?

I still have an overdose of AI generated texts, videos and pictures polluting the web, but even without that, internet was becoming shitty since a long time, so I guess we're all used since years to recognize and avoid shitty content, right ?