A little while ago, I saw this BlueSky post, shared by a number of friends, comparing generative AI to the One Ring:
As both a software engineer and a Tolkien nerd (I fell in love with Sindarin before I fell in love with Latin), this comparison interests me. I am increasingly pushed to jump on the AI bandwagon if I want to stay relevant, and find myself switching between viewing gen AI as a neutral tool that can be used for either beneficial or nefarious purposes, depending on the person wielding it (the “guns don’t kill people, people kill people” view), and viewing it as something that inherently is evil and cannot be used for good without being corrupted to more diabolical ends (the One Ring view). Honestly, I’m not entirely sure where I fall right now.
To be fair, in my field of work (software development) there is more legitimate use for gen AI than in other creative pursuits it's being turned to, such as art and writing. Unlike a painting or a novel, which requires a level of personal craft and expression that cannot (I would argue) hold value without human labor, code is meant to be repetitive. Having a “boring” codebase is actually a good thing, because it makes applications more predictable and easier to scale and maintain. I can see the appeal of a program that can quickly process a large codebase and generate PRs that follow the codebase’s general patterns and guidelines. And to be sure, the ability of certain LLMs to contribute productively to a repository has become somewhat impressive. I’ve used Claude Code on side projects, and while I almost always need to give it some follow-up prompts, I have also noticed that it can pick up patterns pretty rapidly, and take care of generating things like data models and API clients in a matter of minutes, saving me the tedium of a lot of repetitive boilerplate. And sometimes when I’m stuck on a certain issue, I can throw a question into the agent window and figure out what I’m missing, in a sort of beefed up rubber duck session.
But all this convenience comes only for those willing and able to pay. To use models from Claude, OpenAI, or any other provider, users must choose between accepting lower-strength free-tier agents or paying to access more efficient agents that will produce better results. For Claude, which is currently the best service for AI-assisted coding, an individual pro plan costs $200/year, or you can purchase pay-as-you-go access to models. For many, this is a price well worth paying for the benefits Claude’s agents provide. But it’s also part of a troubling trend in the tech industry where companies reserve the best—and sometimes, only viable—versions of their products to those willing to pay extra. Yes, I realize that Anthropic is a business, and they need income to stay afloat (notwithstanding the fact that they seem to spend loads more than they make). But I remember when I started to learn computer code in 2018, the tools I had at my disposal were entirely free: online courses, meetups, Google, Stack Overflow. It bothers me that those starting out today, if they want to be competitive candidates for software jobs, probably need to pay a monthly subscription fee just for access to the latest tools. For all that CEOs like to praise AI as a means of reducing barriers to coding, we now have more pay-to-play services that are only available to those who can afford them.
And access fees aren’t the only price we pay. I'm even more concerned that increased use of GenAI in producing code will lead to increased dependency on quick tech solutions, at the cost of understanding the outputs that our automated agents produce. The increasing temptation (if not outright obligation) to work with LLMs every day makes me worry about what gaps I’m missing in my knowledge. How do I develop the deep knowledge and experience necessary to be able to direct, fix, and revise what LLMs produce, when time is already at a premium? How do I know when I can or can't trust the work Claude produces or see what is missing from it? Especially since googling these days will just direct me to AI-generated answers, how do I know what to trust?
I’m sure there are ways—in software, at least, if not in other fields—to leverage generative AI in ways that actually do help. In the output-driven world of job requirements (which, ironically, are only becoming more demanding as a result of AI) there often isn't time to properly slow down and think through the problems we're trying to solve. Software engineers (myself included) all too often have to jump head-first into writing code in order to meet deadlines. One feature of coding with LLM agents is that they are more beneficial when you spend more time planning up-front, adopting more of an architect role and allowing the agent to be your junior developer. Using LLM agents can be an opportunity for engineers to think more methodically and pause before diving straight into code (or at least, letting the LLM dive straight into code and fail more quickly so that the engineer can then figure out how to fix things). But even here, it is easy to fall into a trap. The same urge to dive headlong into code so you can finish a task and move on to whatever task is next is also the urge to just copy-paste an error message into my agent window instead of pausing to think about what’s actually going on when the error occurs. It’s not that it’s inherently bad to ask an agent for advice on an error, but it’s very easy to slip into a pattern where your first go-to is the agent and not your own brain.
There’s also the broader social and environmental impact of gen AI to consider. While an argument certainly can be made for the viability of LLM-written code in software, the data centers required to power our ever-improving models have a substantial carbon footprint, and take power and water from local communities. While AI alone isn’t responsible for our impending climate crisis, it has become a substantial contributor, and proposed data centers will only make this worse (take, for example, the number of centers currently proposed in my home state of Virginia). Without more ecological means of powering LLMs, the environmental price of genAI will be far greater than your annual $200 for a subscription to Claude. I often find myself wondering whether this is worth the improvements I’ve seen in code generation.
Ultimately, I'm not sure I’d wholly agree with the argument that gen AI is the One Ring. But it is comparable to a ring. Tolkien nerds like myself will tell you that it wasn't the only ring crafted in the history of Middle Earth. In the Second Age, the elves crafted several magical rings: for themselves, for dwarves, and for men. They did so under the advice of an emissary named Annâtar, who was actually Sauron in disguise. The rings, Annâtar claimed, would help the different races of Middle Earth rule their respective realms and lead them to prosperity. Their true purpose, however, was to bind them to Sauron, who had secretly crafted his own ring to give himself even more power: the One Ring to rule them all. While the elves were strong enough to use their rings for good without succumbing to Sauron’s will, the other rulers of Middle Earth were either consumed by greed and anger (Dwarves) or turned into wraiths and completely subjugated to the Dark Lord (Men).
These negative outcomes were built into the way the rings’ magic affected their owners—a feature, not a bug, you could say. Since the rings prevented the decay and dissolution of what their bearers most loved, they appeared effective to the users who wore them. They made elves able to preserve their homelands, dwarves able to accumulate wealth, and men able to gain power and dominion over their rivals. However, through this power, the rings latched onto their owners’ desires and corrupted them into lust for power. They extended their bearers’ lives, while lessening the overall quality of those lives (the clearest example here is Gollum, who transforms from a Hobbit to a monstrous creature because of the centuries he spends with the One Ring). Even the elves, who were strong enough to resist the dark power of the One Ring, had to hide their rings away until Sauron was (temporarily) defeated at the end of the Second Age. Every ring crafted under the guidance of Sauron was tied to some degree or other to his dark power, so every bearer risked falling under his influence.
These fantasy tales may be a bit of a far-fetched analogy to today's tech landscape, but I can't help but feel that we've all been given some tools and told that they will make our lives better, while the people who make the tools want us to grow dependent on them and give them more power. As Cory Doctorow has already described, in the first stage of enshittification, a product establishes a loyal and dependent user base, only to neglect regular users to the benefit of shareholders. You'll forgive me if, based on the current quality of my Google search results and my Facebook/Instagram feeds, I don't entirely trust Anthropic and OpenAI to make products with my benefit in mind. Their goal, like that of all businesses, is to increase their own dominion, and the tech industry is increasingly a world where increasing dominion and benefitting end users are two very, very different aims.
So, is generative AI really comparable to the One Ring? Maybe not, but it certainly possesses some significant ring-like tendencies. Our challenge now is whether, like the last Alliance of Elves and Men that fought Sauron at the foot of Mount Doom at the end of the Second Age, we are able to resist those tendencies, or whether we are already ensnared by the promise of seeing our desires fulfilled by those who don’t necessarily have our interests at heart. Since I don’t think we’re going to be throwing our LLM subscriptions into Mount Doom any time soon, we’re going to have to figure out ways to keep these tools from transforming us for the worse.