Post

Having done a lot of vibe coding lately, I think I’ll move away from it exclusively. Current agents eventually fail to adhere to some prompt despite various attempts and approaches. Whenever this happens and I look in the codebase I am usually mortified by what I find.

You might argue I need to use rules better or something like that. I would say that isn’t vibe coding. I interpret vibe coding as the agent addressing whatever whim I have in the realm of the possible, figuring it out for me. Mostly, I end up with spaghetti codebases that the agent cannot untangle.

Agents love to generate code. Give one a task and it is off to the races. In a new project, this isn’t the worst thing. In a project with existing functionality, this becomes a problem due to a combination of lack of context and lack of effective planning. The two go hand in hand.

Agents use search to look around a codebase to find relevant files to pull into context. You can also use rules to define how an agent should structure the codebase. At some point, often unbeknownst to the viber, the agent fails to pull a relevant file into the context window.

Initially, this doesn’t seem like a problem. The agent does what it does best. Writes code to solve the problem. No shared states available in the React app? No problem, it’ll write some hooks for you. Viber validates the behavior in the browser. Looks good? Commit and ship. Never reads the code.

Now the codebase has fragmented state. Viber comes back to the codebase 15 commits later. The application has grown considerably. GPUs, brrr, etc. Prompts the agent to make more changes using the state and it fails. Follow up prompts, debugging, MCPs. Why isn’t it working?

0 reposts0 likes

Finally cracks open the code. What am I even looking at? Ever tried to grok XX thousands lines of legacy code? Not easy. Use the model to find which code to look at. State is everywhere. State in hooks. State in redux. State in zustand. I really should have written rules for conventions.

It’s too late. For every convention rule you do write there will be one you miss. The agent will invisibly write working code that makes decisions on your behalf, filling in under specified requirements, and eventually you will have spaghetti.

The code will work and meet your requirements, but if you don’t read the code, you’re not going to realize when the model deviates in its approach from what you considerable reasonable.