• sugar_in_your_tea@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    7
    ·
    2 days ago

    But when it works, it can save a lot of time.

    I wanted to use a new codebase, but the documentation was weak and the examples focused on the fringe features instead of the style of simple use case I wanted. It’s a fairly popular project, but one most would set up once and forget about.

    So I used an LLM to generate the code and it worked perfectly. I still needed to tweak it a little to fine tune some settings, but those were documented well so it wasn’t an issue. The tool saved me a couple hours of searching and fiddling.

    Other times it’s next to useless, and it takes experience to know which tasks it’ll do well at and which it won’t. My coworker and I paired on a project, and while they fiddled with the LLM, I searched and I quickly realized we were going down a rabbit hole with no exit.

    LLMs are a great tool, but they aren’t a panacea. Sometimes I need an LLM, sometimes ViM macros, sed or a language server. Get familiar with a lot of tools and pick the right one for the task.

    • UnderpantsWeevil@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      2 days ago

      But when it works, it can save a lot of time.

      But we only need it because Google Search has been rotted out by the decision to shift from accuracy of results to time spent on the site, back in 2018. That, combined with an endlessly intrusive ad-model that tilts so far towards recency bias that you functionally can’t use it for historical lookups anymore.

      LLMs are a great tool

      They’re not. LLMs are a band-aid for a software ecosystem that does a poor job of laying out established solutions to historical problems. People are forced to constantly reinvent the wheel from one application to another, they’re forced to chase new languages from one decade to another, and they’re forced to adopt new technologies without an established best-practice for integration being laid out first.

      The Move Fast And Break Things ideology has created a minefield of hazards in the modern development landscape. Software development is unnecessarily difficult and overly complex. Proprietary everything makes new technologies too expensive for lay users to adopt and too niche for big companies to ever find experienced talent to support.

      LLMs are the breadcrumb trail that maybe, hopefully, might get you through the dark forest of 60 years of accumulated legacy code and novel technologies. They’re a patch on a patch on a patch, not a solution to the fundamental need for universally accessible open-sourced code and well-established best coding practices.

      • SocialMediaRefugee@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 days ago

        People are forced to constantly reinvent the wheel from one application to another, they’re forced to chase new languages from one decade to another, and they’re forced to adopt new technologies without an established best-practice for integration being laid out first.

        I feel this.

      • MangoCats@feddit.it
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 days ago

        The problem with the open source best coding practices ivory tower is that it’s small, and short, and virtually lost in the sea of schlocky trees surrounding it.

      • sugar_in_your_tea@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 days ago

        we only need it because Google Search has been rotted out

        Not entirely. AI can do a great job pulling data from multiple sources and condensing into an answer. So even if search was still good, instead of hitting several sites and putting together a solution, I can hit one.

        reinvent the wheel

        That depends on how you use it. I use it to find relevant, existing libraries and provide me w/ examples on how to use it. If anything, it gets me to reinvent the wheel less.

        It can certainly be used naively to get exactly what you’re talking about, and that’s what’s going to happen w/ inexperienced users, such as college students. My point is that, like power tools, it can be a great tool in an experience hand, and it can completely ruin the user if they’re inexperienced.

        • UnderpantsWeevil@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 days ago

          AI can do a great job pulling data from multiple sources and condensing into an answer.

          Google could already do that. The format of the answer came in the blurb under the link, pertinent to the search.

          I use it to find relevant, existing libraries and provide me w/ examples on how to use it.

          AI Code Tools Widely Hallucinate Packages

          The tendency of code-generating large language models (LLMs) to produce completely fictitious package names in response to certain prompts is significantly more widespread than commonly recognized, a new study has shown.

          • sugar_in_your_tea@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            2 days ago

            The format of the answer came in the blurb under the link

            Sure, and that works really well if I just need a quick fact check. I use DDG and use that feature a ton.

            But that doesn’t work when more context is needed, like in a comparison. I find myself clicking through and skimming a dozen pages, and with an LLM I end up only needing 3-4 pages after reading its summary to confirm what it said.

            AI Code Tools Widely Hallucinate Packages

            Sure, which is why I always verify things like that. I ask it to compare popular libraries that accomplish a task, then look for evidence that my preferred option does what I want (issues on the project page) and is actively maintained (recent commits, multiple active contributors, etc). The LLM is just there to narrow the search space and give me things to look for.

            To do that with regular search would take a bit longer since I’d need to compare each library to each other to find relevant blogs and whatnot. So even if search worked better, it would still take longer.

            Sometimes it breaks down and I go back to my old method, but it’s usually worth a shot.

            I use LLMs a lot less than my coworkers, but I do use them periodically when I think it’ll be useful. I’ve been a dev for a long time (10+ years), so I find I usually know where to look already. I discourage our junior devs from relying on it too much and encourage our senior devs to give it a shot.

    • SocialMediaRefugee@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 days ago

      Same here. I never tried it to write code before but I recently needed to mass convert some image files. I didn’t want to use some sketchy free app or pay for one for a single job. So I asked chatgpt to write me some python code to convert from X to Y, convert in place, and do all subdirectories. It worked right out of the box. I was pretty impressed.

            • sugar_in_your_tea@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 day ago

              And LLMs can help find those FOSS projects and fill in the gaps in their documentation.

              I’m well aware of the copyright issues here and LLMs can make it easier to violate copyright, whether it’s protected by a proprietary or a FOSS license, but that’s up to the user of the LLM to decide where their boundaries are (and how much legal risk to accept). If you’re generating entire projects, you’ll probably have problems, but if you’re generating examples on how to accomplish a task with an existing tool, you’re probably fine.

              LLMs are useful tools, but like any tool they can be misused. FOSS is great, LLMs are great, use both appropriately.

              • utopiah@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                ·
                1 day ago

                Typically LLMs aren’t a problem with FOSS with licensing as pretty much anything and everything is free to use, remix, etc.

                What is more of a problem is hallucinations, imagining using the wrong rm -rf ~/ command without understanding the consequence, but arguably that’s hard to predict. What will always be a problem though, no matter the model, is how much energy was put into it… so that, in fine, it makes the actual documentation and some issues on StackOverflow slightly more accessible because one can do semantic search rather than full text search. Does one really need to run billion parameters models in the cloud on a remote data center for that?

                • sugar_in_your_tea@sh.itjust.works
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  1 day ago

                  pretty much anything and everything is free to use, remix, etc

                  Most licenses require attribution.

                  without understanding the consequence

                  This is the real problem. I’m arguing it’s a good tool in the hands of someone who knows what they’re doing.