Vibe Coding: code disappears, a new wave of intuition-driven software development?
The exponential growth of generative artificial intelligence is continuing to reshape industries, and software development is no exception. Around the beginning of 2025, a new wave of thinking originating from Silicon Valley in the United States began to attract attention: it seemed that developers could build products with little to no direct coding, thanks to AI tools. This approach to development, which relied on intuition and broke away from the drudgery of traditional coding, was given a rather contemporary name - the Vibe Coding The
Simply put, Vibe Coding represents a novel philosophy of software development. The developer describes the requirements to the AI through natural language, and the AI is responsible for generating and modifying the code. The core idea is to respond to the "vibes" of the development process, fully embracing the capabilities of the AI and even "forgetting" the existence of the code itself to some extent. This methodology challenges a long-held assumption in the tech industry that software development must rely on engineers with superior coding skills.
Conceptualizers: Andrej Karpathy's observations
One of the key players in bringing the concept of Vibe Coding into the public eye is Andrej Karpathy. The 38-year-old AI expert is not only the co-founder of OpenAI, but also led the AI and Autopilot vision team at Tesla. Currently, as the founder of Eureka Labs, he is also dedicated to popularizing AI through platforms like YouTube.
Karpathy observed a new state of programming: instead of obsessing over the syntactic details of code, developers are instructing the AI in natural language to make changes based directly on the application's visual presentation or functional feedback. For example, a developer might say, "Reduce the inner margins of the sidebar by half" without having to manually find and modify the CSS file. And when they encounter an error message, they can often just copy and paste it into the AI and the problem is solved.
As Karpathy himself states, "It's not coding in the traditional sense - I just observe, instruct, run and copy and paste, and most of the time it works." This approach shifts the focus of software development from proficiency in syntax and manual coding to a higher level of design conceptualization and requirements expression.
He even makes a thought-provoking point:"English, which is becoming the hottest new programming language." (The hottest new programming language is English.)
Boundaries between Vibe Coding and LLM Coding
To be clear, Vibe Coding is not currently a strictly defined academic term, but more of a buzzword used in tech circles to discuss AI-assisted software development methodologies. Simon Willison, a well-known programmer, points out that it's easy to confuse Vibe Coding with coding with large-scale language models (LLMs), known as LLM Coding. While both utilize AI-assisted development, they are fundamentally different in philosophy and practice:
- Core conceptual differencesVibe Coding emphasizes "go with the flow" and "forget about the code," with developers focusing more on creative implementation and overall architecture and less on the underlying technical details. LLM Coding, on the other hand, still puts code at the center, and developers usually need to have some programming knowledge to understand and guide the content generated by AI.
- Developer Role OrientationIn Vibe Coding, the developer is more like a commander or collaborator of the AI, mainly communicating intent through natural language. In LLM Coding, the developer is still deeply involved in reviewing, modifying and debugging the code, playing a more proactive role as a technical gatekeeper.
- Ways to interact with the codeVibe Coding encourages developers to trust and directly adopt the AI's suggestions, sometimes even skipping the detailed review of AI-generated code changes (diffs) and choosing to "take it all in". Simon Willison describes it graphically: "If the LLM writes all your code, but you review, test and understand all that code, that's not Vibe Coding - you're just using the LLM as a typing assistant. "
- Technical threshold requirements: Vibe Coding significantly lowers the barrier to entry for software development, theoretically allowing non-professional programmers to participate in the product creation process. LLM Coding also simplifies programming, but users with a basic knowledge of programming will be able to utilize these tools more effectively.
- Key tools focusVibe Coding is often associated with purpose-built, highly integrated AI development environments or tools, such as Cursor AI's Composer functionality, Anthropic's Claude family of models (e.g., Claude 3.7 Sonnet, as mentioned in the original article), and speech input tools such as Superwhisper. LLM Coding, on the other hand, makes more use of code completion and generation tools like GitHub Copilot, Code Llama, and StarCoder.
Vibe Coding's Common Toolbox
According to industry insiders such as Niall McNulty, Head of Product at Cambridge University Press, and Peter Yang, Head of Product at Roblox, developers who want to try out Vibe Coding can look at the following tools:
1. Cursor AI
Cursor is an AI-driven code editor designed to improve development efficiency. Its key features include:
- Composer tool: This feature is intended to automate much of the coding process, with the user simply describing the desired functionality through natural language.
- Multi-model support: Integrates a wide range of advanced AI models including OpenAI's GPT family, Anthropic's Claude 3.5 Sonnet (or version 3.7 as mentioned in the original article), and DeepSeek.
- Code Generation and Optimization: AI can generate code snippets and even complete functionality based on natural language cues, and assist with bug fixes and code optimization.
- Real-time error detection: The editor can instantly indicate syntax errors or potential logic problems in the code.
2. Claude 3.7 Sonnet
Developed by Anthropic, Claude 3.7 Sonnet (based on the original message and representing the advanced models of the Claude family) is a powerful large-scale language model with features that make it a perfect fit for the Vibe Coding philosophy:
- Artifact Tools: Allow users to generate and iterate on multiple forms of content such as code blocks, site previews, interactive components, etc., outside of the chat interface.
- Multi-language programming capability: Can generate code in many major programming languages, including Python and JavaScript.
- usage pattern: A limited amount of free versions are available, and full functionality requires a subscription to the Claude Pro service.
3. Super Whisper
Super Whisper is a speech-to-text engine optimized for coding scenarios that adds a more natural human-computer interaction to Vibe Coding - development via voice commands:
- Editor Integration: Works with a variety of editors such as Cursor, Cline or Windsurf.
- Efficiency gains: Considering that human speech is typically 3-5 times faster than typing (~150+ WPM vs. 40-80 WPM), this could theoretically speed up the development process.
- ergonomics: Reducing reliance on the keyboard may help alleviate the physical fatigue associated with long hours of coding and provide a more intuitive interaction experience.
Hands-on with Vibe Coding: When Voice Meets AI Editors
Vibe Coding's pursuit of "sensory compliance" implies, in a way, freedom from physical input. Coding by voice is a manifestation of this philosophy. By combining Super Whisper with Cursor AI, you can build such a voice-driven development environment.
Step 1: Installation of tools
First, you need to download and install Cursor AI. Then, visit the official Super Whisper website to install the Superwhisper app, which is supported on both macOS and Windows platforms.
Step 2: Configure the encoding mode of Superwhisper
After opening the Superwhisper app, make the following settings:
- Go to the Setup menu.
- Find the Modes option and click Create Mode.
- Select Custom to create a new mode.
- Name the new mode, e.g. "Python Coding", and select Cursor in the "Activate when..." option. Select Cursor in the "Activate when using" option to associate this mode with Cursor AI. At the same time, the speech recognition model and target language (e.g. Chinese) can be adjusted as needed.
Once the above configuration is complete, the user can use the assigned shortcut keys (e.g. on macOS the default is Option + 空格键
) Wake up Superwhisper and select the "Python coding" mode you just created. This will allow you to enter commands or code by voice when the Cursor AI is active.
Note that if there are other applications installed on your system that may conflict with voice input (e.g. ChatGPT's desktop application), you may need to temporarily disable them to ensure that Superwhisper takes over the voice input and associates with the Cursor without any problems.
Getting Started with Vibe Coding: A Discovery Path for Zero-Basic Developers
Even without a traditional programming background, the Vibe Coding concept offers the possibility to participate in software creation. Here's a general process for getting started:
Step 1: Select and set up the tool
- Installing the AI Editor: Download and install Cursor AI or other tools that support the Vibe Coding concept. Visit their website to complete the download and installation process.
- Register & Login: Create an account and log in, usually with a free trial period.
- Personalized Configuration: Follow the guide to complete the basic settings.
- Selecting an AI model: Select backend-driven AI models based on project needs and personal preferences. For example, some users have reported that the Claude family of models excels in code generation.
- Enabling experimental features: Consider turning on experimental features like "Auto Run" for a smoother Vibe Coding experience.
Step 2: Create a project
- Open Cursor AI and set up a project workspace by creating a new file or folder from the menu.
- Define the type of application you want to create, such as a simple web page, a small game, or a Chrome extension.
Step 3: Communicate Requirements with AI
- Activate the AI Interactive Interface (normally used as a shortcut in Cursor)
Command + K
(or similar shortcut). - Use natural language (either through keyboard input, or voice input in conjunction with a tool such as Superwhisper) to clearly describe the functionality that you want to achieve. Example:
- "Create a simple HTML page that contains an area that displays the current time and a refresh button."
- "Generate the basic structure of a Chrome extension that functions to generate a QR code for the currently viewed web page."
- One can try to apply the "Specification, rule-setting, supervisory guidance" framework for communicating with AI:
- Specification: Clearly define the goal, e.g., "Create a login button that, when clicked, captures the e-mail address entered by the user".
- standard form: Set constraints, such as "Use Python and keep the code style simple".
- Supervision and guidance: Provide ongoing feedback and direction adjustments during the AI generation process to ensure results meet expectations.
Step 4: Generate, run and test
- The AI generates code based on the instructions and displays it directly in the editor.
- Run the code using the functions provided by the editor and observe the actual results (for example, Cursor AI usually provides convenient buttons to run web pages or scripts).
- If a program runs wrong, you can copy and paste the error message directly to the AI, which usually tries to analyze it and provide a solution without additional explanation.
Step 5: Iterate and Improve
- Based on the test results, continue to propose changes or refinements to the AI in natural language.
- For example, "Change the page background color to light blue."
- Or: "Add an input box that allows the user to set the time for reminders."
- The AI will update the code based on the new instructions.
- Repeat this cycle of "Communicate-Generate-Test-Feedback" until the application is functioning to your satisfaction.
Step 6: Deployment and utilization
- The AI can be asked how to save, package or deploy the currently developed application.
- Follow the step-by-step guide provided by AI to complete the publishing process for the application.
- If needed, you can also have the AI explain how to use the finalized application.
The Potential and Challenges of Vibe Coding
Vibe Coding paints a tantalizing picture of the future: developing software becomes as natural as having a conversation, ideas can be transformed into real products faster, and the technical barrier is greatly reduced. This model certainly has great potential for rapid prototyping, non-core feature development, or empowering people from non-technical backgrounds to realize simple applications. It may accelerate the innovation cycle and engage more people in the creative process.
However, this seemingly effortless approach to development comes with obvious challenges and potential risks.
- Code Quality and Maintainability: Code that relies exclusively on AI-generated code can vary in quality, efficiency, and maintainability. A code base that lacks in-depth review and understanding by developers can become unmanageable "technical debt" in the long run.
- Debugging ComplexityWhen there are deep or non-obvious bugs, developers who are used to the Vibe Coding model may find that they lack the necessary underlying knowledge and debugging skills to locate and fix the problem. The debugging process can become a repeated "tug-of-war" with the AI, which is inefficient.
- Evolution of developer skills: An over-reliance on Vibe Coding can lead to a shallow understanding of fundamental programming principles, algorithms, and system design. Although "forgetting to code" is part of the philosophy, it is worth exploring whether this weakens the core competencies of engineers.
- Overdependence and lock-in risk: High reliance on specific AI tools or platforms for development can pose a risk of vendor lock-in. At the same time, overconfidence in AI capabilities can lead developers to overlook potential security vulnerabilities or logic flaws.
- Education and culture shock: The rise of Vibe Coding also challenges traditional computer science education and software engineering culture. How to cultivate a new generation of developers who can effectively utilize AI but also have solid basic knowledge will be an important issue.
The future of Vibe Coding as an emerging software development trend is fraught with uncertainty. It is unlikely to completely replace traditional coding practices, but it is likely to serve as a powerful adjunct that will change the way developers interact with code and have a profound impact on the software development ecosystem. In the future, the role of the software engineer may become more focused on requirements analysis, system design, AI command and collaboration, and critical evaluation of AI-generated results.