Live data from Hacker News

Perverse incentives of vibe coding

fredbenenson.medium.com

201–210 of 239 posts

Re: Perverse incentives of vibe coding

#201
post #52

Earlier quoted context omitted.

Given that LLMs are trained on humans, who don't respond well to being dehumanised, I expect anthropomorphising them to be better than the opposite of that. https://www.microsoft.com/en-us/worklab/why-using-a-polite-t...

Aside from just getting more useful responses back, I think it's just bad for your brain to treat something that acts like a person with disrespect. Becomes "it's just a chatbot", "It's just a dog", "It's just a low level customer support worker".

While I also agree with you on that, there are also prompts that make them not act like a person at all, and prompts can be write-once-use-many which lessens the impact of that.

This is why I tend to lead with the "quality of response" argument rather than the "user's own mind" argument.

Re: Perverse incentives of vibe coding

#202

Earlier quoted context omitted.

Agreed, I've been thinking about the first assertion a lot recently as I've been using Cursor to create a react app. I think it's more prevalent in frontend development because it tightens the feedback loop considerably, and the more positive feedback you get, the more conditioned you get to reach for it anytime you need to do anything in code. I think there's another perverse incentive here - organisations want to p…

That's not a great argument for talking down their utility for experienced developers, though.

I'm not so sure, I think skills atrophy with disuse no matter what level of experience you have. Like I have around 15 years of experience, but if I stepped away from coding for even just a year a lot of those years of experience will count for nothing.

Re: Perverse incentives of vibe coding

#203

Earlier quoted context omitted.

Large scale server telemetry and fiddly OAuth2/Macaroon token management.

This seems a self servingly literal interpretation of the op’s original comment. Clearly something like “server telemetry” is the datacenter’s “CRUD app” analogue. It’s a solved problem that largely requires rtfm and rote execution of well worn patterns in code structure. Please stick to the comment guidelines: > Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's ea…

Just to say: setting up oauth and telemetry are harder than building CRUD, because it comes later in the learning progression. But it’s still mostly just following a recipe; LLMs are good at finding recipes that are uncommon, but available in the dataset. They break more when you go off script and you don’t take tiny steps.

Re: Perverse incentives of vibe coding

#204
post #29

I wish more had been written about the first assertion that using an LLM to code is like gambling and you're always hoping that just one more prompt will get you what you want. It really captures how little control one has over the process, while simultaneously having the illusion of control. I don't really believe that code is being made verbose to make more profits. There's probably some element of model providers…

But just like gambling, there are ways to do it correctly. Yes, there are the grandmas in a trance vibe-gambling by shoving a bucket of quarters in a slot machine. But you also have people playing Blackjack and beating the averages by knowing how it's played, maybe having a "feel" for the deck (or counting cards...), and most importantly knowing when to fold and walk away. Same with LLMs, you need to understand conte…

While I get your point, this also kinda sounds like a gambling addict trying to explain how they're not an addict and how they're losing money the correct way, heh.

Re: Perverse incentives of vibe coding

#205
post #56

Earlier quoted context omitted.

It's not satire. Gemini is much better for coding, at least for me. Just to illustrate, I asked both about a browser automation script this morning. Claude used Selenium. Gemini used Playwright. I think the main reasons Gemini is much better are: 1. It gets my whole code base as context. Claude can't take that many tokens. I also include documentation for newer versions of libraries (e.g. Svelte 5) that the LLM is no…

How do you give it your whole code base, via the web UI?

I created a script to pack it into a markdown file. Later I found this which does a better job, so I use it now.

https://github.com/yamadashy/repomix

Re: Perverse incentives of vibe coding

#206

Earlier quoted context omitted.

Funny, I would give the absolute opposite advice. In my experience, the use of agents (mainly Cursor) is a sure-fire way to have a really painful experience with LLM-assisted coding. I much prefer to use AI as a pair programmer, that I talk to and sometimes get to write entire files, but I'm always the one doing the driving, and mostly the one writing the code. If you aren't building up mental models of the problem a…

