How Eric does AI

Everyone is talking about coding with AI agents these days. And rightfully so! It's a transformative technology that greatly enhances productivity and, used wisely, creates more robust software than ever before.
AI Voice Transcription
Probably the most underrated advancement in AI is the ability to use voice transcription on the phone for entering in small things: making reminders, setting alarms and timers, and responding to texts.
I make liberal use of this feature on the phone. Yes, voice transcription isn't perfect, but neither is my typing. In fact, it seems that phone screens keep getting smaller, but my fingers aren't shrinking to keep pace.
One of my favorite things to do in the car is turn on the live voice prompting with ChatGPT, Claude, or Gemini and have a conversation where I dig into some subject. I ask it for deeper dives about what's currently in the headlines, history, or technology. The great thing is that my hands are free and I'm able to both listen and think and guide the exploration into a topic.
AI Agents as a Learning Tool
Probably the most exciting thing for me about using AI agents is that it gives me a very knowledgeable, patient tutor. The agent is always ready to answer my questions, and help me go deeper or wider to learn more in depth about a topic that I may be unfamiliar with.
Some examples:
- Reviewing calculus and linear algebra concepts for a machine learning online course.
- Learning a programming paradigm I'm not that familiar with, for example, using async programming in Python.
- Discovering how to restore the headlights on my son's car.
- Getting summaries of books people have recommended to me, or probing the background of authors, investors, and other influential people.
- Learning about upgrading my computer for more RAM and matching different RAM speeds and timings to different processors.
AI Agents as a Planning Tool
Using agents to help plan is another wonderful way to leverage the technology. For coding, I always write a prompt, then ask the agent to ask me clarifying questions and make a plan. This allows me to review the plan, not just to make sure it's right, but so that I can see concrete details about the plan and ask more questions myself about different choices I could make.
Here are some things I've been using to develop a proof of concept software product:
- Finding alternatives when searching for different frameworks, tools, and libraries for a programming project. I leaned on AI agents heavily in making a decision to switch from the
piptool touv. - Planning a migration of my website architecture in GCP. I used it to teach me concepts about modularizing Terraform, managing Terraform state, and migrating to more secure practices in infrastructure.
- Making long term decisions about my database schema to leverage special performance optimizations in Cloud Spanner.
- Planning the structure of a Go monorepo using Bazel.
- Organizing domain mappings for a multi-service cloud framework.
- Drafting a manifesto on software development culture to define my team's internal philosophy.
AI Agents as an Implementation Tool
When it comes to writing concrete code, you'd think this is where AI agents would shine. And they do!
Some examples from coding:
- Writing an example Go microservice. I'm an experienced backend developer, but not that experienced with Go. I ask it to write the code, then I ask questions about what it wrote to help learn and also make the code better.
- Writing code that translates between my Pydantic API definitions, protobuf definitions, and database ORM structures. This is the kind of gruntwork that makes developers cringe and is mistake prone.
- And of course, writing tedious testing code.
Typically, I use the agent to help me write the first example of a type of code, then I modify it by hand to make it the way I want. I have the AI write some guidelines into AGENTS.md to help it understand the design choices that I made for future follow-ons.
In my next prompt, I'll give it the first bit of code as an example to follow. This approach usually works out well. Then I can look it over and make sure that things are consistent. When I find a better way to do things I ask it to search the code and find similar opportunities to apply my new knowledge.
I struggle to remember to use AI to automate implementing other things. I haven't got the hang of using it for presentations, for example. I'm usually not satisfied with the output of completely generated prose. It doesn't sound like me, and over generalizes. I do use it to give feedback on what I write and of course help with grammar, spelling, punctuation, etc. I've never been great with those things.
AI Agents as a Force Multiplier
Once I have a good idea of what I want to build, this is where I can really leverage the AI. I have several environments I can use. I use multiple machines, the web version of Claude, and git worktrees to work in parallel. I crank up parallel instances of Codex or Claude, giving each one of them a task. While they are working, I often watch one of them and see what decisions it's making. Sometimes, they get stuck and I pause them and help them out by running some commands manually or give them hints on how to set up the development environment in their sandbox (seems like they often forget things like sourcing in the environment, even if there are clear instructions in CLAUDE.md or AGENTS.md).
Final Thoughts
AI tools are still evolving rapidly, and so is my use of them. What I've described here is a snapshot of where I am today. What I love about this "disruption" is that it forces me to look at my habits and goals and iterate on making myself more effective and productive. I know there is a lot of skepticism about using AI in daily work and school life. It generates babble that wastes your time. Unfortunately, it can be used as a crutch when you're supposed to be doing a learning exercise, which I think is detrimental to the learning process. But, for me, I have found that being intentional, reflective, and always asking questions until I understand what's going on is making me more effective.