Most active commenters

    ←back to thread

    600 points antirez | 15 comments | | HN request time: 0.442s | source | bottom
    Show context
    airstrike ◴[] No.44625676[source]
    I think all conversations about coding with LLMs, vibe coding, etc. need to note the domain and choice of programming language.

    IMHO those two variables are 10x (maybe 100x) more explanatory than any vibe coding setup one can concoct.

    Anyone who is befuddled by how the other person {loves, hates} using LLMs to code should ask what kind of problem they are working on and then try to tackle the same problem with AI to get a better sense for their perspective.

    Until then, every one of these threads will have dozens of messages saying variations of "you're just not using it right" and "I tried and it sucks", which at this point are just noise, not signal.

    replies(2): >>44625871 #>>44626129 #
    1. cratermoon ◴[] No.44625871[source]
    They should also share their prompts and discuss exactly how much effort went into checking the output and re-prompting to get the desired result. The post hints at how much work it takes for the human, "If you are able to describe problems in a clear way and, if you are able to accept the back and forth needed in order to work with LLMs ... you need to provide extensive information to the LLM: papers, big parts of the target code base ... And a brain dump of all your understanding of what should be done. Such braindump must contain especially the following:" and more.

    After all the effort getting to the point where the generated code is acceptable, one has to wonder, why not just write it yourself? The time spent typing is trivial to all the cognitive effort involved in describing the problem, and describing the problem in a rigorous way is the essence of programming.

    replies(6): >>44626802 #>>44626827 #>>44626857 #>>44627229 #>>44630616 #>>44634750 #
    2. tines ◴[] No.44626802[source]
    I would assume the argument is that you only need to provide the braindump and extensive information one time (or at least, collect it once, if not upload once) and then you can take your bed of ease as the LLM uses that for many tasks.
    replies(1): >>44627132 #
    3. ◴[] No.44626827[source]
    4. UncleEntity ◴[] No.44626857[source]
    > After all the effort getting to the point where the generated code is acceptable, one has to wonder, why not just write it yourself?

    You know, I would often ask myself that very question...

    Then I discovered the stupid robots are good at designing a project, you ask them to produce a design document, argue over it with them for a while, make revision and changes, explore new ideas, then, finally, ask them to produce the code. It's like being able to interact with the yaks you're trying to shave, what's not to love about that?

    5. skydhash ◴[] No.44627132[source]
    The thing is no one writes that much code, at least anyone that cares about code reuse. Mostly the times is spent collecting the information (especially communication with stakeholder), and verifying that the code you wrote didn't break anything.
    6. datastoat ◴[] No.44627229[source]
    > They should also share their prompts

    Here's a recent ShowHN post (a map view for OneDrive photos), which documents all the LLM prompting that went into it:

    https://news.ycombinator.com/item?id=44584335

    7. keeda ◴[] No.44630616[source]
    > After all the effort getting to the point where the generated code is acceptable, one has to wonder, why not just write it yourself?

    Because it is still way, way, way faster and easier. You're absolutely right that the hard part is figuring out the solution. But the time spent typing is in no way trivial or cognitively simple, especially for more complex tasks. A single prompt can easily generate 5 - 10x the amount of code in a few seconds, with the added bonus that it:

    a) figures out almost all the intermediate data structures, classes, algorithms and database queries;

    b) takes care of all the boilerplate and documentation;

    c) frequently accounts for edge cases I hadn't considered, saving unquantifiable amounts of future debugging time;

    d) and can include tests if I simply ask it to.

    In fact, these days once I have the solution figured out I find it frustrating that I can't get the design in my head into the code fast enough manually. It is very satisfying to have the AI churn out reams of code, and immediately run it (or the tests) to see the expected result. Of course, I review the diff closely before committing, but then I do that for any code in any case, even my own.

    replies(2): >>44630990 #>>44648279 #
    8. gf000 ◴[] No.44630990[source]
    > frequently accounts for edge cases I hadn't considered, saving unquantifiable amounts of future debugging time;

    And creates new ones you wouldn't even consider before, creating just as much, if not more future debugging :D

    replies(4): >>44631155 #>>44632282 #>>44632507 #>>44640703 #
    9. sothatsit ◴[] No.44631155{3}[source]
    I have actually been surprised at how few subtle bugs like this actually come up when using tools like Claude Code. Usually the bugs it introduces are glaringly obvious, and stem from a misunderstanding of the prompt, not due to the code being poorly thought out.

    This has been a surprise to me, as I expected code review of AI-generated code to be much more difficult than it has been in practice. Maybe this has been because I only really use LLMs to write code that is easy to explain, and therefore probably not that complicated. If code is more complicated, then I will write it myself.

    10. IshKebab ◴[] No.44632282{3}[source]
    Sure but you know about all the edge cases you know about, so you can fix bugs in those. The AI sometimes points out edge cases you didn't think of.
    11. jatora ◴[] No.44632507{3}[source]
    Getting pretty tired of this narrative. It's a very GPT-4 2023 era take that LLM's are just introducing untold amounts of bugs. People need to seriously learn their AI tooling and stop repeating this nonsense.

    At the most generous I will allow, it's an illusion where producing 20-50x the amount of code/hour introduces a higher raw count of bugs relative to what you are used to in that timeframe - but this notion of AI coders being more bugprone than humans is utter nonsense. The only way thats not true is on very niche systems or when the human has conceptualized and planned out their code extensively beforehand - in which case AI would still be the superior next step.

    replies(1): >>44632750 #
    12. gf000 ◴[] No.44632750{4}[source]
    > the only way thats not true is on very niche systems

    Are these very niche? Yeah, there is a category of coding where what you are doing is essentially translating from English to some high-level language with high-level APIs. This is not significantly different than translating to Spanish, of course LLMs will be successful here.

    But there are endless other domains with complex reasoning where LLMs absolutely suck. Like please tell me how will an LLM reason about concurrent access. And prompting it so that it will reply with "Oh you are right, here is Atomic blahblah" is not reasoning, it's statistical nonsense.

    Don't get me wrong, I do think LLMs are a very useful tool, but it is as much overhyped by some as it is underhyped by others.

    13. spaceman_2020 ◴[] No.44634750[source]
    As someone who just used AI to create a very comprehensive creative visual marketing campaign, there is absolutely a massive gap in output depending on your prompting skills

    You can get images that can go straight to print or end up with pure slop based on your prompt

    14. keeda ◴[] No.44640703{3}[source]
    That's what the code review is for :-) But to echo the sibling comments, I've not caught a subtle edge case or bug in the generated code in more than a year and half. There are mistakes and failure modes for sure, but they are very glaring, to the extent that I simply throw that code away and try again.

    That said, I've adopted a specific way of working with AI that is very effective for my situation (mentioned in my comment history, but echoes a lot of what TFA advises.)

    15. cratermoon ◴[] No.44648279[source]
    > A single prompt can easily generate 5 - 10x the amount of code in a few seconds

    That doesn't sound like a great outcome. Every line of code is a potential bug and a liability. The least important skill in programming is typing speed.