4/19/2025 at 8:43:53 PM
So what have we redefined vibe coding to mean exactly?The original tweet[1] talked very specifically about not caring about quality, just accepting whatever code the AI produces blindly, as long as you get the black box output you're looking for, and just randomly try again if you didn't.
Are people now using this term to mean "giving an AI agent broad tasks"?
[1] https://x.com/karpathy/status/1886192184808149383?lang=en
by SCdF
4/19/2025 at 9:29:20 PM
I wrote about this last month: "Not all AI-assisted programming is vibe coding" - https://simonwillison.net/2025/Mar/19/vibe-coding/Vibe coding is when you don't review the code at all. If you're using LLMs to help you write code but you're actually reviewing what they produce (and iterating on it) that's not vibe coding any more.
This battle is almost certainly lost already, but dammit I'm gonna keep fighting anyway!
Salty version: https://bsky.app/profile/simonwillison.net/post/3ll2rtxeucs2...
> Feels like I'm losing the battle on this one, I keep seeing people use "vibe coding" to mean any time an LLM is used to write code
> I'm particularly frustrated because for a few glorious moments we had the chance at having ONE piece of AI-related terminology with a clear, widely accepted definition!
> But it turns out people couldn't be trusted to read all the way to the end of Andrej's tweet, so now we are back to yet another term where different people assume it means different things
I found out this anti-pattern where a newly coined term loses its definition as it spreads more widely is called "semantic diffusion": https://simonwillison.net/2025/Mar/23/semantic-diffusion/
by simonw
4/19/2025 at 10:53:44 PM
I don't know if it's you and I (and some others) who are just uptight sticklers or something, but it bothers me a ton too. Same thing happening with "open source" in connection to LLMs, where suddenly some companies have decided to try to redefine the meaning, people lack the care to make the distinction.In a dream world, each new terminology goes through an RFC to figure out a meaning we all (some of us) can agree to, so at least we can link to an angry RFC when people continue to misuse the term anyways.
by diggan
4/19/2025 at 11:21:06 PM
Yeah that "open source" thing is SO frustrating. We have a very well established definition for what "open source" means: https://opensource.org/osdI have a suspicion that Facebook insist on calling their open weights models "open source" because the EU AI act says "This Regulation does not apply to AI systems released under free and open-source licences" but doesn't do a good job of defining what "open-source" means! Bottom of this page: https://artificialintelligenceact.eu/article/2/
Correction: the closest it gets to defining open source is in https://artificialintelligenceact.eu/recital/102/
> The licence should be considered to be free and open-source also when it allows users to run, copy, distribute, study, change and improve software and data, including models under the condition that the original provider of the model is credited, the identical or comparable terms of distribution are respected.
(I found that by piping the entire EU AI act through Gemini 2.5 Flash - https://gist.github.com/simonw/f2e341a2e8ea9ca75c6426fa85bc2...)
by simonw
4/20/2025 at 12:09:47 AM
In this wonderful future where we can leave responses longer than a tweet and have conversations longer than 30-second sound bytes, that people can understand, well at least get them understanding your point of view, even if they don't join the team. Having a succinct explanation for the sticklierness is still key though. For not letting Mark Zuckerberg co-opt the term Open Source, it's that it's not open source if I can't see why the LLM won't tell me how to make cocaine. Need to workshop that a lot so it fits on a t-shirt, but that is the gist of it.by fragmede
4/20/2025 at 7:07:20 AM
Also, with LLMs, the traditional Four Freedoms of free software are no longer enough :by BlueTemplar
4/20/2025 at 2:14:35 AM
[dead]by migelammon
4/20/2025 at 2:50:17 PM
I don't really think it's that people couldn't be bothered to read the tweet. It's that vibe coding is very good term but a niche activity. Meanwhile there's a much less niche activity that people would like a name for. I think if we want to save the term for the niche activity we'd need to invent a good one for the less niche activity.by furyofantares
4/19/2025 at 9:58:56 PM
We do need a simple term for "used AI to write code (semi)autonomously, but checked and/or tweaked the result and I care about the quality".Vibe-but-verify? Faux-Vibe? AiPair? (... I'll see myself out...)
by senko
4/19/2025 at 11:13:07 PM
I think the term for this is: "coding".by codingdave
4/19/2025 at 10:18:55 PM
The term for this is "unicorn"Entirely fictional creature that doesn't exist
Every person who I have seen embracing AI coding has been getting lazier and lazier about verifying
by bluefirebrand
4/20/2025 at 6:56:59 AM
> yeah bro, leave the easy and fun part (googling and typing code) to an AI, and let the human deal with the tedious and error-prone part (checking all the edge cases)What did you really expect?
by otabdeveloper4
4/20/2025 at 5:43:46 PM
Huh, I have never found searching for information and typing code particularly fun. The part I enjoy is seeing something work.by mulmen
4/21/2025 at 9:01:39 AM
What I personally like is solving a problem in my mind and then building a solution.Watching a solution being built after describing the problem robs me of that joy. And of the growth opportunity in flexing my reasoning.
by namaria
4/20/2025 at 2:34:42 PM
Visual Studio with intellisenseby dragontamer
4/22/2025 at 5:33:30 PM
I call it “AI coding”by thebigspacefuck
4/20/2025 at 6:26:05 AM
re: "semantic diffusion", sometime the opposite happens. Consider "meme" which was once very general and is now much more specific. "semantic speciation"?It's as if the culture wants a certain level of specificity for a phrase and if you start too far from it, it'll ignore your wishes and drift to that level anyway.
by __MatrixMan__
4/21/2025 at 1:30:00 AM
Vibe coding is shifting to mean when they don’t review the code, vs the original meaning of when they don’t intend to review the code.by QuadmasterXLII
4/20/2025 at 12:26:05 AM
So the issue you're taking with 'thing is crap' is not 'thing is not crap', but 'you have redefined thing to be reviewed and held to standards and then called it crap'? And so, what, if we just accept it as it is, it's not crap? Or it is, but it everyone knows it (do they?) so it's not worth calling crap?by OJFord
4/20/2025 at 12:44:56 AM
Well, let's be clear: the original definition was actually the one that Simon describes here, and there's no ambiguity around that fact since it came from one specific tweet where Andrej Karpathy laid out a definition for the term quite directly:"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. ... 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 ... 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. ..."
So yes, "not reading the code" is baked in quite specifically.
by achierius
4/19/2025 at 8:52:57 PM
From that tweet:> 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
That sums up vibe coding, imo.
The article talks about code quality with vibe coding, but I think that misses the point. The real problem is code knowledge. When a vibe coder inevitably needs to debug something, if they have no idea what any of the code does, or why it is the way it is, they are not going to have a good time.
Sure they can copy paste the error into the LLM and hope for the best, but what happens when that doesn’t fix it? I’ve already had to spend hours at work tracking down bugs that ending up being in there because someone just blindly accepted the code an LLM wrote, I fear it’s only going to get worse.
by spaceywilly
4/19/2025 at 9:15:19 PM
> When a vibe coder inevitably needs to debug something, if they have no idea what any of the code does, or why it is the way it is, they are not going to have a good timeKernighan's law still applies.
by musicale
4/20/2025 at 8:58:08 AM
I strongly believe it also applies to the AI itself.If the AI wrote the code to the top of its ability, it doesn’t have the capability to debug said code, because its ability to detect and correct issues has already been factored in.
You end up with a constant stream of “I see the issue, it’s: <not the actual issue>”, which is consistent with my experience of trying to have LLM’s debug their own code without basically doing the work myself and pointing them to the specific actual issue.
by dkersten
4/20/2025 at 9:19:17 PM
[dead]by dornan
4/19/2025 at 9:02:12 PM
Also from the tweet;> It's not too bad for throwaway weekend projects, but still quite amusing
You were never supposed to vibe code on serious projects.
by mr_mitm
4/19/2025 at 9:18:41 PM
Any project that solves a real need will invariably become serious.I have lost count of the number of quick one off scripts that ended up still being used in production workloads five (or more) years later.
by SoftTalker
4/19/2025 at 9:18:29 PM
It's fine for tooling or weekend project. I did it on an internal tool. It's got so much functionality now though, that Cursor struggles. It was great when I had a blank project, needed x, y, z and it went off and did It's thing. The moment the project got bug and need modifications, it is better that I do it myself.Also I am a backend engineer. I don't know what kind of code it's producing for my front end. I just hit accept all. But seeing how it does the backend code and having to prompt it to do something better (architectural, performance, code reuse) I have no doubt the front end of my pool is a pile of poop.
I fear that management will see these small quick gains and think it applies to everything.
I'm of the opinion now, that vibe coding is good if you are familiar with the code & stack and can ensure quality. You don't want to give it to a product owner and have them try to be an engineer (or have a backend dev do front end, vice versa).
Just my opinion.
by fma
4/19/2025 at 9:55:03 PM
[dead]by cybertheory
4/19/2025 at 9:02:08 PM
Like you, I’m far too risk averse to not fact check everything an LLM outputs, but I’ve also fixed bugs that have been present for 5+ years. Maybe at a certain point you can just wait for the next generation of model to fix the bugs. And wait for the generation after that to fix the newly introduced and/or more subtle bugs.by benmanns
4/19/2025 at 10:20:48 PM
> I’ve already had to spend hours at work tracking down bugs that ending up being in there because someone just blindly accepted the code an LLM wrote, I fear it’s only going to get worseAnd I’ve also had to spend hours at work tracking down badly copy pasted stack overflow code, or from other places in the codebase that didn’t do what the programmer thought it did. A shitty carpenter will build a shitty staircase whether they have a chisel or a dremel
by maccard
4/20/2025 at 12:46:54 AM
But what about a middling carpenter? Moralism about "shitty programmers" is not helpful when we're really talking about aggregate trends, and when it comes to aggregates -- tools do matter. Defaults matter. Precedent matters. Things like these are why culture has such an outsized impact on a teams' ability to ship good, quality code over a long period of time.by achierius
4/20/2025 at 9:22:30 PM
One difference is that orgs are tracking AI coding assistant usage as a (positive) metric, soemthing they never did with SO. Given finite time, being pushed to AI code whether or not it makes sense or is efficient in either quality or delivery time, and with no relief of time constraints, means other things will fall by the wayside.A good carpenter will build a shitty staircase if he is forced to use the wrong tool, given a timeline that doesn't accommodate it, and paid for delivering something that superficially resembles a staricase on time regardless of quality.
by dragonwriter
4/19/2025 at 9:15:27 PM
> Sure they can copy paste the error into the LLM and hope for the best, but what happens when that doesn’t fix it?Neither side cares unfortunately.
When users attempt to prompt away their problems without understanding the error and it doesn't solve it, that is still good news for Cursor and Anthropic and it is more money for them.
The influencers encouraging "vibe coding" also don't care. They need to be paid for their Twitter money or YouTube ad revenue.
by rvz
4/20/2025 at 7:00:40 AM
> Sure they can copy paste the error into the LLM and hope for the best, but what happens when that doesn’t fix it?Then you throw the code away and start newly from scratch. Or you accept that your problem cannot be solved by vibe coding.
by shikon7
4/20/2025 at 2:16:49 AM
[dead]by migelammon
4/19/2025 at 8:59:06 PM
The definition seems to have pretty rapidly moved to 'used an AI coding assistant in some capacity'.by marcusb
4/20/2025 at 1:40:13 AM
And I think that *horribly* muddies the definition because programming and getting a bit of AI help here and there (since it's read the docs better than you have, and scanned Stack Overflow for common problems and mistakes more thoroughly than you have) is, imo, a very, very valid way to program; but you're still very much in the driver's seat. It's not creating whole design patterns, etc, for you.I wonder if maybe some people have been trying to jump on the "I have also tried vibe coding" train without being willing to hop as far as the term initiator defined it.
I definitely still stick to the "Vibe Coding is when you don't read / grok the code" definition.
by t-writescode
4/21/2025 at 9:10:59 PM
I agree - I'm not endorsing this broad usage of the term, just noting how I see it used in practice. This seems to be half driven by grifters on social media promoting their AI coding course du jour and half by people who just discovered Cursor, Windsurf, etc., and think any use of those tools counts.)Another commenter said these people only read half of Karpathy's tweet - I disagree. I don't think they read it at all, have heard the phrase, and are using it with reckless abandon.
by marcusb
4/20/2025 at 5:22:16 PM
More specifically, using AI bots that can write functions, sometimes entire classes, refactor code, etc.GitHub copilot which is mostly single line completions isn't "vibe coding".
I think vibe coding also entails some "what it did was so simple, I didn't bother to check it".
by calderwoodra
4/20/2025 at 3:06:50 PM
It's like doomscrolling. Originally it meant compulsively reading depressing content about the state of the world, wars, etc., explaining the "doom" part, but eventually it evolved (or perhaps devolved) into just meaning obsessively checking any sort of online content whether or not it was depressing.by jhbadger
4/20/2025 at 7:40:39 PM
I honestly though the doom part was about you being stuck in an horrible loop / situation, not the essence of the newsby davidguetta
4/21/2025 at 10:22:07 AM
in a lot of ways that is understandable when so much of the news is bad news, if all the highlights of the day point toward the world going to hell even reading a normal newsfeed can feel like doomscrolling.by michaelbrave
4/20/2025 at 2:04:22 AM
In the project I’m currently developing (a rewrite of an old timer app), I wanted to implement drag-and-drop icons, but didn’t have much experience with UICollectionView, which is one of the iOS technologies that displays a matrix of elements.I asked ChatGPT for help, and it was quite helpful.
However, its code was really verbose, and fairly “messy.” Even though it worked, it didn’t work well.
I used it as guidance for training myself in the tech, and developed an approach that is far better. I had to learn the tech, and refactored the code example in a pretty major way.
Maybe some of the other tools are better, but I haven’t gotten any code that I would even consider shipping; pretty much exactly like my experience with Stack Overflow, for years.
by ChrisMarshallNY
4/19/2025 at 9:41:28 PM
Vibe coder - someone who uses more coding assistance than I doby xnx
4/20/2025 at 5:35:20 AM
It's like driving. Someone doing more vibe coding then me is a maniac and irresponsible, someone doing less is a slow control freak.by danielbln
4/19/2025 at 9:05:45 PM
It is a scam. Invented by someone who is an AI researcher, but not a software engineer which the latter rigorously focuses on code quality."Vibe-coding" as it is defined, throws away all the principles of software engineering and adopts an unchecked approach into using AI generated code with "accept all changes" then duct-taping it with more code on top of a chaotic code architecture or none (single massive file) and especially with zero tests.
The fact is, it encourages carelessness and ignores security principles just to make it acceptable to create low quality and broken software that can be hacked very easily.
You can spot some of these "vibe-coders" if they believe that they can destroy Docusign in a day with Cursor + Claude with their solution.
Who's going to tell them?
by rvz
4/19/2025 at 9:34:37 PM
Saying that Andrej Karpathy is "an AI researcher, but not a software engineer" isn't a very credible statement.If you read to the end of his tweet, he specifically says "It's not too bad for throwaway weekend projects, but still quite amusing. I'm building a project or webapp, but it's not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works."
by simonw
4/19/2025 at 10:27:41 PM
Your comment might make sense when it's scoped down to that article when he coined that term. If you take a look at his larger collection of statements on software engineering recently, it's hard not to put him in the bucket of overenthusiastic AI peddlers of today.by alternatex
4/20/2025 at 12:42:56 AM
> put him in the bucket of overenthusiastic AI peddlers of today.It's his job to sell now. He's selling.
by echelon
4/19/2025 at 10:23:53 PM
> Saying that Andrej Karpathy is "an AI researcher, but not a software engineer" isn't a very credible statement.I think it is. He is certainly a great AI researcher / scientist, but not really a software engineer.
> It's not too bad for throwaway weekend projects, but still quite amusing. I'm building a project or webapp, but it's not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works."
So is that the future of software engineering? "Accept all changes", "Copy paste stuff", "It mostly works" and little to no tests whatsoever as that is what "Vibe coding" is.
Would you yourself want vibe-coded software that is in highly critical systems such as in aeroplanes, hospitals, or in energy infrastructure?
I don't think so.
by rvz
4/19/2025 at 10:37:26 PM
Where did Andrej say it was "the future of software engineering"? He very clearly described vibe coding as an entertaining way to hack on throwaway weekend projects.Try reading the whole tweet! https://twitter.com/karpathy/status/1886192184808149383
"Would you yourself want vibe-coded software that is in highly critical systems such as in aeroplanes, hospitals, or in energy infrastructure?"
Of course not. That's why I wrote https://simonwillison.net/2025/Mar/19/vibe-coding/#using-llm...
To save you the click:
> The job of a software developer is not (just) to churn out code and features. We need to create code that demonstrably works, and can be understood by other humans (and machines), and that will support continued development in the future.
> We need to consider performance, accessibility, security, maintainability, cost efficiency. Software engineering is all about trade-offs—our job is to pick from dozens of potential solutions by balancing all manner of requirements, both explicit and implied.
> We also need to read the code. My golden rule for production-quality AI-assisted programming is that I won’t commit any code to my repository if I couldn’t explain exactly what it does to somebody else.
> If an LLM wrote the code for you, and you then reviewed it, tested it thoroughly and made sure you could explain how it works to someone else that’s not vibe coding, it’s software development. The usage of an LLM to support that activity is immaterial.
by simonw
4/20/2025 at 10:12:01 PM
He might not have but some industry insiders, for instance YC are releasing videos like this:"Vibe Coding Is The Future" https://www.youtube.com/watch?v=IACHfKmZMr8
by droidist2
4/20/2025 at 10:43:12 PM
Urgh, I had not seen that one.by simonw
4/20/2025 at 1:06:06 AM
> Where did Andrej say it was "the future of software engineering"? He very clearly described vibe coding as an entertaining way to hack on throwaway weekend projects.... And then a few weeks later, my boss' boss scolded the team for not having heard of the term, and told us to learn and use vibe coding because it's the future.
by diggernet
4/20/2025 at 2:20:56 AM
Your boss' boss clearly didn't read to the end of Andrej's tweet.by simonw
4/20/2025 at 5:12:47 AM
Yup. Or just ignored it because it didn't fit the predetermined narrative being pushed on us.by diggernet
4/20/2025 at 1:08:06 AM
> Saying that Andrej Karpathy is "an AI researcher, but not a software engineer" isn't a very credible statement.Broadly I agree with the two other replies: his 'day job' has not been coding in some time, so I would put him in the same bucket as e.g. a manager who got promoted out of writing code 5-10 years ago. I do want to understand where you're coming from here -- do you think that's a fair characterization?
by achierius
4/20/2025 at 2:23:31 AM
His GitHub contributions graph (1,261 contributions in 2024) looks pretty healthy to me. https://github.com/karpathyHe spends a lot of time as an educator these days.
by simonw
4/20/2025 at 5:40:36 AM
his commit messages leave something to be desired> Merge pull request #740 from karpathy/gordicaleksa-fix_dataloader2
> - fix tokenizer omg
> - attempt to fix PR
> - Merge branch 'fix_dataloader2' of https://github.com/gordicaleksa/llm.c into gordicaleksa-fix_dataloader2
by dijksterhuis
4/20/2025 at 11:56:31 AM
Come on really?Do you write perfect commit messages every single time on every project you work on?
by pythonaut_16
4/19/2025 at 9:11:09 PM
I absolutely hate the polarization around "vibe coding".The whole point of AI agents is to eventually get good enough to do this stuff better than humans do. It's okay to dogfood and test them now and see how well they do, and improve them over time.
Software engineers will eventually become managers of AI agents. Vibe coding is just version 0.1 pre-alpha of that future.
by dheera
4/19/2025 at 9:33:26 PM
"The whole point of AI agents is to eventually get good enough to do this stuff better than humans do"You can be an enthusiastic adopter of AI tooling (like I am) without wanting them to eventually be better than humans at everything.
I'm very much still in the "augment, don't replace" camp when it comes to AI tooling.
by simonw
4/20/2025 at 1:48:54 AM
No, I actually do want them to eventually be better than humans at everything.I'm okay with directing AI to write exactly the software I need, without having to manage "stakeholders", deal with the egos of boomers up the management chain, and all the shitty things certain people do in any organizations that get large enough.
by dheera
4/21/2025 at 4:57:29 AM
Why do you think any of those are going away? You can be the best programmer in the world and you'll still be dealing with that.If you're in a situation where you don't have to deal with that, it won't be the result of using AI
by Capricorn2481
4/19/2025 at 9:20:23 PM
> Software engineers will eventually become managers of AI agents.Source? This seems very optimistic on both ends (that AI will replace SE work, AND SEs will still be employed to manage them).
by candiddevmike
4/20/2025 at 8:26:24 AM
> "And then in twelve months, we may be in a world where AI is writing essentially all of the code," Anthropic CEO Dario Amodei said at a Council on Foreign Relations event on Monday. [last week]https://www.businessinsider.com/anthropic-ceo-ai-90-percent-...
The entire Council on Foreign Relations on stage chat is on YouTube.
by RossBencina
4/20/2025 at 1:44:57 AM
I don't need a source, this is my prediction of the future.by dheera
4/19/2025 at 10:03:40 PM
> The whole point of AI agents is to eventually get good enough to do this stuff better than humans do. It's okay to dogfood and test them now and see how well they do, and improve them over time.I agree with that. The problem I have is that people are getting sucked into the hype and evaluating the results of those tests with major rose-colored glasses. They glaze over all the issues and fool themselves into thinking that the overall result is favorable.
by bigstrat2003
4/20/2025 at 6:14:10 AM
I think the issue most of us have, is that vibe-coding is not being treated as a dog fooding experiment, but as a legitimate way to deliver production code.I am already seeing "vibe coding experts" and other attempts to legitimize the practice as a professional approach to software development.
The issue is clear, if you have accepted all PRs with no reviews as vibe-coding suggests, you will end up with security and functionality flaws.
Even if you do review, if you are the type of developer who thinks you can vibe-code a serious project, I doubt you are interested in regular security reviews.
Lastly, businesses are long lasting projects, and the state of AI is constantly evolving. Your codebases stability and speed of development is your businesses success, and if only the AI model who built it understands your code, you are on shaky ground when the models evolve. They are not constantly forward evolutions, there will be interactions that fail to fix or implement code in the codebase it previously wrote. Human engineers may not even be able or willing to save you, after 3 years of vibe coding your product.
by ehnto
4/20/2025 at 8:39:56 AM
> but as a legitimate way to deliver production code.Beyond the developer side of the hype that gets talked a lot, I'm witnessing a trend on the "company side" that LLM coding is a worthy thing to shell out $$$ to, IOW there is an expected return on investment for that $$$/seat, IOW it is expected to increase productivity by at least twice that much $$$.
Companies already have a hard time throwing away the prototype - god forbid you showcase a flashy PoC - and priorise quality tasks (which may need to run over a quarter) over product items (always P0), and in that ROI context I don't see that LLM-assisted trend helping with software quality at all.
by lloeki
4/19/2025 at 9:45:52 PM
Anyone who has maintained code that written by engineers new to the industry, who didn’t understand the context of a system or the underlying principles of what they’re writing, may disagree.by davb