Some random thoughts about AI
I must have tried to write this blog post a dozen times at least, but I can never seem to find a coherent structure to my thoughts on the topic. I think this is just the expression of how inconsistent my own position has been over the past few months. I decided to bite the bullet and just write this as incoherently as it comes to me, so that I may sort some of it out.
So without further ado, let's dig in!
I consider myself neither an AI hyper nor a doomer. I'm in this awkward position where I appreciate the craft too much to just embrace wholesale automation, while also recognising the potential it brings. I hope to bring both perspectives in this post.
General thoughts
LLMs feel like magic!
This is an easy one, but I want to start with something positive. If I went back in time and told me 13yo self that one day, I could talk to a computer and have it "understand" (or parse I guess) what I say, accurately, this would have blown my mind. From this point of view, LLMs do feel like magic, they are what generations of tinkerers have dreamt of.
LLMs are bad.
Okay I started positive, time to balance it out. 'Bad' is so vague, nondescript, because LLMs fit this word along many dimensions.
- LLMs are an eco-disaster in waiting. No matter what Silicon Valley enthusiasts try to sell, training frontier models and serving inference at scale consumes a ridiculous amount of power and water (among other things, including all the resources necessary for the GPUs involved) in a world that has less and less to offer.
- Automation benefits those who own capital, not the workers. And while this kind of discourse may have lost some of its pep in our societies (although the widespread affordability crises around the world are definitely kicking it back in full gear), it doesn't make it any less true. Wholesale automation will not bring us to a post-scarcity utopia, it will just remove any semblance of leverage we ever had over those who own everything we need to live.
- LLMs hurt our tenacity. I see it in myself, I see it in others. If you have an easy mode for everything, you don't really try to do anything hard. Not sure how to do a task? Ask ChatGPT. Need to write a nice letter or poem? Ask ChatGPT. I think it's very human to give up and reach for the easy solution when it's just there, waiting for you. You may not agree, but I do see some value in those who insist on doing things the hard way, and I sometimes force myself too.
- LLMs inundate us in slop. I'll get back to that term, but it's true that more and more of the content we all consume daily is now produced by a passionless always-perfect machine. The imperfection of human writing, the emotions carried in a message, these are what make the small web such a wonderful place, and what is absolutely missing from AI prose.
Oops, the negative part is twice as big as the positive part... Well it's always easier to pick through negative aspects. And some of these are no joke. But at the end of the day, AI is here to stay, so it's good to not just dwell on these and think about the positive things that can be done with it.
LLMs are not just stochastic parrots.
If you've been around the LLM discourse, you must have heard the expression "stochastic parrot" used to describe LLMs. Generally a derogatory expression, the idea is to reduce these models to simple next-token prediction models, essentially guessing what the likeliest next word should be. The underlying notion here is that the output is meaningless, "fake", just a random distribution sample. In practice though, LLMs are complex black boxes. The transformer architecture itself is already way beyond a simple Markov chain, but the reinforcement learning processes in post-training add a lot of non-linearity to this. In physics, we often remind ourselves that non-linearity is the source of all complexity. A simple non-linear process can appear very complex at first. In my opinion, this is what LLMs are. A complex process born out of non-linearity, even though the statistical principle behind it is rather simple.
On AI for coding
AI coding isn't too bad.
I have this friend, he's like the real deal nerd software engineer (something I respect and even envy quite a lot). He got me into mechanical keyboards, he's always trying to sell me on Nix, he has a strong opinion on literally everything (and I hate that he's mostly right on stuff). So naturally he doesn't like AI. Well, not so much dislike, but every time he's tried it, he found it 'lackluster', made too many mistakes, didn't do things like he wants, could have done it better himself. Now is this savvy guy right, and is everyone else who finds value in LLMs just not good enough?
I don't think so. I think both are right. LLMs are great tools to get conventional stuff done, like writing boilerplate, using a popular framework, setting up a well-known Docker app, etc. By construction, LLMs excel where they have training data, and where the noise of that data is low enough that the output converges to an acceptable solution. Ask an LLM to write Python or TypeScript and you'll get wonderful results. Ask for Haskell, and results may vary.1
And on the other hand, using a coding agent effectively is not as easy as "pls Claude solve world hunger, make no mistake." You gotta give it something to work with, learn the quirks of each model, do some of the mental management work, etc. Mind you, it's not a hard skill, just a skill. After a while, I see myself doing a lot more with a lot less tokens, but I sure didn't at first.
You should still be in command.
I said all this, but I just can't understand people who just let the AI do everything. I've done that in a couple of side projects (the kids call it vibe coding I believe) and I hated it. I read recently that what I felt is called being a meat proxy. It was as awful as that word sounds. I just don't see the appeal of being so mentally detached from the process that all I do is click ok and look at a refreshed page/app and see if it's what I want. Is this what managers feel like? To me, it felt a lot like that one time I tried TikTok. Just kept scrolling, but my brain wasn't really engaged.
I think our added value, as people, as workers, as passionate tinkerers, is in our judgement, our experience. Is something a good idea? Is it maintainable? Will someone else removed from this immediate piece of code have an issue because of it? All sorts of questions that don't always fit in 1M context windows but are critical for a healthy project.
So this is how I use AI:
- I define my requirements, my goal.
- AI refines them, pokes holes, finds parts I haven't considered.
- I confirm, think on it, maybe try again from a different perspective, until I'm happy.
- AI generates an implementation plan, a recommended architecture.
- I review it, I ask for an explanation, I criticise it, eventually I confirm my choice. I build my TODO.2
- AI implements, delegates to subagents (that's important, you need to save your tokens...).
- I run a review, ask for clarification on pieces of code I don't understand, complain about stuff I don't think should be there, correct the LLM if it goes rogue.
- I commit, push and merge. I'm the final gate because it's my ass that's accountable for stuff.
Through all of this, you'll notice I'm never just clicking 'yes', making a sandwich while Claude builds an app.
For annoying tasks, AI is the best.
I don't think that's controversial but I love using AI for stuff I just cannot be bothered to do. Picture it: it's Friday afternoon, your pipeline is failing. You need to wade through logs inside the cluster. Oh no, the application log doesn't show anything wrong. Maybe the pod ran out of memory? Which part caused this? Can I improve it? I gotta test the fix, benchmark it, rerun, etc...
Just writing this paragraph on a Saturday afternoon in bed made my heart rate spike. Every, single, part of this process is tedious. But my bestie GPT 6.1 Sol doesn't complain, finds the problem, offers a fix, runs the benchmarks, all the while I keep my sanity.
You shouldn't brag about how much you spend.
I swear, sometimes the online AI crowd is really tough to read. I've seen people boast about spending $500 a month on their AI subscriptions. I don't get it. These guys are running Claude Opus around the clock, building stuff and more stuff, all of it slop by the way (at least the unfortunate ones of which I could check the website).
For personal projects, I use DeepSeek v4 Flash, I must have spent like $15 in two months, and I have never produced that much code and useful software for myself. If you spend that much money, you better have a reaaaal good ROI on it, otherwise go to the casino you'll get the same dopamine feel.
AI and personal software
I wanted to keep this section for the end because it's probably the aspect of AI I like the most. For some weird reason, I've always felt a bit shy when it comes to programming. You see, I'm not a full-on CS guy, my primary training is in science, math and all that jazz. On the other hand, I was pretty much born with a laptop in my hand, I'm generally more coding-minded than peers with my background, bearded nerds are my people. Yet, I was never that adventurous when it came to coding. Always staying on the safe side, never rocking the boat. Some projects just felt too intimidating.
But LLMs are a game changer. Nothing is too intimidating when you have a semi-expert con artist at your side. LLMs are great at giving me confidence that we can build something complex together, that no matter what I won't just get stuck mid-project.
I noticed I've become a lot more enthusiastic when it comes to building personal software. You can find some examples in my forge, of which the website is a good example itself. I'm now self-hosting my own git repositories (using soft-serve), and built a custom frontend for this forge so that I can show my projects around. Took me what, 4h with DeepSeek, maybe $1? It's pretty much just a simple web server, some backend cloning/polling git repos and voila!
Similarly, I'm trying to steer clear from "freemium" services if I can build my own. I was using Inoreader for my RSS for a while, but always had the constraints hanging over my head. Then I remembered building an RSS aggregator is easy, I'm already paying for a VPS, why the heck don't I just build one? Turns out, the aggregator part of this is not hard (web server + sqlite + some intermittent polling) and I could have done it in a day or two even before I had LLMs at my beck and call. But providing and debugging a reliable Google Reader API so I can use any of the millions of RSS feed viewers on Android is a different game. I would never have had the patience to do it by hand, and thankfully I didn't have to!
Conclusion
I hope you enjoyed my stream of thought, I definitely feel lighter now that this isn't swirling in my head. If you're like me, I hope you feel like you're not alone in this confusing divided AI world.
-
As usual, LLMs are improving so fast that every such statement ends up disproven in a couple months. But a new statement always takes its place. The main point is that generalisation is a hard problem, and no finite system can perfectly cover every aspect of every topic, period. ↩︎
-
I used to let AI write the milestones, the TODO, etc. But it gets too verbose, too disorganised. Everything gets done at any point, no human can read it and understand what remains to be done. My TODOs are simple, scoped, a couple of lines per point, a few points per milestone. ↩︎