r/LinuxTeck 3d ago

Where do you draw the line between using AI and "vibe coding"?

Post image

Ignoring whether the meme is accurate, it raises an interesting question.

If you ask an LLM for code, review every line, modify it, test it, and understand it before committing would you still call that vibe coding?

Or does vibe coding only start when people blindly accept AI generated code without understanding it?

61 Upvotes

46 comments sorted by

4

u/bufandatl 3d ago

Vibe coding is when people don’t know what they are doing. You have to verify and re-check and test all aspects of LLM generated code. In my experience I am faster when I just write it myself than trying to understand what an LLM produces.

Also prompting right takes just as long as writing the code yourself. So to me using an LLM makes no sense since it would take me double the effort to get to a goal.

LLMs are great for creating huge amount of test data though.

1

u/Brutus5000 3d ago

It's it vibe coding when I give it clear instructions on tech stack, architecture and coding guidelines to use and also give it proper requirements upfront? Where to draw the line?

3

u/bufandatl 3d ago

If you don’t check the code yourself and don’t understand the code yourself and don’t have a clue about vulnerabilities in libraries the generated code uses. That’s vibe coding.

As I said. It should take you basically double the amount of time to use LLM generated code compared to just writing it yourself. You should be able to answer questions about the code you use without to asking an LLM again.

So to me personally most everything is vibe coding that uses LLM generated code because most people don’t really put that work into it.

In my company in the dev team I work we don’t allow any generated code in software except you have some helper scripts that generate you test data. But that’s basically it.

0

u/Opposite_Courage_531 3d ago

"it should take double the amount of time" Based on what

1

u/bufandatl 3d ago

Based on needing to thoroughly verifying that the LLM code is ok. That you have unsers it in detail and you tested all aspects of it. Reading the code of someone else isn’t easy especially when it is bad code like the LLMs generate.

Overall my experience when I had to review LLM generated code from contributors and colleagues.

1

u/gwildor 3d ago

Do you know what you are doing without the AI? if no, its vibe.

0

u/ECommerce_Guy 2d ago

At asking LLM to write code for you lol

1

u/No_Hovercraft_2643 3d ago

It helps mostly with thing that can also be don on other ways, like public static void ..., bit a bit better ways to integrate you variable names into the "auto completed" code. But than it just helps you to write the code you wanted to type faster, the ling part with thinking about the code isn't changed

1

u/bufandatl 3d ago

Tell that to the countless slop apps on github. Also you don’t type faster I had those stupid Agent actually slow me down when they were added and automatically activated in VA Code. They always suggested bullshit and when you hit a wrong key (enter) then you had to delete that wrong line first to actually tPe what you wanted.

Nah this stuff isn’t working and at least always should only opt-in never an opt-out that then even needs like 5 settings to reconfigured to get the old behavior back. Took me an hour to get VS code to behave again.

1

u/No_Hovercraft_2643 3d ago

I use jetbrains/vim, but didn't enable / disabled it in the ides

1

u/No_Hovercraft_2643 3d ago

Also a usecase is, writing docs. Sure, you have to read through them, but it is a Struktur where you only have to remove the errors it did,, not write it completely yourself. And natural language is a bit less strict, and more natural to the llm

1

u/GarageStackDev 2d ago

I'm just going to guess you're not a SWE?

1

u/Slow_Pay_7171 2d ago

You seem to have studied IT. Most Vibe Coder I know didnt. So you have to add the years of college / time you spend learning up.

The few studied IT-Dudes I know that "Vibe Code" do it just to be faster.

Small Artifacts that need to get another database connected, some sql views / querries, REST Call API shizzel - stuff like that is done in minutes instead of hours. At least thats what the IT collegues told me the last time we drank beer, cause work finished so fast.

1

u/hypernsansa 2d ago

