Vibe coding allows anyone – programmers and non-programmers alike – to write code. It’s promised to 10x the productivity of software engineers [1]. Vibe coding editors like Cursor, Cline, and Replit develop complex coding agents to plan and write the code for you. But anyone who has actually used these tools knows that they are very limited.

Vibe coding tweet 1

Vibe coding tweet 2

The common refrain is that vibe coding gets you about 70% of the way there [2]. The first draft looks great, but as features get added, as you try to iterate, the application starts breaking, and a human still has to pick up the slack.

How to be a vibe coder

The trillion-dollar question our labs and others are studying is thus: Why do vibe coding agents fail? And what innovations are needed to close the gap between where we are and the dream?

Unsurprisingly, our main insight is that vibe coding is not magic, and we need to translate traditional software engineering and human-centered design principles onto vibe coding. But what does that mean?

This mini-blog series shares highlights from our current research on improving the process of vibe coding. We start with a detailed analysis of the critical failure patterns and then share two promising directions:

  1. The 9 Critical Failure Patterns of Coding Agents. We analyzed the top state-of-the-art agents (Cline, Claude, Cursor, Replit, and V0) and found 9 key failure patterns. The most serious and common problems were error handling and business logic. These are dangerous because they are often silent, where the code appears to run without errors, but the app doesn’t actually do what the user asked.

  2. Vibe Coding needs better transparency. When a vibe-coding workflow fails, developers must be able to identify where things went wrong and fix issues, yet current tools provide little visibility into the underlying process. We show that transparency tools—such as workflow detection and improved execution visibility—can dramatically reduce debugging time and enable users to verify outputs without requiring deep coding expertise.

  3. Vibe-Coding Needs Policy Enforcement. Currently, vibe coding agents see your requirements as preferences, not as enforced policies. They don’t do what they promised. To ensure reliable agent behavior, systems must treat policies as strict rules. Agents can propose plans and solutions, but the system should extract relevant policies and enforce them so that agent behavior truly aligns with user intent.

References

  1. https://wisprflow.ai/vibe-coding
  2. https://addyo.substack.com/p/the-70-problem-hard-truths-about