I started calling what I built an operating system about six months in, when I noticed I had stopped thinking in terms of individual prompts and started thinking in terms of layers. Memory below. Behavior above. Applications on top. Observability through all of it. The vocabulary sounded grandiose at first. It stopped sounding grandiose when I realized that is what I was actually building. The context window is the program. The model is the interpreter. The architecture is the source code, and someone has to write it deliberately.
The first thing I learned shipping production AI is that the model is almost never the hard part. The hard part is deciding what the model should do, when it should refuse, what to show someone when it failed, how to budget tokens against a real cost ceiling, and how to make the whole thing legible to a team that does not read code.
Each of those is a product decision. Not an engineering decision and not a research decision. A product decision, dressed up in technical clothes.
I don't just build agents. I make a thousand editorial decisions about how agents should behave in production.
The agentic era inverts a lot of what operators thought they knew. Speed-to-ship is no longer a differentiator when anyone with a credit card can stand up a working prototype in an afternoon. Domain depth still matters, but it has to be encoded explicitly now, into prompts, constraints, evals, routing logic. You cannot carry it implicitly in your team's heads anymore, because the system needs to read it.
What is left is judgment. Specifically, the judgment to know which decisions are reversible and which are not, which experiences degrade gracefully and which fail catastrophically, which prompts survive a model upgrade and which were exploiting a quirk of the current weights. That does not come from reading papers and it does not come from shipping features. It comes from running production systems where being wrong is paid for in real revenue, real customers, and real time.
This is also why I am not trying to make anyone depend on me. I hand off the floors and keep architecting the ceiling. The engagement that never transfers gets cut, because the only answer to "why are we still paying him" is "things break without him," and that is an argument for hiring someone. The one that transfers gets extended, because trust earned by handing something over buys the next piece of scope.
The teams I have watched get the most out of this are not the ones with the best tools. They are the ones where somebody made the standards explicit, put a check around them, and then let people actually stop watching. That is the difference between a few people out ahead of everyone else and a whole team moving up the same curve.