I mean, it might depend, but many of the most common complaints about LLM coding (most notably hallucination) are essentially solved problems if you're using agents. Whatever works for you! I don't even like autocomplete, so I sympathize with not liking agents. If it helps, for context: I'll go round and round with an agent until I've got roughly what I want, and then I go through and beat everything into my own idio…

> but many of the most common complaints about LLM coding (most notably hallucination) are essentially solved problems if you're using agents.

I have definitely not seen this in my experience (with Aider, Claude and Gemini). While helping me debug an issue, Gemini added a !/bin/sh line to the middle of the file (which appeared to break things), and despite having that code in the context didn't realise it was the issue.

OTOH, when asking for debugging advice in a chat window, I tend to get more useful answers, as opposed to a half-baked implementation that breaks other things. YMMV, as always.

Re: Perverse incentives of vibe coding

#207

Can we please stop using 'vibe coding' to mean 'ai assisted coding'?? (best breakdown, imo: https://simonwillison.net/2025/Mar/19/vibe-coding/ ) Is it really vibe coding if you are building a detailed coding plan, conducting "git-based experimentation with ruthless pruning", and essentially reviewing the code incrementally for correctness and conciseness? Sure, it's a process dependent on AI, but it's very far from n…

"Vibe coders" say they're 'building a detailed coding plan, conducting "git-based experimentation with ruthless pruning", and essentially reviewing the code incrementally for correctness and conciseness', but really they're just rolling the dice and hoping everything works. The software industry has always been full of snake oil, and now there's a powerful new strain.

Re: Perverse incentives of vibe coding

#208
I am perpetually amused at the use of the word 'vibe' in 'vibe coding'.

> it’s much more worthwhile to work with a plan composed of discrete tasks that could be explained to a junior level developer

I'm sure this is a more effective way to get more usable results. But I really think anyone in this situation should be taking it as a kind of wake-up call. Mentoring/guiding a junior is work -- there's a significant cost. But it's a cost easily justified -- a lot of people find it intrinsically rewarding, you're training a colleague, etc.. What you're describing here, though, is all of the cost with none of the benefits and you're being the junior developer as well (you must be -- you're doing their work). You're alone, mentoring a chatbot that cannot learn or grow.

> I’m beginning to think the problem runs deeper, and it has to do with the economics of AI assistance.

> When charging by token count, there’s naturally less incentive to optimize for elegant, minimal solutions.

... Or maybe the tool just isn't that good / what you want. There doesn't have to be a conspiracy behind it.

That is to say, I think the main point presented here is very unconvincing. If they could build a tool that could just do what you want in an acceptable manner, they would. People would obviously throw money at that.

It produces verbose, comment-heavy, procedural code because that form reasonably effectively supports the nature of the generator. Procedural code is obviously well-suited to "what comes next?" style append-oriented editing operations. Verbosity eliminates nuance.

OK, one more thing:

> While we wait for AI companies to better align their incentives with our need for elegant code I’ve developed several strategies to counteract verbose code generation

"While we wait" is the most depressing thing I've read in a while. It's just completely at odds with the field itself.

Re: Perverse incentives of vibe coding

#209

Amusingly, about 90% of my rat's-nest problems with Sonnet 3.7 are solved by simply appending a few words to the end of the prompt: "write minimum code required" It's not even that sensitive to the wording - "be terse" or "make minimal changes" amount to the same thing - but the resulting code will often be at least 50% shorter than the un-guided version.

Gemini on the other hand has a tendency for super-defensive coding.

It'll check _EVERY_ edge case separately, even in situations where it will never ever happen and if it does, it's a NOP anyway.

Re: Perverse incentives of vibe coding

#210

Earlier quoted context omitted.

I'm not doing either of those things with it.

What are some examples of things you are doing with it?

I work on a VSCode debugger extension that uses gdb as a backend, and I've had some success tackling bugs in that using Cursor + Gemini 2.5 Pro. The codebase is in TypeScript.

Based from what I've seen, Python and TypeScript are where it fares best. Other languages are much more hit and miss.

Post reply on HN