What is vibe coding? A computer scientist explains what it means to have AI write computer code − and what risks that can entail

Large language model AIs can generate software code based on your prompts. J Studios/DigitalVision via Getty Images

Whether you’re streaming a show, paying bills online or sending an email, each of these actions relies on computer programs that run behind the scenes. The process of writing computer programs is known as coding. Until recently, most computer code was written, at least originally, by human beings. But with the advent of generative artificial intelligence, that has begun to change.

Now, just as you can ask ChatGPT to spin up a recipe for a favorite dish or write a sonnet in the style of Lord Byron, you can now ask generative AI tools to write computer code for you. Andrej Karpathy, an OpenAI co-founder who previously led AI efforts at Tesla, recently termed this “vibe coding.”

For complete beginners or nontechnical dreamers, writing code based on vibes – feelings rather than explicitly defined information – could feel like a superpower. You don’t need to master programming languages or complex data structures. A simple natural language prompt will do the trick.

How it works

Vibe coding leans on standard patterns of technical language, which AI systems use to piece together original code from their training data. Any beginner can use an AI assistant such as GitHub Copilot or Cursor Chat, put in a few prompts, and let the system get to work. Here’s an example:

“Create a lively and interactive visual experience that reacts to music, user interaction or real-time data. Your animation should include smooth transitions and colorful and lively visuals with an engaging flow in the experience. The animation should feel organic and responsive to the music, user interaction or live data and facilitate an experience that is immersive and captivating. Complete this project using JavaScript or React, and allow for easy customization to set the mood for other experiences.”

But AI tools do this without any real grasp of specific rules, edge cases or security requirements for the software in question. This is a far cry from the processes behind developing production-grade software, which must balance trade-offs between product requirements, speed, scalability, sustainability and security. Skilled engineers write and review the code, run tests and establish safety barriers before going live.

But while the lack of a structured process saves time and lowers the skills required to code, there are trade-offs. With vibe coding, most of these stress-testing practices go out the window, leaving systems vulnerable to malicious attacks and leaks of personal data.

And there’s no easy fix: If you don’t understand every – or any – line of code that your AI agent writes, you can’t repair the code when it breaks. Or worse, as some experts have pointed out, you won’t notice when it’s silently failing.

The AI itself is not equipped to carry out this analysis either. It recognizes what “working” code usually looks like, but it cannot necessarily diagnose or fix deeper problems that the code might cause or exacerbate.

IBM computer scientist Martin Keen explains the difference between AI programming and traditional programming.

Why it matters

Vibe coding could be just a flash-in-the-pan phenomenon that will fizzle before long, but it may also find deeper applications with seasoned programmers. The practice could help skilled software engineers and developers more quickly turn an idea into a viable prototype. It could also enable novice programmers or even amateur coders to experience the power of AI, perhaps motivating them to pursue the discipline more deeply.

Vibe coding also may signal a shift that could make natural language a more viable tool for developing some computer programs. If so, it would echo early website editing systems known as WYSIWYG editors that promised designers “what you see is what you get,” or “drag-and-drop” website builders that made it easy for anyone with basic computer skills to launch a blog.

For now, I don’t believe that vibe coding will replace experienced software engineers, developers or computer scientists. The discipline and the art are much more nuanced than what AI can handle, and the risks of passing off “vibe code” as legitimate software are too great.

But as AI models improve and become more adept at incorporating context and accounting for risk, practices like vibe coding might cause the boundary between AI and human programmer to blur further.

The Conversation

Chetan Jaiswal does not work for, consult, own shares in or receive funding from any company or organization that would benefit from this article, and has disclosed no relevant affiliations beyond their academic appointment.

Scroll to Top