Maintaining Human Agency - AI

How do we maintain human agency in an age of AI-assisted development? My thoughts about dependency, agency, and what we're quietly trading away every time we hit Enter.

"Maintaining Human Agency" title with a background of slot machines.

The Context

I’ve been working furiously to get a web-app across the finish line for a creator client with an extensive Patreon presence (this will be important later). I needed to 1) Implement OAuth using Patreon’s neglected API, and 2) scrape 3 years of private podcast audio and metadata to upload to the web-app.
I pride myself on crafting resilient code that is easy to maintain, whether by me, or another dev years later. This craftsmanship is at odds with a looming deadline. I asked myself, “How can I finish this in a way that I’m proud of, make a profit, and delight the client?”
Recently, the promised path to efficiency has been AI, specifically LLMs. Claude 3.7 Thinking had just dropped the day before, so I tried to see if it could help me with these tasks. The TLDR is that it went 1 for 2 on being helpful, and 0 for 2 on leaving me satisfied.

The Bad

I saw a video of someone prompting Claude 3.7 Thinking to “Implement Auth,” and presto it worked. I tried that: Failure. I added the SvelteKit LLM docs to give it context and broke the problem into smaller chunks. Mayhem.

Open Source to the Rescue

I turned to YouTube, which led me to Huntabyte’s channel where he has several videos on hand rolling auth in SvelteKit. This led me to Lucia and Arctic, open source projects by Pilcrow. Lucia is “a learning resource for implementing auth from scratch.” And Arctic is a companion “OAuth 2.0 client library” supporting Patreon’s API. Bingo

In his fantastic book, Approachable Open Source, Brian makes the case for using dependencies with care. He argues:

Dependencies are a fantastic means to defer expertise and risk management, accelerate progress, and propel projects forward.
  • Brian Muenzenmeyer, Approachable Open Source

By using these open source tools, I was able to accelerate the implementation of my auth system while also building understanding for the future.
I also found small errors in the Arctic example documentation for Patreon and submitted a pull request that was promptly merged. Now, not only have I saved time and built something I’m proud of, but I’ve also made a small contribution to the open source tech community.

The Helpful (But maybe not good)

I don’t often have to scrape the web. When I decide to make a habit of it, I’ll learn more. However, this project needed to be done quickly. I didn’t want to download and document three years of content manually. I’ve found AI useful for writing scripts in the past.
I wrote a detailed prompt in Warp, gave examples and let Claude go to work.
Even with the time savings, this was not the magical or enjoyable AI experience I was promised. It was often stymied by simple punctuation errors of its own creation. I was reduced to a slot gambler hitting Enter every 30 seconds to allow the agent to take the next step, hoping that this time I would hit the jackpot it would work. After an hour of this, I had the files, images, and .csv that I needed.

Miriam Eric Suzanne argues:

I don’t need an agent, I want to maintain my own agency.
Tech continues to be political

My own agency is what I lost in my “productive” use of AI. Sure it was helpful, but I was reduced to an automaton for an hour. Yes, I had what I needed, saved time, and no one would have to look at or touch those scripts again, but I left the whole exercise feeling a bit uncouth.

Final Thoughts

Both of these experiences happened on the same day. One was empowering, and the other left me feeling malaise.

We’re not becoming 10x developers with AI.
We’re becoming 10x dependent on AI. There’s a difference.
Every time we let AI solve a problem we could’ve solved ourselves, we’re trading long-term understanding for short-term productivity. We’re optimizing for today’s commit at the cost of tomorrow’s ability.

I’m still developing my own framework for using and relying on AI coding assistants. Despite AI systems and training becoming more efficient, they’re still hurting the planet. How much am I willing to act contrary to my moral compass in the name of productivity?

My desire to nourish my human curiosity, deepen my understanding of the world, and honor my conscience keeps me wary of these tools.

Trey Willetto