The crack appeared on the 23rd of April.
One of my agents quoted a database ID from memory. The record came back 404.
(A database ID is a unique reference number — the system's way of saying "find me this specific record." When it returns 404, the record does not exist. My agent was looking for something that was not there, and had no idea.)
It had been operating on state it believed was ground truth. The state was wrong. The agent had no way to know that.
I had built a system that was confidently incorrect.
The next day I put a build freeze in place. The note I wrote: architecture is decided. Weeks of time and effort acknowledged. Return comes from using the system, not extending it.
I stopped building. And then I did what anyone does when they realise they do not actually understand something they have been building for months.
I went to night school.
Not a course. Not a certification. Evenings after work. Weekends. A few nights where I did not sleep properly because I had gone down a rabbit hole at 11pm and come up at 2am with more questions than I had started with.
The problem with learning AI right now is that there is no stable curriculum. Something you read in January may already be outdated by March. The field moves faster than any single source can track.
So you do what everyone does. You go to where the conversation is happening. Instagram. YouTube. LinkedIn. You find the people who seem to know what they are talking about. You watch a video. They mention a term you do not recognise. You write it down. You search for it. That search leads you to another person. Their website links to something else. That thing uses five more terms you have never heard.
You are not learning in a straight line. You are following a thread through a maze, and the maze keeps changing as you move through it.
I used Gemini and ChatGPT alongside Claude during this period, deliberately. Different models, different training, different ways of explaining the same concept. When all three said roughly the same thing, I had more confidence. When they disagreed, that disagreement was itself the lesson.
Weeks later, what I had learned changed how I saw what I had built.
I had seventeen agents. When I actually audited them, five were genuinely autonomous. Seven were smart-prompts with a wrapper. Three were being deprecated. The rest were scheduled scripts with names.
I had been calling things agents that were not agents.
(Here is what those categories actually mean:
A Level 1 agent is a smart prompt. You give it a task, it gives you a response. Nothing happens automatically. Think of it as a very well-structured question.
A Level 2 agent is a scheduled task with tool access. It runs on a timer, can read files or query systems, but operates within strictly defined rules. It does not decide what to do next.
A Level 3 agent is genuinely autonomous. It decides what to do, takes actions with real consequences — sending an email, updating a record, triggering another process — and needs approval gates before it acts.
A prompt with a wrapper means: someone wrote a good prompt, put a small piece of code around it to make it trigger automatically, and called it an agent. It is not really an agent. It is a scheduled question.)
Most things belong at Level 1 or 2. I had been trying to build everything at Level 3.
I also learned that a language model does not have memory. It has context. If the context is wrong, the output is confidently wrong. The ground truth has to live somewhere outside the model, readable fresh every time.
I learned that output format is as important as output content. That building for capability and building for use are two different things. That the most important discipline is finishing what you have before starting the next idea.
Some time in May, on an early morning when I had not slept much, I committed three files to my codebase. A decision record. A roadmap. A rules file.
Not because I had finished learning. Because I had learned enough to know what needed to change.
That is what learning looks like when the subject does not wait for you to catch up!