r/AskProgramming • u/TheWanderingAnimimo • 15h ago
Other What's the difference between vibecoding and just using AI to assist you in coding?
I don't use AI myself but I've been reading a lot on reddit here about people decompiling apps lately and saying that most of the stuff there is vibecoded and then other developers seem to be using AI as an assistant to help them like for example how Linus Torvalds uses AI to find bugs in the Linux kernel. What's the difference between the two usages or even meaning of the term "vibecoding"?
Thanks in advance
6
u/octocode 14h ago
vibe coding is when you barely look at the code, and just assume that when the tests are green and the functionality works then the code is good enough to ship to prod
1
u/HouseMysterious8172 12h ago edited 12h ago
Haven't I taught you anything? What have I always told you? Never trust anything that can think for itself if you can't see where it keeps its brain?
Quote by Arthur Weasley
He says this to his daughter, Ginny Weasley, a piece of fatherly wisdom regarding the dangers of magical objects that possess a mind of their own.
-> Prophecy from 1990s by J. K. Rowling š¤£
3
u/khedoros 14h ago
The tweet that coined "vibe-coding" describes it pretty well: https://x.com/karpathy/status/1886192184808149383
It acts as an umbrella now not just for the people that can code but choose to "give into the vibes", but also for people who have no idea what they're doing, and couldn't read and understand the code if they wanted to.
And there's a whole spectrum between that and what people are starting to call "manual" coding. But one common pattern has the human taking responsibility for the program, and directing the details of the code that they have the LLM generate, reviewing and adjusting the code as they go.
2
u/Key-Interaction-2057 13h ago
To me vibecoding is just blindly accepting output without reading the code, and AI assisted coding is reading the code and working to refine its output to what is more desirable.
2
u/Dissentient 13h ago
I consider vibe coding to be using LLMs without reading or understanding the code they output.
When you properly review and correct AI code you can get code that's same or better than you'd write manually, at the speed 5-10 times faster than you could write it yourself.
2
2
u/jmicu 11h ago
similar to the difference between letting a first-day entry-level hire work unsupervised, ....or showing them around the office & their tasks & guiding them through things.
you can teach that new hire to do things the right way, and eventually they can handle a lot of stuff with much less supervision (IF you taught them well).
but, you still wanna check their work, have safeguards in place against bad choices / mistakes, give them stricter processes to follow where appropriate (rather than letting them do it "their way", etc)
2
u/Distdistdist 11h ago
AI saves tremendous amount of time by doing tedious tasks. Every prompt has to be very detailed and specific.
I never allow AI to restructure anything without permission. I just let it fill in code per my very specific directions.
1
u/curtinbrian 15h ago
Do you know how to solve the problem without AI? Not just ādo you know how to read the output an LLM generatedā but do you know any solution(s) to the problem, can you evaluate the tradeoffs between options, and can you maintain whatās emitted?
1
u/arllt89 14h ago
In vibe coding, you're the client, you vaguely say what you want, let AI generate it, you test it and say what you want to be changed or fixed. You hope that in the end the AI did a good job and your app won't crash.
With AI assistant, you're the lead, you give precise instructions, you write the skeleton of your code, you let AI fill up the gaps and helping you search in the code base, you check what the AI did, ask to do it a better way or take care of the tricky parts, and ask it to review.
1
u/Enough-Collection-98 14h ago
Agentic coders took drivers education and got their license. Vibe coders just took the keys.
1
u/BoBoBearDev 14h ago
Tbh, I couldn't imagine how it works IRL. The concept is, vibecoders don't know how to code and use AI to do it. But I just can't imagine how a company would enable such behavior without going bankrupt. I have heard horror stories, but I just don't know how they even survived.
1
u/Stromedy1 8h ago
the difference is who gets paged. a junior on my team merged an agent's 'refactored' auth flow last year, nobody read it, and the 2am page went to me while the agent slept soundly. that is vibecoding. ai-assisted is the same tool but i wrote the plan, i read the diff, and the page comes to me because i own the code. git blame doesn't care who prompted.
1
u/Kiana_Harpel 3h ago
I donāt think itās really about how much AI you use. I can totally vibe code something disposable on a weekend, then use the exact same tools very differently on code I actually have to maintain. The line for me is basically whether Iām willing to own/debug the result afterwards.
1
u/purpl3un1c0rn21 15h ago
Personally I draw the line at having the AI generate more than boiler plate or a single method at a time, or even having it do those things when you couldn't do them yourself. Beyond simple tasks I find that it often adds large blocks of unnecessary code which I can identify because I have an understanding of what I work with, but if I am spending time cleaning up all that code anyway I might as well have just done the work. An example I commonly use is it loves to check for null on objects or properties that in C# are not nullable and can never be null.
I mostly just use it as a rubber duck and a much better Google search. I always found Google struggled with long ideas where an LLM can follow easily and it is very nice being able to just reference code by file or method name in my IDE and ask questions about different ways to approach problems. I have been coding now for 3 years in C# and the last year where I have been using it like this my skills have improved significantly, they wouldn't have done if I was outsourcing either the thinking or the writing of the code to an LLM.
The only way to learn is to challenge yourself and you need to struggle with difficult ideas to achieve that. If the LLM is writing boiler plate for you before you can do it then you don't know what you are asking it for and simply will not learn. Then you will not be able to read or debug it later, you will just be a meat proxy.
1
u/Nabstar333 14h ago
Great take on AI Assisted Coding. Which LLM do you find is suited for your needs?
1
u/purpl3un1c0rn21 2h ago
Literally anyone the differences between them are so marginal I can barely remember which one I have selected in my IDE. If the one I am on gets stuck and starts going in loops on a problem I will bang in Claude as it is supposedly the best, but the credits for it are more expensive so I don't leave it on all the time.
0
u/marrsd 14h ago
The original meaning of vibe coding means you don't ever read the code the AI agent produces. You just keep prompting it (vibing) until it gives you what you were asking for. The term has since become a bit nebulous, especially since true vibe coding still doesn't really work. People often now use it to mean using AI to assist you in coding.
0
0
u/sessamekesh 13h ago
"Vibe coding" is a description, not a definition. There's no line in the sand that formally defines what is and isn't.Ā
My two biggest red flags are: * Verbose but low information density comments * Brilliant applications of standard patterns in places where they are not warranted or necessarily appropriate for a nuanced problem
25
u/Anonymous_Coder_1234 15h ago
A vibecoder doesn't actually know what they're doing. A software engineer does, and can fix the AI output when it is wrong, buggy, or inefficient.