:Vibe coding

{{Short description|AI-dependent computer programming technique}}

{{Use American English|date=March 2025}}

{{Use mdy dates|date=March 2025}}

Vibe coding (or vibecoding) is a programming paradigm dependent on artificial intelligence (AI), where a person describes a problem in a few sentences as a prompt to a large language model (LLM) tuned for coding. The LLM generates software, shifting the programmer's role from manual coding to guiding, testing, and refining the AI-generated source code.{{Cite news |date=2025-03-02 |title=What is 'vibe coding'? Former Tesla AI director Andrej Karpathy defines a new era in AI-driven development |url=https://timesofindia.indiatimes.com/technology/tech-news/what-is-vibe-coding-former-tesla-ai-director-andrej-karpathy-defines-a-new-era-in-ai-driven-development/articleshow/118659724.cms |access-date=2025-03-03 |work=The Times of India |issn= |archive-date=March 4, 2025 |archive-url=https://web.archive.org/web/20250304014054/https://timesofindia.indiatimes.com/technology/tech-news/what-is-vibe-coding-former-tesla-ai-director-andrej-karpathy-defines-a-new-era-in-ai-driven-development/articleshow/118659724.cms |url-status=live }} Vibe coding is claimed by its advocates to allow even amateur programmers to produce software without the extensive training and skills required for software engineering.{{Cite web |last1=Chowdhury |first1=Hasan |last2=Mann |first2=Jyoti |date=13 February 2025 |title=Silicon Valley's next act: bringing 'vibe coding' to the world |url=https://www.businessinsider.com/vibe-coding-ai-silicon-valley-andrej-karpathy-2025-2 |access-date=2025-03-03 |website=Business Insider |language= |archive-date=February 26, 2025 |archive-url=https://web.archive.org/web/20250226074720/https://www.businessinsider.com/vibe-coding-ai-silicon-valley-andrej-karpathy-2025-2 |url-status=live }} The term was introduced by Andrej Karpathy in February 2025{{Cite web |last=Karpathy |first=Andrej |date=2 February 2025 |title=Andrej Karpathy on X: "There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. ..." |url=https://x.com/karpathy/status/1886192184808149383 |url-status=live |archive-url=https://web.archive.org/web/20250218112112/https://x.com/karpathy/status/1886192184808149383 |archive-date=February 18, 2025 |access-date=2025-03-07 |website=X }} and listed in the Merriam-Webster Dictionary the following month as a "slang & trending" noun.{{Cite web |date=March 8, 2025 |title=vibe coding |url=https://www.merriam-webster.com/slang/vibe-coding |access-date=2025-03-15 |website=www.merriam-webster.com |language=en}}

{{LLM prompt and response|prompt=Write JavaScript code to shuffle all the cards in a deck|LLM=ChatGPT|response=

Here's a concise JavaScript function to shuffle a standard 52-card deck using the Fisher–Yates shuffle algorithm:

function createDeck() {

const suits = ['♠', '♥', '♦', '♣'];

const ranks = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K'];

const deck = [];

for (const suit of suits) {

for (const rank of ranks) {

deck.push(`${rank}${suit}`);

}

}

return deck;

}

function shuffleDeck(deck) {

for (let i = deck.length - 1; i > 0; i--) {

const j = Math.floor(Math.random() * (i + 1));

[deck[i], deck[j]] = [deck[j], deck[i]]; // Swap

}

return deck;

}

// Example usage:

const deck = createDeck();

const shuffledDeck = shuffleDeck(deck);

console.log(shuffledDeck);

...

|date=4 May 2025|title=Example of vibecoding|ref=https://chatgpt.com/share/681791a8-25d0-8004-ba39-28d05fe9ac65|url-status=live|archive-url=https://archive.ph/R9ZLr|archive-date=May 8, 2025}}

Definition

{{stack|File:Andrej Karpathy, OpenAI (cropped).png coined the term vibe coding.|alt=Andrej Karpathy, wearing a pink shirt, smiling against a brown background|upright=0.8]]}}