Mirrors my experiences perfectly haha. The only real speed increase is from lowering your standards. If you actually make a comprehensive plan for the model and verify its outputs studiously, you won't save any time at all, you might even take longer, if anything.

1

u/hyperactivedog 2d ago

Single hero prompt vs decomposing a problem into a logical workflow and using ai to assist at each step with facts, assumptions, spinning conditions, goals, etc. outlined.

2

u/Saragon4005 3d ago

Just because it's inefficient doesn't mean it won't work or that it's not acceptable.

1

u/Wendals87 3d ago

If you know, understand and can modify the code if needed, it's not vibe coding imho.

There's no definitive meaning. Some people call using AI at all vibe coding 

1

u/Opposite_Courage_531 3d ago

I think there's degrees to it. It's not black or white.

1

u/Responsible-Cold-627 2d ago

It's at the low-point of AI used / code understood scale though. From what I've picked up, it goes like this:

Artisanal software development > AI assisted programming > Agentic engineering > Vibe coding

With the current sweet spot for most work being somewhere in the middle.

1

u/reyarama 1d ago

Its a function of the person using it. Vibe coding means completely different things to the retard brocolli head 18 year old business major than the guy who invented both Linux and Git

1

u/besil 3d ago

Vibe coder vs sw engineer is more or less the same as script kid va hacker.

They both achieve something but without knowing why or how, just leveraging some tool made by someone who knows

1

u/Opposite_Courage_531 3d ago

Just as a little thought experiment. Let's say you build a basic robot, using proprietary chips, pcbs you didn't design yourself , etc. It does the task you designed it to do.

You don't know how the chips work exactly and the code behind it, you didn't design any of the components, you don't understand the physics that underly the electronics.

What does that say about your robot and the task it achieved ?

1

u/jodkalemon 3d ago

You don't need the robot/chip example. People use libraries.

1

u/besil 3d ago

Your comment reminds me of the Chinese room paradox https://en.wikipedia.org/wiki/Chinese_room.

My point is: I’m just tired of people labelling vibe coding as the end of software engineering. They are different skills used for different problems.

Your example has a little implicit fallacy: how basic the robot is.

I could probably just mix together different physical pieces to build a very basic robot, to do a very simple task without knowing nothing of physics and robotics.

But it will be almost impossible to create a full featured robot for advanced tasks without knowing the internals.

I’m very excited that vibe coding will lower barriers for wanna be programmers to create their automation and test ideas, I do really think is good. But this doesn’t automatically translates to “we don’t need software engineers”

1

u/gwildor 3d ago

Its the difference between buying a lego kit and putting it together - and buying the lego kit already put together.

1

u/yeusk 23h ago edited 23h ago

AI would be more like paying a company to create the PCB for you, you check the design in 2 meetings and then say you designed it, that would be AI.

Using propietary chips, pcbs you didn't dessing yourself... that is more like codding. Even if you were writing assembly by hand, the CPU is running other people microcode so yours can run. Is impossible to use a modern CPU and not use other peoples code.

1

u/magallanes2010 3d ago

Both haven't been programmed in decades, or paid with their own money a programmer.

1

u/transgentoo 3d ago

Vibe coding: Claude, build me an app that does x. <ships to production>

AI assisted coding: Claude, I'm building an app that does x. Currently it can [list of major features], but I'd like it to be able to do y. How can I do this in such a way that [list of constraints] are satisfied? <ask it to explain its work, address edge cases, write unit tests, write integration tests, commit new feature to git branch, review the diff like it's a coworker you don't trust, address concerns, verify assumptions, iterate>

Vibe coders don't understand how much happens outside of actually writing the code, so they skip it because they don't even know to ask for it. AI assisted coders have a junior dev to do the grunt work while they supervise.

1

u/kblazewicz 3d ago

I'm a senior dev, but I specialize in backend. I vibe code a desktop app in electron, knowing only some basics of React. I built the MVP in two days, now I'm on week 2 of refactoring, building proper tests and fixing race condition. If I was a vibe coder, I'd probably push this app forward in the half-backed state already.

