logoalt Hacker News

aanet • yesterday at 11:05 PM • 2 replies • view on HN

I agree with the author, and I like how his (human) voice comes through loud and clear in this post.

I also find LLM-voices extremely jarring, boring, and dense. And very, umm, mechanical, if you will.

But I want to make an observation.

Folks are not-Ok reading the LLM’s output for prose.

But folks are completely Ok, even downright blind, to accepting LLM-output of code.

I see that dichotomy everywhere.

LLM-driven code: great, valuable, all-ok LLM-driven prose: not ok

Understood completely that the audience for consumption is two completely different entities (machines vs humans) but something about this doesn’t sit right with me.

More particularly: if we don’t prefer LLM-prose, why should we prefer LLM-code ??

Anybody else feels that ??


Replies

rmunn • today at 7:12 AM

One of the main differences is that LLM-generated code can be tested. You can prove that it does what it's supposed to do — and if it fails the tests, you can tell the model to go back and fix it. So there's an objective criterion that can say "this is acceptable" vs "this is unacceptable". Now, it does rely on your tests being good, and not everyone has written those good tests. But it exists.

There are no objective criteria that can say "this text is good" or "this text is bad". Sure, spelling and grammar errors... but we're talking about writing style, "voice", and whether the text is easy for humans to read.

Now, there are plenty of problems with LLM-generated code that can't be solved by having good tests. Is it maintainable? Is it written in good coding style? Those are harder to quantify. But since LLMs are such good mimics, if you tell an LLM to add code to your existing project, then it's usually going to do a decent job of matching your coding style. The question of maintainability still rears its head; my personal experience is that the smaller the chunk of code the LLM generated for me, the more likely it is I can understand it fully and therefore maintain it in the future. An entire vibe-coded project? Good luck maintaining that. A 100-line class with five 20-line methods with names that make sense? Yeah, I can take that and maintain it in the future, even if the LLM tool goes away.

But mostly, the difference between the acceptance of LLM text or of LLM code, IMHO, boils down to "are there objective measures that I can use to accept this"? Code has to work, which is a much higher bar than text (which just has to have correct spelling and grammar), and therefore it's easier to get the LLM to spit out decent-ish code than decent-ish text.

tartoran • today at 1:08 AM

This will matter more when code quality starts to matter. Lately it hasn't. I hope it does at some point and LLMs could help there too if we only cared about this metric. And lastly, people need to remain the loop.