Cartoon of me in a black t-shirt juggling three small robots labelled Claude Code, OpenCode and Gemini, while a fourth robot labelled Codex walks out the door carrying a box of its things and waving

This is the fourth post in my recurring series about using AI tools for software development. The first covered early 2023 through the end of 2025. The second covered Q1 2026, when I went deeper with Claude Code and started running several sessions at once. The third covered Q2, when Codex became my default tool, Claude Code stayed for heavier work, and keeping track of context across sessions turned into the main problem.

Q3 had less experimenting in it than the earlier quarters. I tried one new tool in July, spent August using AI to get through work without paying much attention to how I was using it, and changed jobs in September. The short version is that Claude Code is my default again, OpenCode is where I go to try other models, and the daily and weekly summaries from Q2 are still in use.

July — Trying OpenCode

At the start of July I started using OpenCode, and I deliberately made myself stick with it for a while instead of going back to the tools I already knew.

What I wanted from it was more control over the workflow. OpenCode isn’t tied to one model provider, so I hoped it would push me toward routing work to different models, bringing the cost down, and building a better feel for which models are good at which kinds of work.

I was already into the experiment when I read Steve Yegge’s The Flat Curve Society, and it made me more interested in what I was doing. His argument is that model capability will keep growing, but most people will stop seeing it. Part of that is access: he expects the most capable models to be restricted. The other part is the user. He describes two ceilings. One is set by the hardest problem I bring, since an easy problem gives a stronger model no room to do better than a weaker one. The other is set by the hardest answer I can judge, since past that point I can’t tell whether the model is right.

From there he gets to skills. People first have to learn to spend tokens, which means actually using agents for real work. After that, the skill is spending fewer of them for the same outcome. At the far end of that is routing every task to the least capable model that can handle it, and only escalating the work that needs more. He also argues that a plateau in the models most people can use is a good thing for this, because techniques have time to settle instead of being replaced at every model release.

That lined up with what I’d hoped to get from OpenCode, and I think it’s a good point.

I didn’t stay on OpenCode as my main tool. I drifted back. But I go back to it on purpose every so often, usually for easy tasks or when I want to try one of the cheaper models that doesn’t come from Anthropic. It’s fun to try them out. It has also given me the motivation to look properly at how much the choice of model and the choice of harness affect the result, which will probably be a theme next quarter.

August — Getting Things Done Without Looking Closely

August was busy. I had my day job, and I was also working on getting into a new one.

I was still using AI very heavily, but mostly as a tool to get things done. I wasn’t putting in the effort I normally do to understand what was happening, evaluate how I was using the tools, or try anything new.

In July I’d read Annie Vella’s The Productivity-Experience Paradox. Her argument is that AI tools raise perceived productivity while wearing down the experience of the work: flow, concentration, the sense of craft. Output gets separated from mastery. It resonated when I read it, and August is what it looked like for me.

This is in the back of my head a lot now when I work, and I need to make a deliberate effort to push against it.

September — A New Job, a Vacation, and Learning How LLMs Work

In September I left my job and started a new one. That took up a lot of my time, and I used LLMs to get through the tasks that came with it quickly.

I also took a vacation, and planned a lot of it with LLMs. That meant asking questions and finding places to go in a chat window, the way someone who doesn’t write code uses these tools.

The other thing I did in September was start the Learning LLMs series on this site, which began with building a small GPT from scratch. The reason was that I wanted to better understand the tools I’m working with.

What Stuck for Tracking

At the start of the quarter I wanted to pay attention to how I track AI-assisted work, and which methods I’d still be using three months later.

The daily and weekly summaries from Q2 stuck, and I used them often. The daily summary reads the day’s agent session transcripts and produces a recap by project. The weekly one rolls those up. Their main use this quarter was picking a project back up. When I had to leave something for a while to deal with higher priority work, the summaries told me what I’d been doing and where I’d left off.

In Q2 they only read Claude Code sessions, which left out anything I did elsewhere. This quarter I got them reading Codex and OpenCode sessions too, so they cover everything. They also record token usage now, alongside what the agents did.

Observability tooling didn’t stick. I built a dashboard for watching my own agent sessions in Q1 and had stopped using it by the end of that quarter, and I didn’t pick the idea back up in Q3. I’m thinking about coming back to agent trajectory viewers next quarter.

I also moved my issue tracking from Beads to GitHub Issues. Beads is Steve Yegge’s issue tracker built for agents, and in Q1 I hadn’t decided whether to keep it. For the less complex projects I have, I think it’s overkill. It’s a lot of machinery for a small backlog, and GitHub Issues are somewhere I can see them.

The AI Vampire and Comprehension Debt

Two problems from the Q2 post are still here.

The AI vampire is still very much a thing. I find myself getting pulled into work at night and putting off going to bed because things are getting done.

Comprehension debt is also real, but I don’t worry about it too much. I’ve accepted that it’s part of how this work goes now. I’m still looking for how other people describe their experience with it, and for how they think it might be dealt with.

Where Things Stand

For most of Q3, Codex and Claude Code were about even for me. The split changed because of the job. Codex came through my employer, and so did Claude Code, but I also have a personal Claude Code subscription. When I left, I stopped using Codex.

So at the end of Q3, Claude Code is my default, and OpenCode is where I experiment with other models.

That may not last. My new employer provides Gemini as well as Claude Code and OpenAI’s tools, so I’ll see whether my habits change there.

Next quarter I expect to spend more time on model and harness selection, and possibly on trajectory viewers.