Can we fix (or retire) the vibecoding tag?
61 points by friendlysock
61 points by friendlysock
There’ve been a lot of stories under the new vibecoding
tag that seem to suggest it’s unfocused. Check here.
Here are some that are actually about vibecoding:
I don’t know what the right answer is, but I feel like we need to figure out what the purpose of this tag is and fix it.
Please do not remove the tag. The quality of my experience on lobste.rs has gone up since filtering it. Today is the first day in a while I visited the site without logging in, and lo and behold, I got into an argument about LLMs. The tag is valuable.
So let’s rename it it to “llms” and you can filter that instead!
Nah, that would imply that stories about using LLMs for, say, fiction generation would be on topic for this site.
Using “vibecoding” to denote LLM-assisted software development is entirely appropriate. The term was coined by an LLM promoter, after all.
We have many tags where “this word is used to describe a thing” does not automatically mean “this thing is on-topic”, many where the difference is much wider.
To test this assertion, I looked in https://lobste.rs/tags for examples of tags whose name, even when interpreted in the intended sense of the word, means a broader topic than the tag’s description says. I indeed found many vaguely-named tags:
Tags in the “tools” category, where the vibecoding tag currently is and where the proposed “llms” tag would be
Tags in the “compsci” category, where the ai tag currently is
Tags in other categories
Nah, that would imply that stories about using LLMs for, say, fiction generation would be on topic for this site.
That would 100% be on-topic if the code and techniques were described. For example, it’d be a good usage of llm
+ art
, as a first guess.
No qualms about having the tag split out of “ai”, but I’ll reiterate my proposal from https://lobste.rs/s/lkngrz/new_tag_vibecoding#c_bow1bt:
My alternative suggestion would be something boring like “ai-usage” while the terminology continues to evolve.
Ignoring the inflammatory nature of the name for a second, I think vibecoding is a bad name given that the submitted stories make it clear that AI usage is broader than just generating code. Even with the broadest definition of the term “vibecoding”, I don’t think anyone would include “Firefox working on AI link previews” under that.
ai-usage is vastly clearer and avoids the suggestion of editorializing.
I think having tags that roughly divide “the work of implementing llms/other ai” and “the use of ai” makes a lot of sense. I just think the current tag is bad.
I totally agree that ai-usage
is a much better tag name, at least for those who care to make this distinction at all. But the distinction is still not entirely clear-cut. The line between “development” and “usage” of any new software technique is pretty fuzzy and arbitrary. What about engineering security requirements or UX for applications that use AI but not for programming? There’s a lot of that out there; is it “development” or “usage”?
What is the value in having two tags at all?
ai
and now must filter both tagsai
but not vibecoding
don’t have to see research papers and benchmarksvibecoding
but not ai
don’t have to see… “all this stuff”
(this seems to be the intended use case for the tag split!)But the distinction is still not entirely clear-cut.
I disagree here. There’s basically three parts to the developer centipede (using hypothetical tags):
ai/ml
: training of the models, novel architectures for the models, improvements like mixture-of-experts or LoRA or ablation or whateverai/ml usage
: how to use the results of the previous tag to actually build libraries, products, and so forth. Protocols like MCP (though arguably that’d be api
), building agent frameworks and workflows, doing OCR with transformer architectures, image generation via Stable Diffusion and how to scale it, that sort of thing.vibecoding
: how to prompt Cursor or Claude or copilot or whatever into making an app or library without really doing any programming yourself. Critically, this is mostly in the zeitgeist of the times “I let Windsurf rawdog my email marketing SaaS product I launched last week and now I’m up to 3M ARR and at least as many CVEs”.These are very different things, right–and at the risk of being a bit rude, I think that people who can’t see that are either willfully ignorant or just polarizedand bitchy about the current landscape and wanting to throw the good out with the bad.
Like, my brothers and sisters in Christ, we have not only an erlang
tag but an elixir
tag and even a gleam
tag (for the ten people who care about a niche of a rarity). We have both mac
and ios
, javascript
and nodejs
. Let’s not pretend we’re above excessive tagging.
Well… tbh I always thought the Lobsters “small set of curated tags” and all the ceremony around it a little silly. I was a pretty happy del.icio.us user back in the day, FWIW, and I only use tags for searching the site, myself. I’d be happy with any number of tags in the system as long as we can all reasonably agree on what they mean.
I agree that useful finer distinctions can be made on the topic, and I also see that many of the users here are not interested in making them.
Who could have predicted that the sarcastic choice of the word vibecoding
would result in an unfocused mess of stories?
There was already an unfocused mess that now I can ignore.
You could have already ignored it, by filtering ai
. Now you can filter both parts of the mess independently, even though we don’t seem to all agree about where the line is between the two parts. Yay us.
It’s been less than a month since the tag was introduced. Maybe let a few months go by and see if the consensus settles down about its use.
Whatever is decided, something that unequivocally denotes LLM use and advocacy is absolutely required.
My two cents:
I mute the tag, and this has worked very well for me. Part of the intent of tags is to allow users to filter out content outside their interests, so from that narrow perspective the tag is a success.
I also mute the ai
tag for similar reasons.
I suspect part of the problem for users who are interested in topics vaguely under these umbrellas is that the term AI is overloaded. To paraphrase Emily M. Bender, AI is a marketing term.
The question then is whether it’s worth coming up with better names for the tags and/or splitting the tags into more topics.
However, my view (which I think is fairly common here, based on other comments) is that
So, in short, not worth messing with until the bubble collapses or at least The Discourse chills out a bit.
The description of the vibecoding
tag is “Using AI/LLM, coding tools”. I think all the examples you give fit under that except for the third one, which isn’t actually about that, but just some random LLM output someone posted, which is so low effor that I flagged it as spam.
So you interpret the comma as a conjunction? Like “Using AI or LLM or coding tools”? That seems like a stretch to me. I think “AI/LLM” is a qualifier for “coding tools” and the comma is just a grammatical error.
@pushcx can probably clarify.
No, I interpret the solidus a a conjunction, “AI or LLM”, though this has nothing to do with that post I mentioned which is some script someone based on output of an LLM.
Not the solidus “/” which is pretty unambiguously an “or” here, but the comma “,”.
Do you think that the tag description means “AI/LLM (in general) or coding tools (in general)”? That would cover the firefox link preview story, but it would be a surprising interpretation to me. I read the description as “AI/LLM coding tools (in particular)”.
Sorry, by “third link” I meant the third one in the bullet list. Didn’t think about counting the link(s) before it in the post.
That said come to think of it now I probably would interpret the comma as an “or” as well, it just wasn’t relevant to the link I thought we were talking about.
If folks remember what happened around the systemd tag from a few years back. My rough thoughts is that I want to see how the tag behaves over the next couple of months now that we have #1595.
My other thought on this, having had to do a lot of review of AI stories, is that there seems to be two problems at play which I see exacerbating the consternation around vibecoding
:
vibecoding
has a definition that is somewhat in flux from contributor to contributor. This means that when stories are being submitted, it’s not going to be as clear cut as say linux
or c++
and leads to some amount of jostling on the tag side.My working theory is that vibecoding
is more defined as some “meta-tag” which is created by a mixture of of current tags and possibly a few new interaction tags to define the ways in which end users are interacting with LLMs. If we couple that with the ability to hide stories based on tag combinations instead of using a single set of tags, that gives end users the ability to filter out vibecoding
stories based on their definition instead of trying to find a common definition site wide.
FWIW, I think the tag was created in protest, and I think it should simply be removed and people should just be more discerning about flagging obviously non-educational fluff. I would also like a pony.
No, vibecoding has as an understood meaning: using expensive predictive text engines to generate code instead, and the posts are generally low effort attempts to justify them.
For people who are interested in this kind of nonsense (e.g those who disagree with the above description), they can continue to have those, but they don’t get to play tag roulette to try and force it down everyone else’s throat.
I’m genuinely upset that vibe-coding had a very clear meaning from the second it was coined: using LLMs to output code that you don’t review at all - and within seconds it was being used for all AI-assisted coding. I yelled at clouds about this for a while, with no effect at all.
I think you’re wrong (and would be interested in your rebuttal if you have one worth sharing) to restrict vibe coding to it’s original definition, resisting it’s semantic widening. I’d like to assert that the core meme behind the term vibe coding, is creating code in someway, where you sacrifice a non-trivial amount of intellectual control. If you have an LLM generate code for you, and use it in anyway that extends past the previous bar of what would be described as tab complete. Such that you sacrifice some level of intellectual control. That’s worthy of the term vibe coding, and it’s corresponding divisive connotation.
I do agree that there is an important difference between unreviewed code, and reviewed code. But more important than reviewed code is the intellectual understanding that comes from code you write using your understanding, vs code someone else, or something else creates, that you just understand.
e.g. The inherent value of a paragraph within an essay that I wrote myself, and one that chatgpt wrote for me, but don’t worry, I read it, and tweaked a few words. Is more significant than how closely I read the paragraph it generated. And because it’s more significant of an idea, it’s what deserves the new term.
Yeah, I’ve pretty much come to terms with the fact that it’s getting established as meaning “all forms of AI-assisted development”. I just don’t think that’s a useful term, so I won’t be using it.
I’m cursed with caring too much about clarity in language. I refuse to talk about “AI agents” for much the same reason - there are half a dozen definitions of that floating around and you can never be sure which one the person you are communicating with subscribes to.
Your definition of vibe coding as “sacrificing some level of intellectual control” is a good one. My problem is that I see a key use of “vibe coding” as vibing (hah) with people who don’t take AI-assisted development seriously - “they clearly vibe coded that” becomes a way of disparaging someone’s work. I was fine with that when it meant “they clearly got an LLM to write the code and didn’t even bother reviewing and testing what came out of it”. Now I think it’s just going to become another part of the ongoing AI culture war.
I think the book authors who chose “vibe coding” as their title are going to come to regret it, because in six months I expect it to have mostly negative connotations.
I just don’t think that’s a useful term, so I won’t be using it.
because it’s too wide, because you picked the first one already enjoy the specificity and don’t like change, or because you disagree that the “intellectual control” lost from vibe coding (both definitions) is not the primary significance of it?
I’m cursed with caring too much about clarity in language. I refuse to talk about “AI agents” for much the same reason - there are half a dozen definitions of that floating around and you can never be sure which one the person you are communicating with subscribes to.
You should let go of the rigidness this stems from. I’m very much a “words mean things!” kinda person as well, but sharing ideas and understand is what’s really important. You can refuse to watch TV because the signal is too noisy, if it interferes with your ability to enjoy the video. But just make sure you’re evaluating the loss of fidelity fairly, and accurately. How much of that pedantry over definitions will still be meaningful in a few months when all that remains in the memory of the conversation is the connotation, and none of the definitions or specifics? [n.b. this section is much more advice and instructions to myself than anyone else, this is a skill that I personally am bad at, and I’m trying to learn how to do it]
Your definition of vibe coding as “sacrificing some level of intellectual control” is a good one. My problem is that I see a key use of “vibe coding” as vibing (hah) with people who don’t take AI-assisted development seriously - “they clearly vibe coded that” becomes a way of disparaging someone’s work. I was fine with that when it meant “they clearly got an LLM to write the code and didn’t even bother reviewing and testing what came out of it”. Now I think it’s just going to become another part of the ongoing AI culture war.
This is hard to reply to because the way I was able to read it, it feels like the thought behind it is underdeveloped, so please correct me if and where I’ve misunderstood, because I’m sure I have.
“they clearly vibe coded that” becomes a way of disparaging someone’s work.
So? There’s no conclusion here I can leverage for meaning. Code that appears to be bad quality, such that someone wants to be disparaging, is going to get trashed. I don’t feel like giving them a cheap way to do so, while also signaling they “in the group” is a bad thing on it’s own?
Now I think it’s just going to become another part of the ongoing AI culture war.
There are two groups of people; people who ship trash quality code, and people who are angry when people ship trash quality code. This dichotomy existed long before AI showed up. I don’t think it’s genuine to call this the AI culture wars. Literally everything good you’ve ever used has been created by the latter group, because they were frustrated by the former. By definition the latter group must expend additional effort. Now the former group just got a super weapon, and everyone in the latter group is losing a bit more, a bit quicker. That frustration you see bubbling over is what appears to be the AI culture wars. But the “correct” way to phrase that, given we’re both pedants over clear and precise language, is AI culture skirmish.
because it’s too wide
Because I prefer to use terminology where I’m confident that the person I’m talking to is likely to share the same definition as me. Vibe coding has lost that now, so I’ll stick with “AI-assisted programming” for the most part, and “vibe coding (the thing where you don’t review the code)” for when I’m talking about LLM programming where you don’t review the code.
You’re definitely not alone in that regard, and it’s relevant to the discussion of the tag.
There’s a very large group of people who read the original tweet as the author intended (something like “vibe coding is willfully sloppy use of AI agents to create code”), which was a major part of why it went so viral - that very large group reacted with outrage at the tweet’s positive review of sloppy programming.
I know the lobste.rs tag officially uses a different definition, but it’s not like the original definition of the term is an esoteric technicality - it’s a very common way the term is understood. (See for example the number of upvotes on the comment I’m replying to.) I don’t think of lobste.rs as a place for posting about intentionally low-quality programming, so it’s jarring for me to scan the homepage right now and see tags like “rust”, “debugging”, “compilers”, “wasm” alongside a tag that I can’t help but read as “sloppy programming”. One of these things is not like the others.
Tags in lobste.rs are consistently neutral toward the topic they are labeling; as far as I can tell, this one is unique in being commonly, if not uniformly, considered a pejorative.
It’s pretty clear that the tag is not just about “let an LLM write my code”, so I don’t agree with most of your examples as being misstagged, “actually about vibecoding” is not the criteria. (One can argue about topicality admittedly, but I’m not sure that’s specific to the tag)
From the announcement (https://lobste.rs/s/lkngrz/new_tag_vibecoding )
split the ai tag into two exclusive tags:
- ai: Research and development of AI/ML algorithms and models.
- vibecoding: Use of models, prompt engineering (and jailbreaking), the creation and use of programming tools that use AI/LLM.
Good cite!
The problem is, that definition is ludicrously broad–for example, thoughtful articles on jailbreaking seem like they should be in a different bucket than “this is how I used cursor to make a todo app!”. “Use of models” doesn’t really specify what type of model, what it’s being used for, or whatever else.
It just seems rather too broad to me.
It is my perspective that most people who are seeking to avoid parts of this content are also happy to skip all parts of this content, even in the overbroad definition.
I agree. There are two separate camps here:
Users in the second group should be happy with any tag that they can filter, and happier if the tag name and description help everyone apply it consistently. Users in the first group would probably be happier if the tag name wasn’t derogatory, but that’s not a functional requirement.
What I see is that the tag split appears to be designed to discourage discussion; that is, it’s biased towards the wishes of group 2. I would like to have a forum to discuss upsetting and controversial topics in practical computing, but if most people prefer their filter bubbles, that’s just how it is.
I had already muted the ai
tag ages ago so the vibecoding
tag doesn’t really affect my site experience either way. Maybe we can rename the ai
tag to statistical-machine-learning
and the llm
tag to ai
.
edited to add: if the purpose of a tag is what it does, and what the vibecoding
tag does is tag “this stuff”, then it does seem to be doing that correctly, even if vibecoding
is a bad name.
Yeah, I think the intent of vibecoding
is to act as a kind of sacrificial anode that sucks away all the tedious LLM content away to somewhere I don’t have to see it. From that perspective, it’s a great success, and the site would be a lot less pleasant if we got rid of it.
I think you’re on to something.
There’s really a few flavors, right:
vibecoding
– let’s watch the AI barf up a bunch of stuff together, or let’s learn how to setup the vomitorium for the AI.deep-learning
– let’s throw large neural networks and such to learn a dataset.statistics
/classical-ml
– let’s talk about fitting curves, clustering, and so forth.classical-ai
– let’s talk about state machines, graph search, knowledge representation, logic, etc.nlp
– let’s talk about modeling speech and text and so forth.That’s sort of a stab at it.
Hm, the history of AI treadmill does sort of suggest that eventually transformer models will be absorbed into the general body of “algorithms” and someone will find a new thing to call AI.
classical-ai – let’s talk about state machines, graph search, knowledge representation, logic, etc.
https://lobste.rs/s/69ct0v/tag_proposal_logicprogramming which has enough support generally, but disagreements around the specific tag name block the final decision. N.b., a perfect taxonomy isn’t necessary as I think most interested in e.g. classical-ml might want to see the odd nlp or deep-learning article too; tags are for separating common reader bases.
I don’t know what the right answer is, but I feel like we need to figure out what the purpose of this tag is and fix it.
There’s a reason many bug reports ask for a description of the bug, the observed behavior, and the expected and desired behavior. This doesn’t seem to state the desired behavior. How will you know when the change was successful? How do you expect the value of that change should be weighted by everyone who’s thinks the current behavior is already better?
reflections on the discourse around AI, not actually about vibecoding.
This is a prime example of why the tag should exist. This turned into a contentious thread, and feels like the kinda thing people frustrated by the current state would want to avoid. How should they filter this?
A Firefox feature release for previews. Unsure if topical, quite sure not coding.
It’s a feature firefox added so they could sell vibes, again, perfect example for the negative filter
A utility script. Sure, it’s machine generated, but so are a lot of UI code and graphql bindings.
is it even worth attention? I find it otherwise unremarkable, but I didn’t care to look deeper so I could be missing something
A security writeup, basically.
Not that vibe coders would care about such a thing, but this does feel like something that someone who follows the vibecoding tag would, or should want to know?
Complaining about a customer support interaction.
I agree, it’s a weird essay I’m having trouble putting in a box
So I’m counting 3 examples that belong in the vibecoding bucket, 2 as a negative filter, and 1 positive. The others I wouldn’t be interested enough to engage with with any/no tags. So it feels like the tag is working as desired?
the tag would just be called “llms” in a more perfect world but living with the misnomer is like fine: in the context of this site, the word vibecoding just means something different to usual
This would also be a misnomer as the current vibecoding
tag also includes other instances of people writing about how they use some AI-related tools, while ai
still includes discussions (to the extend anyone posts them) about the development of LLMs.
If we wanted an “accurate” tag about how the vibecoding
tag is currently used I guess it should be something like ai-hype
, but I don’t think that would make anyone happier.
I thought it was a catch-all for all this stuff. Maybe a bit too cute of a name.
Exactly. You see it as “all this stuff” and don’t care to make any distinctions. Others do. Should they be able to?
The term “vibecoding” had a precise meaning, and a somewhat derogatory one. It did not mean “using AI tools for software development” but pushcx decided to stretch it that far, following some O’Reilly title. Then, right away, the AI-averse faction of lobsters (quite possibly a majority, but in any case a vocal contingent!) collectively decided to stretch it even farther, to cover (more or less) any use of AI despite the tag description, because that’s what serves the purpose of filtering out “all this stuff”.
If you don’t use filters (I don’t) then having the vibecoding
tag applied to a submission does exactly zip to its visibility compared to other submissions.
I’ve suggested a tag change from ai
to vibecoding
on multiple submissions, because I believe not everyone is so deep into the weeds on meta discourse that they understand that vibecoding is the correct tag. This is both a bit unfortunate, and understandable, but does form part of the acculturation process. Having a tag changed by a mod or users does not reflect badly on the submitter.
I’ve read through the comments on this thread, and as far as I can see the main complaint about vibecoding
is that it might suggest that lobste.rs is less than enthused about LLM usage than the rest of the tech internet. But practically, it’s a nice compromise between those that want to read about LLM stuff here, and those that really really don’t want to. The tag name is a bit cheeky, that’s all.
If the name was (as legoktm very reasonably suggests) ai-usage
, then I would have nothing to complain about here. If part of the acculturation process for Lobsters is learning to read “vibecoding” as meaning “all AI usage” then, while that’s a little weird, it’s also kinda whatever. I fully expect that this meta thread will have no effect at all; this is pushcx’s party and that’s his preferred term, end of story.
Just to be clear, I don’t use tags for filtering, never did, and don’t intend to start. I’m also not a big AI fan, don’t touch the stuff myself, and appreciate having a grumpy anti-AI corner of the tech internet. I just think it’s a pity that people would rather tune it out than discuss the issues it brings up, because I think that’s a disservice to the broader tech community and the world in general.
despite the tag description? The definition right from the announcement is IMHO quite clear on intentionally being a split into research and use of AI, with the tag being newly introduced the latter: https://lobste.rs/s/lkngrz/new_tag_vibecoding
The announcement was a little ambiguous, honestly. But that doesn’t matter much now; everyone should be referring to, under the “tools” section of the tag list:
vibecoding
: Using AI/LLM, coding tools. Don’t also tag with ai
.”Do you honestly read that description as applying to this recent story about an experimental Firefox feature? Even though that story had nothing to do with programming? Because that story had its tag switched from ai
(which is arguably an appropriate tag for it, under the broadest reasonable on-topic interpretation of “Developing artificial intelligence, machine learning”) to vibecoding
, where I don’t see how it’s appropriate unless you stretch the meaning of the term beyond what anybody outside of Lobsters (including O’Reilly!) means by it.
it falls under the “use of models” part, clearly, so yes, if it’s on-topic to lobsters at all that’s the right tag per the tag definitions as given. Also the tag announcements are the biggest contexts we have for how its supposed to be interpreted, certainly in such a case where it’s not a long time ago, so it makes no sense to ignore it in favor of trying to read moderator intent out of a half-a-line definition.
Yes, that’s not how others use the word, but that’s irrelevant to the point that its not people in the community stretching the tag to something its not supposed to be. I personally don’t really care what the tag is called.
regardless of your definition of the word vibecoding I would suggest it has a negative connotion and it’s a little surprising that pushcx has “taken a stance” by shoving all LLM usage under a perjoratively named tag, given that lobsters generally avoids particularly strong discourse
How can it be negative when the author of a recently submitted post (https://lobste.rs/s/bvcjso/claude_code_is_my_computer) has this to say on their About page?
Deep in vibe-coding mode – tinkering with shiny web tech, chasing fresh ideas.
According to a commenter on that submission, they’re launching a startup within the current AI space.
Peter referenced at least 3 newly commissioned books from O’Rielly with the term in the title in the original discussion about the tag.
“vibecoding” is a strict subset of the much more general category of LLM-assisted programming.
If I ask ChatGPT (or whatever) to help me understand some AWS service offerings, that’s not vibecoding. If I ask Claude to prototype some unit tests for a specific repo, which I review before committing/pushing, that’s also not vibecoding. Vibecoding means using LLMs to generate code that isn’t meaningfully reviewed before being deployed to prod.
If I could just create tags without consideration to tag overload, or possible future overlap and renames, or other worries about the future, this is how I’d tag those stories.
First, I’d expand the current ai
tag from “research and development of AI/ML algorithms and models” to a general AI tag for those that can’t be tagged more specifically, then:
ai
(+ culture
+ maybe rant
or whatever other tags).ai-features
, but nah, ai
works here.made-with-ai
/ai-output
+ ai-use
if it were a writeup of how it was made.security
+) ai-dev
+ ai-use
if it were achieved with AI.ai
(+ rant
).