AI Is Stupid
AI can generate enormous amounts of code at incredible speed, but real development quickly exposes how unreliable it actually is. The deeper the project becomes, the more supervision, correction, and constant guidance the system starts to require.
- AI
- Opinion
- Architecture

At first, working with AI in development feels impressive. It generates complete components in seconds, writes tests, fixes errors, and speeds up tasks that would normally take much longer. For a while, it feels like the famous “autonomous developer” everyone talks about has finally arrived. But after using it daily in real projects, that feeling changes quickly.
You start noticing that AI does not really understand the system it is working in. It can read files, follow patterns, and produce locally coherent code, but it constantly loses context. It duplicates logic that already exists, breaks established architecture, ignores internal conventions, or creates technically valid solutions that make no sense inside the real project. The larger the application becomes, the more obvious the problem gets.
One of the most absurd parts is how often it needs to be walked through relatively simple tasks. You explain something once. Then again. Then once more because it decided to completely ignore previous instructions. It fixes one thing and breaks three new ones. You explicitly tell it not to touch a certain part of the system, and it still ends up modifying it anyway. Many times it even contradicts itself within the same conversation while answering with total confidence.
There is also a constant tendency to solve symptoms instead of understanding root causes. An error appears and AI responds by adding quick hacks, duplicating logic, moving code arbitrarily, or introducing superficial fixes that end up breaking other parts of the system a few hours later. Technically, it “solved” the immediate problem, but degraded the entire project in the process.
And many times the decisions become absurdly destructive. You ask it to fix a specific warning and it decides to restructure entire files. You try to fix a small bug and it ends up deleting valid functionality simply because that makes the immediate error disappear. Technically the issue is gone, but the system is worse than before.
Another constant problem is the tendency to invent things. Nonexistent imports. Fake APIs. Imaginary methods. Props that never existed. Wrong libraries. Invented configurations delivered with absolute confidence. And many times the result looks completely reasonable at first glance. That is probably one of the most dangerous problems in modern AI coding: it does not generate obviously broken code. It generates code that looks correct until you actually review what it is doing.
Over time, you start creating structures to try to control that behavior. agents.md, persistent prompts, workflows, architecture rules, documentation, linters, guardrails. All of it helps partially. But even with all that structure, AI still keeps drifting. It ignores important instructions, changes patterns it was not supposed to touch, or makes absurd decisions even though the context has already been explained several times.
And that is probably the main reason AI ends up feeling so stupid during real development. A human developer learns from mistakes. They break something, understand the consequences, and adjust judgment through experience. AI does not work like that. You can correct the exact same problem ten times and it will still repeat it a few interactions later as if it had never happened before.
You explain an architecture rule, a project pattern, or an important decision, and shortly after it goes back to the exact same behavior. You tell it not to touch a certain part of the system and it modifies it anyway. You explain why a solution was incorrect, and later it proposes the same idea again with small variations.
That completely changes the perception after working seriously with it. You start noticing that many times there is no real understanding behind the process. Only extremely fast statistical prediction. That is why it needs constant supervision, repeated corrections, and permanent direction to avoid repeating the same mistakes again and again.
That is where the narrative around autonomous agents and “AI replacing developers” starts to break down. In short demos everything looks magical. But real development does not happen in small, controlled contexts. It happens in huge systems full of edge cases, technical debt, invisible dependencies, and years of accumulated decisions that AI simply does not understand consistently.
And that is probably why it feels so stupid so often. Not because it cannot generate useful code or speed up work, but because it needs constant supervision to avoid repeating the exact same mistakes again and again. The more complex the project becomes, the more obvious the amount of context, judgment, and human direction it still needs behind it.