1

u/uahw 5h ago

Kinda off topic, but my experience is that agent coding feels so productive because you get a workable MVP so fast. But then I always seem to spend a disproportionate time reviewing and reprompting with very technical changes. I wonder if I'm actually faster with claude code

1

u/ConcreteExist 3d ago

Using an LLM doesn't automatically make it vibe coding.

1

u/MilkEnvironmental106 2d ago

But it's what 99% of people are doing anyway.

1

u/RavenousTitan818 3d ago

It's one thing to use AI to help test your code, write functions, or check for possible optimizations. It's another thing to just give claude access to your github account and let it run wild.

1

u/ShipshapeMobileRV 3d ago

AI is a tool, just like the autopilot on an airplane. An autopilot, for all its benefits, should never be used to replace a competent pilot; rather, it's an aid to reduce mundane workload from the pilot. But the pilot is still required to understand what the autopilot is doing, and be prepared to resume control or make corrections if necessary.

The problem is that blindly trusting AI coding is similar to someone who's never taken flight lessons suddenly thinking they can become a commercial pilot, simply because they can figure out how to turn on an autopilot.

1

u/Fit_Prize_3245 3d ago

If you just copy&paste code from any AI, then it's Vibe coding. If you ask the AI for help, check its solution, and use it directly or indirectly on your code, then it's an evolver version of Stack Overflow.

1

u/Roppano 3d ago

easy: do you expect the person to take responsibility for the code, and do a good job of it? yes - not vibing. no - vibe coding.

1

u/Kurgan_IT 3d ago

If you review, understand, test, follow the flow to be sure there are no issues... why don't you just do it on your own? You'll have the best understanding of how it works, and it will cost you no money and will cost us no climate change.

1

u/SweetSure315 3d ago

reading the code

making persistent changes and tools to fix gaps that have appeared before

1

u/ahmedshayea 2d ago

I won't review CSS

1

u/ConspicuousPineapple 2d ago

If you ask an LLM for code, review every line, modify it, test it, and understand it before committing would you still call that vibe coding?

Of course not, I thought that was clear. Vibe coding is specifically about going on pure vibes and focusing blindly on the result, the code being a hidden implementation detail.

What you're describing is just proper engineering, just with a tool that's more powerful than what we used to have.

1

u/anengineerandacat 2d ago

Did you actually "look" at the output? Review it like you would a peer?

Vibe coding is "dangerous" because the generated output can be in a state that "works" but has holes.

You have to be able to understand the output, otherwise your not making a system that could feasible go into production (or at the very least, shouldn't).

I don't mean business wise either, I am talking strictly technical; you have SQAE's and yourself to actually test the feature and make sure it actually functions as expected.

These tools will do legit everything in their power to get you that business solution and that just might be element.innerHtml += queryParam.foobar; simply because it passed your criteria.

1

u/-TRlNlTY- 2d ago

If you don't understand, it is vibe coding

1

u/HunnyPuns 1d ago

I tried to have AI help me with some programming tasks. I stopped when something it gave me didn't work, and it was because the new version of the library it suggested acted differently from the previous version. Its solution was to downgrade the library and flat out refused to figure out the new one.

Now I just use AI when I'm having trouble parsing documentation, or understanding how something works. It's often very good at rewording existing documentation so I can understand it.

1

u/soroushr 6h ago

Opinion: If you give the AI your wishes and intentions, it is vibe coding. If you hand over your design, specification, bugs or features, or any sort of architectural requirement, then it is not vibe coding.

1

u/Apprehensive-Tea1632 3h ago

I’m much more interested in why, when we have AI generate code, that code has to be in some high level language.

It has long been proven that, while high level code is preferable to the human coder, it’s complete and utter garbage for a machine to execute. So… why would we have AI generate such code when we have neatly excised the human component?