· 3 min read · General
What I got wrong about AI in 2023

Almost three years since my last post. That's longer than I meant, and longer than I'd like to admit. Life happened, work happened, and every time I sat down to write something new I ended up telling myself the last post could stand for a few more weeks. Weeks became months, and months became this. Sorry about that. I've been sitting on a handful of posts I actually want to publish, and I'm setting a lower bar for what makes it onto the blog from here on so things actually get out. Expect to hear from me more often.
The other reason I wanted to break the silence with this post is that my last one has aged badly in an entertaining way. In it, I wrote:
Now we have ChatGPT and other AI applications that make things easier but we can't always rely on them because the data fed to these models are sometimes outdated. An example is the popular ChatGPT, which is only trained with data until September 2021; if you try to get information on the recent Next JS app router, you might not see anything relevant.
Reading that back is genuinely funny. In September 2023 it was true. GPT-4 had come out a few months earlier and it really did fumble anything after its cutoff. The "training cutoff" was the first thing anyone teaching an AI coding workshop had to warn students about. Three years on, that whole worry is basically gone.
What actually changed
A few things stacked on top of each other.
The models got much better, and much bigger. I'm writing this in Claude Code, which uses Claude Opus 4.7 with a million-token context window. The other frontier models have their own long-context variants. A million tokens is roughly a mid-sized codebase in a single prompt. In 2023 I was worrying about a couple of thousand tokens' worth of Next.js docs; now the model can hold most of a real project in context and reason across all of it.
They stopped guessing and started reading. The bigger shift than model quality is that models now use tools. Instead of predicting what your code probably looks like, the assistant opens the file, runs grep, runs your tests, and reads the output. Claude Code, Cursor, Windsurf, Codex — different UIs, same basic idea: put the model inside a shell with your repo. The training cutoff stopped mattering the moment the model could just go and check.
Retrieval and MCP filled the rest. The Model Context Protocol is a small, boring standard that lets any model talk to any tool: your docs site, Linear, Figma, a database, whatever. Paired with retrieval-augmented generation, it's what killed the cutoff problem for practical use. When I ask about a library now, the answer is grounded in the library's current docs, not the model's memory of them from two years ago.
None of this makes the model correct all the time. It makes it correct in a different way. The assistant is a much better collaborator when you give it access to the ground truth, and still a confident bluffer when you don't.
What the 2023 post still gets right
The bit I don't want to walk back is this:
Everyone has their own approach to things, you learn a lot more when you see several solutions to a certain problem you have and eventually come up with something that suits your use case best.
That's still the whole reason I read blogs, and it's the reason I write them. A model averages the internet. When I read a post by someone who actually shipped the thing, I get the specific weird decisions and the trade-offs they made, and I usually walk away with something I would never have gotten from an averaged answer. The best posts I've read this year have all been "here's the ugly middle of the problem" — not the neat tutorial version. That doesn't come out of a model easily; it comes out of people.
The other line I'd keep from 2023 is that models are not always right. That still holds. It just fails in more subtle ways now. A confidently wrong answer that cites a real (but wrong) file is harder to catch than a confidently wrong answer with an obvious 2021 cutoff.
What I actually use
The short honest list, without turning it into a tool review:
- Claude Code for almost anything code-related, in the terminal next to whatever I'm working on. This post was drafted with it in the loop.
- Cursor on days I want an editor-first flow.
- ChatGPT and Claude.ai as a scratchpad for design decisions and rubber-ducking before I open a repo.
- Perplexity for research where I want links back to the source.
The pattern is the same across all of them: give the model access to the ground truth, verify what it produces, and treat its confidence as a UI element, not a signal.
If I wrote the welcome post today
The 2023 post ended with "I believe I am still learning… we all still are." That's the part that doesn't need updating. What has changed is what "learning" looks like. In 2023, the loop was Google → Youtube → Stack Overflow → docs → blog → try it. In 2026, the loop is: ask the model, watch what it does, read the code it wrote, disagree with half of it, and end up understanding the thing better than if you'd started from a blank page. Different loop, same outcome. Still a lot to learn.
- ai agents
- blog
- software development