Genies and Horses: reflections on AI agents and software development
It's becoming common in development circles to refer to AI agents as genies.
I like this word, because it speaks to something of the wishful nature of using an agent. I might get what I want, I might not. Ironically, by using such a magical word, we strip away some of the 'magic' around how AI agents work. You ask for something; they give you something.
The idea of genies comes from the jinn of Arabia. The jinn have free will, they can be good, neutral, or evil. They live in a parallel world to humans. Stop me when this stops sounding familiar.
Some days when coding, I think my genie is a genius. Some days, I find it a productive tool that has saved me hours of work and brain power; and I can pass all of these benefits on to my clients.
Some days aren't like this. Some days I wish there were no genies, and that I could go back to writing the code myself. I know how to do it. I'm good at it.
When the genies frustrate me, I think about the horses of New York City.
By 1870 New Yorkers were taking over 100 million trips a year by horse-drawn streetcar. On July 26th, 1917, the last horse-drawn streetcar ceased operations. The era of the automobile had arrived.
If horse-drawn streetcars are the world of software development before AI, I'm an expert horseman.
I know the streets of the applications I build inside and out, and I know how to drive the horses. But I also know I can't afford to be the 1890 cab driver insisting that the automobile will never catch on.
And this brings us back to the genies.
The genie is out of the bottle.
I would rather we had not opened it. But we did. So I am learning, still, to refine my wishes.