My timeline is full of discussion about AI, and agentic coding.
It makes me sad how culture-wars a lot of it is. Very strident. Very “you’re either with us, or you’re against us!”.
For what it’s worth, I’ve been playing with agents, and I think that there are some great things about them. As a solo developer, having an agent pair-programmer has revolutionised my work.
That doesn’t mean I’m blind to the economic, social, ethical and environmental concerns. I think they are real, but I also think that they are nuanced and complicated.
In a lot of the shouting, the AI or agent seems to be a proxy for something else.
Cynical Idealism
I generally describe myself as a cynical idealist. In perhaps a trite way, I characterise this as “I believe there are better ways of doing things. I remain to be convinced that humanity is capable of finding them.”1.
AI feels like a perfect example of this. In an ideal world, it seems to offer so much hope. In the real world, it seems to be a tool for exploitation and division.
Information Should Be Free
I have always been uneasy about copyright, patents, and the idea of intellectual property.
I want information to be free - literally and metaphorically.
In this context, I’m comfortable with the idea of an AI system reading all the things, learning from them, and using that learning to benefit humanity2.
That is, after all, not a million miles away from what I do when I read, absorb, remix, half-remember, and apply ideas from other people. If I had the time, memory, and talent to read everything and synthesize it into something useful, I would.
I do not think the mere act of learning from public culture is inherently wrong, whether done by me, a machine, or a mega-brained alien who landed on earth and somehow absorbed all human knowledge.
Everything Else Should Be Free, But It Isn’t
In an ideal world, if I made something, discovered something, added to the sum of human knowledge or beauty, I think perhaps that being credited with the act should be enough.
One could argue that even wanting credit is a bit egotistical, but well, yeah - I have an ego. I’d like people know it was me. I’d like some peer recognition. I’m only human - but it would be lovely if that was all I needed, and I could trust that my contribution would be duly noted, enjoyed, built upon, or whatever.
Pragmatically, we do not live in that world.
Credit is not enough when we need money to feed, house, and clothe ourselves and those that we care for.
Trust is not enough in a world where there are bad actors who don’t subscribe to my hippy-ish vision of utopia.
When I was starting out in my career I was deeply paranoid about someone stealing my ideas, or my source code3. I was poor, and I needed the income that I thought I’d lose. I was also deeply worried about the injustice of someone else profiting from what I’d done, instead of me.
So I do not pretend this is simple. I am not trying to argue that creators should just accept being strip-mined in the name of progress. But nor am I convinced that all machine learning is morally equivalent to theft.
What I want, mostly, is for the conversation to stay nuanced enough to contain both the idealism and the pragmatism.
Is The Problem AI?
It feels to me that a lot of the anti-AI posts I see are actually people raging against capitalism.
What they are worried about is that a handful of large corporations are taking knowledge and art from those who made it, locking it away behind a paywall, and burning a whole ton of resources doing it.
They are worried also that in doing this, the corporations are also providing other corporations the perfect excuse to replace humans with robots.
In this outcome, the creators don’t get paid for creating, and the workers don’t get paid for working.
These are not properties of the technology in isolation. They are properties of the technology being deployed inside a system that disregards humans, and optimizes for profit. The ultimate result, I suspect, will be a machine that ends up eating itself. In the meantime, the question arises:
Is AI the issue? Or is it money?
The Revolution Will Not Be Hand-Coded
I’m sure you get the gist of where I’m coming from, and there’s no need for me to belabour the money thing much further. The massive resource and financial drains are real, but humanity could solve them if we worked together for the common good.
If we could fast-forward to some sort of utopian post-scarcity culture (maybe The Culture?), I think AI itself would be fine.
The fact that we can’t means that we’re in for a messy ride.
One where AI becomes very much the agent of that change, but probably one where a lot of people get hurt along the way.
We’ll either end up with a profoundly different economic model, or we’ll die trying. Literally.
This may be an argument for applying the brakes a little. It’s not an argument for stopping, or turning round - neither are an option. The genie is out of the bottle. Pandora’s box is open. Delete-cliched-metaphor-as-appropriate.
AI Is The Mother Of All Disruptors
The best we can do I think is to keep talking - sanely, rationally, calmly - about it. That, and try to find some positives. Try to evolve AI, address the problems, move forwards.
On the practical side, agentic coding tools truly are an enabler for someone like me.
I love being able to ask a coding agent a question like:
I am planning a refactor of property
xin protocolY. I want to turn it into a function instead and pass inzfor context. Will this cause any problems in the current codebase? Is there anywhere we do not have an instance ofYto pass in?
That is the sort of change I might previously have just waded into, despite theoretically knowing better, only to come unstuck when it was too late to back out cleanly.
I love getting the agent to explain things to me, and suggest improvements.
I love (and am not alone in discovering) the phenomenon of dusting off previously discarded projects, because suddenly they are feasible, and actually doing them.
I love that when I am frustrated by a hole in my toolchain (as I often am), and decide to go ahead and fill it (as I often have, in the past), I actually have a hope of succeeding now, rather than falling down a deep rabbit hole.
When you scale this phenomenon across the whole of society, we may make some surprising advances, by just making a whole ton of software.
Some of it will be “bug-ridden AI-slop”. Maybe even most. This is not that different from hand-written software, most of which is also imperfect at best.
Some though will be better than what was there before, produced by really great people with a clear vision, tons of experience.
People who are independent, not subject to group-think, and now have the means to see their idea through to release.
What was it that guy said? “Here’s to the crazy ones. The misfits. The rebels. The troublemakers”. You know the guy - I forget his name.
There are so many sterile markets where a small handful of very imperfect solutions have become the standard, and have frozen out the competition. Economies of scale, monopolistic behaviour, the inherent conservatism of people - all have allowed this to become the norm in many industries.
I think we’re going to see that breaking down, gradually.
I already feel it within the software development world, and the macOS and iOS ecosystem more generally. The amount of interesting tools and apps being released seems to have kicked upwards markedly, and these are good, solid well-engineered products, addressing genuine needs.
Anyhoo
My robot master tells me that I’ve been waffling on too long.
Apparently it’s time to get back to toiling in the lithium mines, digging out the resources for making the next robot that will replace it…
-
Incidentally, this a recipe for permanent misery. ↩
-
For what little it is worth, I do put my money where my mouth is here. The vast majority of the code I’ve written for myself in the last decade or more is open source. ↩
-
I came to understand that this was mostly hubris, as most wasn’t worth stealing. However, I think the fear did also hold me back, and prevent me from making connections that could have been positive. ↩