Live data from Hacker News

Perverse incentives of vibe coding

fredbenenson.medium.com

181–190 of 239 posts

Re: Perverse incentives of vibe coding

#181
post #52

Earlier quoted context omitted.

> I tell it the secret simple thing it’s missing and it gets it. Anthropomorphizing LLMs is not helpful. It doesn't get anything, you just gave it new tokens, ones which are more closely correlated with the correct answer. It also generates responses similar to what a human would say in the same situation. Note i first wrote "it also mimicks what a human would say", then I realized I am anthropomorphizing a statistic…

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".

Re: Perverse incentives of vibe coding

#183
post #125

Earlier quoted context omitted.

I resist it by realizing that while LLM are good at things like decoding obtuse error messages, having them write too much of your code leads to a project becoming almost impossible to maintain or add to. And there are many cases where you spend more time trying to correct errors from the LLM than if you were to slow down and inspect the code yourself.

If you don’t commit its output until it’s in a shape that is maintainable and acceptable to you— just like with any other pair programming exercise— you’ll be fine. I do think your skills will atrophy over time, though. I’m not sure what the right balance is, here.

My honest opinion is that some of my skills are atrophying, and some of them are increasing.

I have managed a python app for a long time due to it being part of a much larger set of services I manage. I've never been particularly comfortable with it.

I am easily learning, and understanding the python much much better.

I think I'm atrophying in a lot of syntax, and typing automatic things.

It doesn't really feel straight forward that it's one or the other.

Re: Perverse incentives of vibe coding

#184

Earlier quoted context omitted.

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

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 easier to criticize. Assume good faith.

https://news.ycombinator.com/newsguidelines.html

Re: Perverse incentives of vibe coding

#185

I don't understand the productivity that people get out of these AI tools. I've tried it and I just can't get anything remotely worthwhile unless it's something very simple or something completely new being built from the ground up. Like sure, I can ask claude to give me the barebones of a web service that does some simple task. Or a webpage with some information on it. But any time I've tried to get AI services to h…

I've had the same issue every time I've tried it. The code I generally work on is embedded C/C++ with in-house libraries where the tools are less than useful as they try to generate non-existant interfaces and generally generate worse code than I'd write by hand. There's a need for correctness and being able to explain the code thus use of those tools is also detrimental to explainability unless I hand-hold it to the point where I'm writing all of the code myself.

Generating function documentation hasn't been that useful either as the doc comments generated offer no insight and often the amount I'd have to write to get it to produce anything of value is more effort than just writing the doc comments myself.

For my personal project in zig they either get lost completely or gives me terrible code (my code isn't _that_ bad!). There seems to be no middle ground here. I've even tried the tools as pair programmers but they often get lost or stuck in loops of repeating the same thing that's already been mentioned (likely falls out of the context window).

When it comes to others using such tools I've had to ask them to stop using it to think as it becomes next to impossible to teach / mentor if they're passing that I say to the LLM or trying to have it perform the work. I'm confident in debugging people when it comes to math / programming but with an LLM between it's just not possible to guess where they went wrong or how to bring them back to the right path as the throught process is lost (or there wasn't one to begin with).

This is not even "vibe coding", I've just never found it generally useful enough to use day-to-day for any task and my primary use of say phind has been to use it as an alternative to qwant when I cannot game the search query well enough to get the search results I'm looking for (i.e I ignore the LLM output and just look at the references).

Re: Perverse incentives of vibe coding

#187

I don't understand the productivity that people get out of these AI tools. I've tried it and I just can't get anything remotely worthwhile unless it's something very simple or something completely new being built from the ground up. Like sure, I can ask claude to give me the barebones of a web service that does some simple task. Or a webpage with some information on it. But any time I've tried to get AI services to h…

I appreciate you voicing your feelings here. My previous employer requested we try AI tooling for productivity purposes, and I was finding myself in similar scenarios to what you mention. The parts that would have benefitted from a productivity gain weren’t seeing any improvement, while the areas that saw a speedup weren’t terribly mission-critical.

The one thing I really appreciated though was the AI’s ability to do a “fuzzy” search in occasional moments of need. Or, for example, sometimes the colloquial term for a feature didn’t match naming conventions in source code. The AI could find associations in commit messages and review information to save me time rummaging through git-blame. Like I said though, that sort of problem wasn’t necessarily a bottleneck and could often be solved much more cheaply by asking around coworker on Slack.

Re: Perverse incentives of vibe coding

#189
post #176

Earlier quoted context omitted.

I’ve had good experiences using it, but with the caveat that only Gemini Pro 2.5 has been at all useful, and only for “spot” tasks. I typically use it to whip up a CLI tool or script to do something that would have been too fiddly otherwise. While sitting in a Teams meeting I got it to use the Roslyn compiler SDK in a CLI tool that stripped a very repetitive pattern from a code base. Some OCD person had repeated the…

>Some OCD person had repeated the same nonsense many thousands of times. The tool cleaned up the mess in seconds. What were they doing?

try { ... } catch (Exception e) { throw e; }

That does nothing except add visual noise.

It's like a magic incantation to make the errors go away (it doesn't actually), probably by someone used to Visual Basic's "ON ERROR RESUME NEXT" or some such.

Re: Perverse incentives of vibe coding

#190

I don't understand the productivity that people get out of these AI tools. I've tried it and I just can't get anything remotely worthwhile unless it's something very simple or something completely new being built from the ground up. Like sure, I can ask claude to give me the barebones of a web service that does some simple task. Or a webpage with some information on it. But any time I've tried to get AI services to h…

I've had the same issue every time I've tried it. The code I generally work on is embedded C/C++ with in-house libraries where the tools are less than useful as they try to generate non-existant interfaces and generally generate worse code than I'd write by hand. There's a need for correctness and being able to explain the code thus use of those tools is also detrimental to explainability unless I hand-hold it to the…

> I've had the same issue every time I've tried it. The code I generally work on is embedded C/C++ with in-house libraries where the tools are less than useful as they try to generate non-existant interfaces and generally generate worse code than I'd write by hand.

That's because whatever training the model had, it didn't covered anything remotely similar to the codebase you worked on.

We get this issue even with obscure FLOSS libraries.

When we fail to provide context to LLMs, they generate examples by following supperficial queues like coding conventions. In extreme cases, such as code that employs source code generators or templates, LLMs even fill in function bodies that code generators are designed to generate for you. That's because, if LLMs are oblivious to the context, they resort to hallucinate their way into something seemingly coherent. Unless you provide them with context or instruct them not to make up stuff, they will resort to bullshit their way into an example.

What's truly impressive about this is that often times the hallucinated code actually works.

> Generating function documentation hasn't been that useful either as the doc comments generated offer no insight and often the amount I'd have to write to get it to produce anything of value is more effort than just writing the doc comments myself.

Again,this suggest a failure on your side for not providing any context.

If you give it enough context LLMs synthesize and present them almost instantly. If you're prompting a LLM to generate documentation, which boils down to synthesizing what an implementation does and what's their purpose,and the LLM comes up empty, that means you failed to give it anything to work on.

The bulk of your comment screams failure to provide any context. If your code steers far away from what it expects, fails to follow any discernible structure, and doesn't even convey purpose and meaning in little things like naming conventions, you're not giving the LLM anything to work on.

Post reply on HN