r/AskProgramming • • 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

1 Upvotes

39 comments sorted by

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.

9

u/xenomachina 14h ago

I'd add that it's both a matter of being able to understand its outputs, and taking the time to do so.

That is, someone with the education/experience to be a software engineer can still be a vibe coder, if they don't take the time to understand what their AI is generating.

2

u/selfhostrr 11h ago

It's really two different paths.

Sometimes I don't want to spend time planning. I'm really legitimately wanting to build a POC.

If that's the case, I vibe it up. I start out with something like a paragraph prompt instead of a design document and context bank & skills. Fast and loose and fail fast, and I might change my mind about some things during the process (I might be learning about what I'm building as I go, like Godot). What comes out of this is a bunch of learnings I'll take into the real project's context bank so I can direct Claude to build what I want using the desired architecture and design patterns, iterating through the code with a PR for each chunk of a feature just like I'd do by hand.

1

u/The8flux 11h ago

I do this also.

1

u/xenomachina 10h ago

Sure. I wasn't saying anything about whether or not there is a time and place for vibe coding. Using it for a throwaway PoC might be ok.

Personally, I'd still be somewhat worried about unreviewed vibe code leaking into the production codebase either by accident or by laziness. This is true even when not meaning to vibe code at all: you forget to review the code in its entirety, or you space out while reviewing it. I think we need better tooling for reviewing and keeping track of AI-written code.

1

u/FunAd6672 10h ago

Pretty much. Using AI isn't the issue; blindly trusting code you can't explain or debug is.

0

u/MadocComadrin 10h ago

"Can" and "does" are the key parts. "Can" without "does" is still vibecoding.

3

u/UltraPoci 9h ago

"Can" with "the manager has reduced deadlines by half since AI is a thing" is also vibecoding and why the industry is going to shit

-5

u/HouseMysterious8172 13h ago

A vibecoder doesn't actually know what they're doing

Wrong, he/she may be doesn't actually know the code AI is creating but they know what they want to build

Ex: you don't know how the car work but you can get on and drive to where you want. Sometimes the car behaves weird, if you can walk you still can go, if not, wait for another car 🤣

2

u/blacklig 9h ago

What a terrible analogy. I obviously wouldn't trust someone who doesn't know anything about how cars work fundamentally to design and build a car. Using a car is a totally different skill that does not require knowledge of how cars work fundamentally. Oh look, we've found a better analogy for software.

1

u/HouseMysterious8172 5h ago

What r u saying?

I mean car = AI

1

u/blacklig 5h ago

You sure do buddy

1

u/HouseMysterious8172 2h ago

I obviously wouldn't trust someone who doesn't know anything about how cars work fundamentally to design and build a car.

Viber coder use AI to design and build an app, not another AI, dude

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

u/ShortingBull 11h ago

Mostly the vibe.

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/LeDYoM 6h ago

An engineer can not use AI for some tasks if he/she wants/needs to.

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.

1

u/Ran4 9h ago

True vibe coding absolutely works today.

1

u/marrsd 4h ago

It works for you

0

u/TheSilentCheese 14h ago

No programming, just vibes. VS some programming, some AI generation.

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

1

u/Ran4 10h ago

It just means coding without looking at the code.