5

A topic that recently started appearing on my socials in programming-related circles was "vibe coding". Based on the context, it appeared to be some sort of emergent methodology to write code that heavily relies on generative AI to produce and test code, but I haven't looked too deeply into this yet.

What are the main principles of vibe coding and what are the strong points?

4
  • I'm not sure if this is the right stack to ask this and the right tags since I rarely use Stack Exchange these days and I'm no longer familiar with the various stacks and their scope and tags. Let me know if other tags or another stack might be more appropriate. Commented Mar 14 at 13:59
  • According to Wikipedia, it's not really coding, in the sense that one does not actually write any code, but develops an app by hoping an AI will spit out something kind of usable based on a descriptive text prompt. Commented Mar 14 at 15:48
  • 5
    Isn't that rather obvious? The advantage is that you can achieve something with next to no skills and no understanding. Commented Mar 15 at 9:00
  • 1
    Vibe coding will be the death of us all. Commented May 10 at 16:08

3 Answers 3

15

Vibe coding is a coloquial term for describing a program to a large language model in plain language, and basically accepting whatever it gives you. Ars Technica has a good write-up. According to Ars, Andrej Karpathy coined the term on February 2, 2025 in a status posted to his account on X.com:

Screenshot of Andrej's post included in the Ars Tecnica article

Image credit: Ars Technica

It took some digging, but I found his original post, which is below in full:

There's this 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. It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Also I just talk to Composer with SuperWhisper so I barely even touch the keyboard. I ask for the dumbest things, like "decrease the padding on the sidebar by half" because I'm too lazy to find it. I "Accept All" always, I don't read the diffs anymore. When I get error messages I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I'd really have to read through it for a while. Sometimes the LLMs can't fix a bug so I just work around it or ask for random changes until it goes away. It's not too bad for throwaway weekend projects, but still quite amusing. I'm building a project or web app, but it's not really coding - I just see stuff, say stuff, run stuff, copy paste stuff, and it mostly works. — Andrej Karpathy on X.com (Web Archive link)

So, right from the source, if we are to believe Ars Technica and Business Insider, too.

As for main principles? Read the above. That's what we've got so far. A guy posted on X.com. This wasn't researched and developed in a committee or national standards body, so no official list of principles or best practices exist except just talk at these things, and keep talking until you get the desired output.

As with any new buzzword not backed by objective research, the strong points and principles are a developing story.

From my own interpretation, vibe coding is good for prototypes and throwaway code, which Andrej mentions in his post. Think, scratch pad on steroids. You're thinking through the problem, not the code (just don't be this guy).

Now, if you'll allow me to have a bit of fun with an old meme:

I don't always use AI code generators, but when I do I "Accept All" always.

If AI is all that is wrong with software engineering, then vibe coding is the dumpster fire around which the ignorant dance naked and carefree. If, however, you ascribe to the message in the commercial from which this meme originates — take a risk, throw caution to the wind, live dangerously and enjoy the ride — such an assertion would seem to miss the whole point.

I don't always use memes in my answers, but when I do I use them to make a philosophical point.

10
  • Why even bother with the redundant screenshot? Commented Mar 15 at 9:57
  • 7
    @user3840170, because links go dead on the Internet. I actually had a hard time finding the original post on X.com. The image is from Ars Technica. They posted an image for the same reason. It wasn't long ago that X.com was called Twitter.com. Without the image, after the link goes dead, it's just quoted text from some random guy on the Internet (me) about what some random guy on the Internet (Andrej) said about vibe coding. Commented Mar 15 at 16:13
  • 1
    @GregBurghardt As if a screenshot isn't some random image with text – which are frowned upon here. Commented Mar 16 at 7:31
  • 2
    @user3840170 I was under the impression that the page you linked to is directed towards users who post screenshots of code, results etc, whereas here it's regarding a post on social media, where the URL can change, the post be altered or disappear entirely, and in my opinion that is perfectly reasonable, as explained in Greg's comment Commented Mar 16 at 11:25
  • 1
    "Without the image, after the link goes dead, it's just quoted text " - Images of things like tweets are extremely easy to fake either by using websites that fake them for you or very basic web development skills. IMHO we should only treat an image of a tweet as very marginally more reliable than a quote. I guess the image has the advantage of being harder than a quote to make accidentally inaccurate, and does include some metadata details that are not in the quote. Commented Apr 3 at 12:37
4

What are the main principles of vibe coding and what are the strong points?

It seems to be just the same old idea of late, of AI writing code, and pumping hype and finding new jargon to describe that.

I guess one of the strengths of AI is that it facilitates "stealing", "socialising", or "liberating" existing code and other recorded material which is not licenced to the user. It can be seen as a defeat method for intellectual property laws, since the vast majority of basic algorithms and data structures dealing with common problems have already been written in existing software, that information is just not published, publicly available, and concentrated into a searchable catalog.

It's another question entirely whether if countless billions had been poured into making conventional knowledge materials (reference books, curriculums, standard models of known applications, etc.), developer training time, and improving standard libraries and developer tools and programming languages which minimise routine drudgery, and if all existing software were open-sourced and catalogued, whether we wouldn't see some of the same "easier" development that AI allegedly promises.

I also wouldn't assume that the primary users of AI are those getting code out of an AI portal. Rather, the primary users could well be intelligence agencies benefitting from what the public put into an AI portal which they fund and run, since consultation with this oracle is often a glimpse of information that might otherwise be difficult to access, or might normally exist only in verbal or thought forms. So this could be another "strength" depending on how you view these discreet activities.

But I think amongst skilled programmers, there seem to be very limited reports of benefits from AI-assisted coding, especially since the difficulty of typing out code in a conventional sense is just replaced with the difficulty of finding the right incantation to write down for the AI, and it's not appreciably better than just googling keywords and reviewing answers on StackOverflow (which programmers already do). And it doesn't really help non-programmers, because they don't know when they're getting garbage back and aren't able to debug or tweak.

So to that extent, I'd question whether it has any "strong points" from the point of view of the average programmer.

0

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 large language models, allowing programmers to generate working code by providing natural language descriptions rather than manually writing it. 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 bugs, requiring him to experiment with changes until the problems are resolved. (source)

From the last phrase of the vibe coding definition according to wikipedia

experiment with changes until the problems are resolved.

it seems to be a combination between agile methodologies and continuous integration / continuous delivery (CI/CD).

4
  • 2
    Also known as whack-a-mole! Commented Mar 15 at 10:17
  • Except the human is pointing out the mole and AI is trying to whack it. Commented Mar 15 at 17:16
  • 6
    "it seems to be a combination between agile methodologies and continuous integration / continuous delivery (CI/CD)" LOL yeah that's the most generous interpretation of anything I've read in years Commented Mar 15 at 20:19
  • Reminds me about "Random Sort" algorithm xD Commented May 14 at 6:49

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.