• Farooq@realbitcoin.cash
    link
    fedilink
    arrow-up
    11
    ·
    edit-2
    6 hours ago

    I personally think both pro LLM and anti LLM are wrong. One group think they are gods. The other think they are demons. LLMs can be useful for programming to some extent. But they will create a disaster if you don’t know what are you doing. I have recently published a post about the matter on me blog. I think the best part is:

    I strongly believe that LLMs are useful for programming to some extent. Imagine you have a shop and you get a robot to do the moves for you. So you instead focus on the main business concerns.

    So if you want to make some changes to the code which don’t require intelligence, that is they are just mechanical tasks, LLMs are good. If you want the LLMs to understand semantics of your code, you have chosen the wrong tool. Maybe in future we’ll have new AI software and tools which also understand semantics to some extent. But I highly doubt a transformer will be able to do it. They just predict the next likely token.

    There is something I haven’t yet added to the post. So I am writing it here. Our computers are Universal Turing Machines. There are some fundamental limits to what a turing machine can’t do. Those are called undecidable problems. For instance a turing machine can never check if two pieces of code are semantically equivalent[1]. But that’s what human programmers can do. That’s why I emphasize on tasks which require no intelligence.

    [1] That’s about the general case. Sure there are exceptions. But as we say “exception is not the rule”.

  • Lumelore (She/her)@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    25
    ·
    10 hours ago

    Human written code these days feels equivalent to a unique and soulful artisan made item whereas AI code is like a soulless and defected factory made imitation. I’d much, much, much, rather support artisans over factory made slop and even before AI, artisan work has been well known to be significantly higher quality than factory made stuff. For something as foundational and important as a kernel, I really think AI has no place in it.

      • vanillama@programming.dev
        link
        fedilink
        arrow-up
        8
        ·
        6 hours ago

        Artisans own their tools, that’s what makes them artisans (rather than wage workers). I believe after the bubble pops there will be legitimate uses for the tech, and we’ll be able to run a pretty good iteration in our own hardware, but as it is now I’m uncomfortable with my employer having the power to decide whether I have the tools they want me to use for the job, whereas with code that’s less of a concern.

        • FauxLiving@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          5 hours ago

          There’s already pretty decent open weight models that you can run on your own hardware. They won’t be as fast as the models running in a datacenter but they will get the job done while not adding more money to the garbage fire that is ‘The AI Industry’.

          I don’t think that the future of AI is as a massive subscription service industry, that is just rampant capitalism on full display (with all of the damage that it causes).

          • vanillama@programming.dev
            link
            fedilink
            arrow-up
            3
            ·
            5 hours ago

            I was thinking more that lots of people don’t have the hardware required to begin with, and it’s really hard to purchase now (especially in poorer countries like mine), hopefully memory prices will come down at some point after the bubble bursts so we can afford shit

    • hirihit640@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      27
      ·
      10 hours ago

      All I care about is whether it works and is secure. Bonus points for cheaper and faster development. If artisan code gets us there, sure. If AI code gets us there, great. I trust Linus to know what works and what doesn’t.

      • Lumelore (She/her)@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 hours ago

        I suppose the big issue for me is that I’m also an artist and I view code similarly, especially when I combine code with my graphics. I understand though that with a large project you are going to have some amount of people using AI even if you try to filter them out, so I can partially understand his stance. However I really disagree with him when he says it’s a useful tool, given how AI causes brain rot, productivity losses, and environmental destruction.

  • Ricky Rigatoni@piefed.zip
    link
    fedilink
    English
    arrow-up
    44
    ·
    13 hours ago

    All it takes is one person using an LLM tainted with proprietary code which then just gives them that code line for line to undo decades of courtroom defense.

    • black0ut@pawb.social
      link
      fedilink
      arrow-up
      31
      ·
      edit-2
      12 hours ago

      Not only that, but AI output can’t be licensed/copyrighted. The GPL license no longer covers the kernel in legal terms.

      • FauxLiving@lemmy.world
        link
        fedilink
        arrow-up
        8
        ·
        7 hours ago

        The GPL license no longer covers the kernel in legal terms.

        The uncopyrightability of AI-written code only applies to the actual strings of code generated by an AI, not to the entire project.

        A person could ignore the GPL if they only copied the AI-written portions. But, how could they know for sure which lines were AI generated and which were not? A wrong choice would leave them civilly liable for copyright violation and all they stand to gain would be tiny portions of the Linux kernel code which are worthless by themselves.

        There’s no reason to steal the AI generated portions and risk a lawsuit, when you can just generate your own code.

      • Franconian_Nomad@feddit.org
        link
        fedilink
        English
        arrow-up
        9
        ·
        10 hours ago

        There seems to be legal discussions about that. It’s not quite as simple as you say:

        However, there may be cases in which a different assessment is justified, namely when users use and operate the LLM as a tool that merely implements their personal creative intent. This could be compared somewhat more vividly to using a paintbrush. If the brush merely rolls over the paper, for example because it is dropped, no copyright-protected work is created, even if paint remains on the paper. However, if a painter deliberately swings the brush in a certain way, a protected painting can be created. If AI is used in a comparable way a copyright-protected work can indeed be created.

        https://kpmg-law.de/en/ai-and-copyright-what-is-permitted-when-using-llms/

        • The_Decryptor@aussie.zone
          link
          fedilink
          English
          arrow-up
          9
          ·
          10 hours ago

          Yeah any decision would be on a case by case basis, which is normally something you’d want to avoid.

          I’ve seen a couple of Linux devs talk about how they just give a prompt to claude and walk away leaving it alone to spit out the code, none of which can be licensed as GPL. But good luck working out what specific lines of what specific patches of theirs used an LLM vs. were re-written or such.

          • Franconian_Nomad@feddit.org
            link
            fedilink
            English
            arrow-up
            5
            ·
            9 hours ago

            I’ve seen a couple of Linux devs talk about how they just give a prompt to claude and walk away leaving it alone to spit out the code

            While I share Linus opinion on LLMs, I think doing this shit is extremely stupid and lazy.

            • TeamAssimilation@infosec.pub
              link
              fedilink
              English
              arrow-up
              1
              ·
              3 hours ago

              And extremely abusive, since they don’t review the code fully, but a human must review the whole commit before accepting it. They save their time but consume that of others.

      • gjoel@programming.dev
        link
        fedilink
        arrow-up
        9
        ·
        10 hours ago

        They use everything for everything, that’s the big issue. Also gpl code. Anything they can trawl through they use. And replicate, in part or in full.

        • Franconian_Nomad@feddit.org
          link
          fedilink
          English
          arrow-up
          1
          ·
          10 hours ago

          They take code snippets and copy and paste them? Or do they create own code based on what they’ve learned by trawling?

          • Barbarian@sh.itjust.works
            link
            fedilink
            arrow-up
            14
            ·
            edit-2
            10 hours ago

            LLMs don’t “create”. Under the hood, they’re tokenizing the queries, looking for “clouds” of tokens that are similar to the query, then returning a sequence of tokens (with some random noise thrown in) that match what their training data says the answer should be.

            In short: all LLM code is an amalgamation of their training data by definition. If there’s nothing similar in there, it’s literally not possible for it to be part of any response.

            • Franconian_Nomad@feddit.org
              link
              fedilink
              English
              arrow-up
              3
              ·
              10 hours ago

              You’re exactly right. I should have used „generate“ instead of „create“.The point is I don’t think LLMs normally use copyrighted code in a way that would hurt open source projects.

              Under the hood, they’re tokenizing the queries, looking for “clouds” of tokens that are similar to the query, then returning a sequence of tokens (with some random noise thrown in) that match what their training data says the answer should be.

              Lol, so how do humans code in comparison?

              • prole@lemmy.blahaj.zone
                link
                fedilink
                arrow-up
                3
                ·
                6 hours ago

                You’re exactly right. I should have used „generate“ instead of „create“

                Did you purposely respond like an AI?

              • vanillama@programming.dev
                link
                fedilink
                arrow-up
                2
                ·
                7 hours ago

                Human programmers at least can tell you where they got a snippet they copied, whether it was in the docs, stack overflow or elsewhere, and you can try to keep attribution if you care about compliance. Not only that, but most of our skills are related to designing stuff and recognizing which pattern to use, the specific implementation isn’t necessary the same unless we go look for whatever we saw in the past, as our memories don’t just record everything and repeat it word by word. And after picking up a new language or framework I only need to look around when using a third party library or some API I’m less familiar with, or when something breaks.

              • Barbarian@sh.itjust.works
                link
                fedilink
                arrow-up
                4
                ·
                edit-2
                9 hours ago

                The point is I don’t think LLMs normally use copyrighted code in a way that would hurt open source projects.

                I don’t know. I’m not a lawyer, and copyright for code was a hot mess even before LLMs got involved. With how many opportunistic copyright/patent trolls there are and how easily convinced judges have been in the past, it could go either way.

                Lol, so how do humans code in comparison?

                The good programmers normally code by breaking down the problem into constituent parts and logically working through the problem, step by step. What differentiates this from tokenization is that instead of just looking for code that is similar for a similar problem, programmers can usually understand the effects of each line of code, visualize what the state of each variable will be in that step (or dump out the variables to look directly if unsure), and then move on to the next step. This logical problem-solving approach is fundamentally different from a tokenization+noise looking for a similar-looking problem approach. For one thing, you can solve problems that haven’t been solved before.