Recently, tech self-media has been hyping up Vibe Coding, which sounds very cool. The general idea is that you don't need to understand rigid programming syntax; as long as you have a feeling or an idea, AI can help you write the code.
Many people say this completely removes the barrier to programming, making everyone a programmer. However, from my personal experience, this has been somewhat overhyped.
In fact, in recent years, programming tools have consistently been at the forefront of AI applications. Before general-purpose agents like Manus entered the public eye, tools like Cursor, Windsurf, and Copilot were already widely used by engineers.
Every time a new tool emerges, a bunch of self-media outlets tout that programming is dead and that ordinary people will soon be able to develop software as easily as ordering takeout. But is that really the case?
As Long as Code is Still There, the Barrier Remains
If you open any AI programming tool, such as Cursor, Antigravity, Trea, or Tongyi Lingma, you'll find the screen still displays dense lines of code.
This is actually a very important signal. The reason code is still displayed is because what AI produces currently isn't 100% reliable. In professional software development, code is the sole verification standard. It serves the functions of verification, debugging, accountability, and maintenance. Once a system becomes complex, there must be an intermediate form that can be inspected and corrected. At this stage, code is precisely that intermediate form. If the AI makes a mistake or the functionality doesn't meet expectations, you still have to go back and see where the code went wrong.
Any user-facing tool product does not expose its core business logic. If an AI editor were truly completely reliable, it wouldn't need to show you the code at all, just like when you use Meitu Xiuxiu for photo editing, it doesn't show you the algorithmic instructions for image processing.
Therefore, the current Vibe Coding is actually serving those with basic engineering judgment. AI helps developers save the effort of memorizing syntax and writing boilerplate code, but it cannot think through the entire system's logic for a professional developer.
Thus, a more accurate positioning for Vibe Coding is to reduce the operational burden on professional developers, not to allow non-professional users to bypass engineering complexity. It reduces boilerplate labor and compresses implementation time, but still requires users to possess the ability to judge right from wrong.
The Steering Wheel in Autonomous Driving: You Still Have to Hold It
To understand this, we can use a familiar scenario for analogy—autonomous driving.
In some closed, simple, and standardized road conditions, such as highways, autonomous driving performs exceptionally well. AI can help you steadily maintain your lane. However, once it enters complex urban traffic conditions, it is prone to errors.
Therefore, even cars equipped with the most advanced onboard systems running the most advanced autonomous driving systems still retain the design of a steering wheel, accelerator pedal, and brake pedal. This is so that when situations arise that the AI cannot judge, the driver can quickly take over the vehicle to prevent accidents.
Just like Vibe Coding, when letting AI write a small tool or a standalone webpage function, its performance is excellent. But once it comes to developing complex software with multiple integrated modules, issues like AI hallucinations and attention dispersion emerge. The complexity here isn't about the volume of code, but rather the continuous expansion of states, the increase in implicit constraints, and the amplification of early decisions later on. Current models struggle to maintain long-term global consistency and lack reliable risk perception and self-degradation capabilities. Errors generated early on can accumulate over long runtimes, eventually leading to program failure.
AI editors expose the code because humans are still considered the default fallback, requiring developers to take over or verify at any time. Just like cars with autonomous driving still have steering wheels and pedals, requiring the driver to be ready to take over.
Should Ordinary People Learn Vibe Coding?
Nevertheless, this doesn't mean Vibe Coding is overrated to the point of being worthless.
I believe Coding Agents are very likely to become key middleware for various types of AI Agents in the future. Code is a universal, composable, and verifiable way to express actions. Translating high-level intent into executable structures is itself an unavoidable part of intelligent systems.
However, for a considerable period, it is more suitable as a constrained execution module rather than an independent entity undertaking complex goals.
From a product experience perspective, ordinary people don't need to learn how to use a Coding Agent. Any truly mature product aimed at the masses should target zero learning cost. Once it requires users to understand context management, failure rollback, or handling bugs caused by model bias, it indicates the product hasn't been fully encapsulated.
If you're only learning those complex tool operations out of FOMO (fear of missing out), then I think it's completely unnecessary. Because tools are always changing, and the trend is inevitably towards simplicity. If a tool still requires you to deliberately learn how to use it, it means it's not good enough yet.
However, if you want to use these tools to understand how programs work, that is very valuable.
The future is a world driven by AI and data. Although you won't need to write code yourself, if you understand how programs decompose problems and what logical constraints are, it's like learning to drive in the age of autonomous driving. The goal isn't to make you a professional driver; its significance lies in helping you understand the operating rules of this world, enabling better judgment when encountering problems.
From the Ebb of Prompt Engineering to the Rise of Vibe Coding
Looking back at the once-hot and now noticeably cooling prompt engineering of 2023, we can see the same pattern.
So-called techniques are essentially temporary patches when a system is not yet mature. Once model capabilities improve, these techniques are quickly absorbed. What ultimately remains are not the prompt-writing methods, but more fundamental abilities. That is, the ability to clearly express requirements and the ability to evaluate results.
Whether it's prompt engineering or vibe coding, what truly determines effectiveness has never been the technique itself, but whether you know what you want and what result is acceptable.
Vibe Coding does make development faster, but it hasn't made programming itself disappear. It's more like giving professional chefs a set of more modern cooking tools, but these tools cannot instantly turn someone who has never been in a kitchen into a Michelin-star chef.
AI hasn't created a brand new barrier to ability; it amplifies the differences that already existed between people. Those who can express themselves clearly will be more efficient. Those with insufficient judgment will only get unusable results faster.
AI is just a tool. The person ultimately responsible for setting goals, making judgments, and verifying results is always you.