Computer scientist Andrej Karpathy, a co-founder of OpenAI and former AI leader at Tesla, introduced the term vibe coding in February 2025. The concept refers to a coding approach that relies on LLMs, allowing programmers to generate working code by providing natural language descriptions rather than manually writing it.{{Cite web |last=Edwards |first=Benj |date=2025-03-05 |title=Will the future of software development run on vibes? |url=https://arstechnica.com/ai/2025/03/is-vibe-coding-with-ai-gnarly-or-reckless-maybe-some-of-both/ |access-date=2025-03-06 |website=Ars Technica |language=en-US |archive-date=March 6, 2025 |archive-url=https://web.archive.org/web/20250306124303/https://arstechnica.com/ai/2025/03/is-vibe-coding-with-ai-gnarly-or-reckless-maybe-some-of-both/ |url-status=live }} Karpathy described his approach as conversational, using voice commands while AI generates the actual code. "It's not really coding - I just see things, say things, run things, and copy-paste things, and it mostly works." Karpathy acknowledged that vibe coding has limitations, noting that AI tools are not always able to fix or understand bugs, requiring him to experiment with unrelated changes until the problems are resolved. He concluded that he found the technique "not too bad for throwaway weekend projects" and described it as "quite amusing."

The concept of vibe coding elaborates on Karpathy's claim from 2023 that "the hottest new programming language is English", meaning that the capabilities of LLMs were such that humans would no longer need to learn specific programming languages to command computers.

A key part of the definition of vibe coding is that the user accepts code without full understanding. AI researcher Simon Willison said: "If an LLM wrote every line of your code, but you've reviewed, tested, and understood it all, that's not vibe coding in my book—that's using an LLM as a typing assistant."

Reception and use

In February 2025, New York Times journalist Kevin Roose, who is not a professional coder, experimented with vibe coding to create several small-scale applications.{{Cite news |last=Roose |first=Kevin |date=2025-02-27 |title=Not a Coder? With A.I., Just Having an Idea Can Be Enough. |url=https://www.nytimes.com/2025/02/27/technology/personaltech/vibecoding-ai-software-programming.html |access-date=2025-03-03 |work=The New York Times |language=en-US |issn=0362-4331 |archive-date=March 3, 2025 |archive-url=https://web.archive.org/web/20250303174203/https://www.nytimes.com/2025/02/27/technology/personaltech/vibecoding-ai-software-programming.html |url-status=live }} He described these as "software for one", referring to personalised AI-generated tools designed to address specific individual needs, such as an app named LunchBox Buddy that analyzed his fridge contents to suggest items for a packed lunch.{{Cite news |last=Naughton |first=John |date=2025-03-16 |title=Now you don't even need code to be a programmer. But you do still need expertise |url=https://www.theguardian.com/technology/2025/mar/16/ai-software-coding-programmer-expertise-jobs-threat |access-date=2025-03-16 |work=The Observer |language= |issn=}} Roose noted that while vibe coding enables non-programmers to generate functional software, the results are often limited and prone to errors. In one case, the AI-generated code fabricated fake reviews for an e-commerce site. He suggested that vibe coding is better suited for hobby projects than for essential tasks. He also observed that AI-assisted coding enables individuals to develop software that previously required an engineering team. In response to Roose, AI expert Gary Marcus said that the algorithm that generated Roose's LunchBox Buddy app had presumably been trained on existing code for similar tasks. Marcus said that Roose's enthusiasm stemmed from reproduction, not originality.

In February 2025, Business Insider described vibe coding as a new buzzword in Silicon Valley.

In March 2025, Y Combinator reported that 25% of startup companies in its Winter 2025 batch had codebases that were 95% AI-generated, reflecting a shift toward AI-assisted development within newer startups.{{Cite web |last=Mehta |first=Ivan |date=2025-03-06 |title=A quarter of startups in YC's current cohort have codebases that are almost entirely AI-generated |url=https://techcrunch.com/2025/03/06/a-quarter-of-startups-in-ycs-current-cohort-have-codebases-that-are-almost-entirely-ai-generated/ |access-date=2025-03-06 |website=TechCrunch |language=en-US |archive-date=March 6, 2025 |archive-url=https://web.archive.org/web/20250306102302/https://techcrunch.com/2025/03/06/a-quarter-of-startups-in-ycs-current-cohort-have-codebases-that-are-almost-entirely-ai-generated/ |url-status=live }}

Three engineers interviewed by IEEE Spectrum agreed that vibe coding is a way for programmers to learn languages and technologies they are not yet familiar with.{{Cite web |last=Smith |first=Matthew S. |date=8 April 2025 |title=Engineers Are Using AI to Code Based on Vibes |url=https://spectrum.ieee.org/vibe-coding |access-date=2025-04-12 |website=IEEE Spectrum |language=}}

Limitations

Vibe coding has raised concerns about understanding and accountability. Developers may use AI-generated code without fully comprehending its functionality, leading to undetected bugs, errors, or security vulnerabilities. While this approach may be suitable for prototyping or "throwaway weekend projects" as Karpathy originally envisioned, it is considered by some experts to pose risks in professional settings, where a deep understanding of the code is crucial for debugging, maintenance, and security. Ars Technica cites Simon Willison, who stated: "Vibe coding your way to a production codebase is clearly risky. Most of the work we do as software engineers involves evolving existing systems, where the quality and understandability of the underlying code is crucial."

In what Ars Technica described as an "ironic twist in the rise of 'vibe coding{{'"}}, Cursor's AI coding assistant refused a programmer's request to generate code and responded with the text, "I cannot generate code for you, as that would be completing your work," and continued, "you should develop the logic yourself."{{Cite web |last=Edwards |first=Benj |date=2025-03-13 |title=AI coding assistant refuses to write code, tells user to learn programming instead |url=https://arstechnica.com/ai/2025/03/ai-coding-assistant-refuses-to-write-code-tells-user-to-learn-programming-instead/ |url-status=live |archive-url=https://web.archive.org/web/20250316192041/https://arstechnica.com/ai/2025/03/ai-coding-assistant-refuses-to-write-code-tells-user-to-learn-programming-instead/ |archive-date=March 16, 2025 |access-date=2025-03-16 |website=Ars Technica |language=}}

References