• HexDecimal@feddit.online
    link
    fedilink
    English
    arrow-up
    63
    arrow-down
    3
    ·
    21 days ago

    As an open source project maintainer I can always tell whenever a pull request is AI assisted because no human would ever write full tests for all their pull requests.

    • porous_grey_matter@lemmy.ml
      link
      fedilink
      arrow-up
      29
      ·
      21 days ago

      Uh oh, I pretty much always do this. Especially for new-to-me projects. The less confident I am about how the whole thing works, the more I write tests for my change. Should I stop pushing them so people don’t think I’m Claude?

      • Ephera@lemmy.ml
        link
        fedilink
        arrow-up
        15
        ·
        21 days ago

        I mean, the thing with LLMs is that they tend to overdo it. They test completely unnecessary details. Your idea of having tests for all features is probably still way less tests than the typical LLM-generated commit…

        • Buddahriffic@lemmy.world
          link
          fedilink
          arrow-up
          7
          ·
          21 days ago

          And they’ll miss important test cases such that their change will pass all of their tests (they keep iterating until it does) but then will still fail on some common edge cases.

      • LePoisson@lemmy.world
        link
        fedilink
        arrow-up
        3
        arrow-down
        1
        ·
        21 days ago

        Look if someone thinks you’re Claude because you bothered to test your code that’s kind of sucky. But then again the fuck do I know, I don’t contribute or maintain anything so that’s just an off the cuff take.

        At some point we’ll have to acknowledge that AI doesn’t mean inherently awful and bad IF it’s used responsibly and in a helpful manner. I don’t think LLMs are intrinsically bad but the way these companies have been marketing them and trying to make them some technological panacea that’ll replace all the people and fix everything is utterly deranged and divorced from reality.

        At the end of the day they’re large language models, their job is to come up with what the model “thinks” a person would write as an answer to whatever the prompt is. They’re not magic and I’m tired of people anthropomorphizing the shit out of LLM / “AI” and acting like AI output is being delivered by the machine with some sort of logic and knowledge and oversight. It is not.

        • tyler@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          20 days ago

          that AI doesn’t mean inherently awful and bad

          it does when it’s actively destroying the planet. There’s no good use of AI. There’s less bad uses since we’re now in an era of AI generated cyber attacks, so people are using it to defend. But there’s no good use. It’s a horrendous technology that is destroying humanity with every use.

          It’s the same as a nuclear bomb. If the bomb was never used and we just knew how to make it, it wouldn’t be that bad. But it was used, it killed hundreds of thousands of people, and no matter what happens in the future it’s still horrific technology.

          • LePoisson@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            20 days ago

            I do think there are responsible ways to build data centers, they have been around for a long time now - just the scale and speed and cutting corners happening now is something awful.

            There is no modernity without data centers, this message between us could not exist without data centers - but what is going on now with these large AI companies and hyperscalers and the giant market speculation and spectre of the looming pop of this huge economic bubble … That all is madness to the highest degree.

            I’m not really disagreeing with you completely but I do think there are good use cases if the technology is applied well and the infrastructure is built responsibly in the way that causes the least environmental impact. That’s not happening though.

            • tyler@programming.dev
              link
              fedilink
              arrow-up
              1
              ·
              19 days ago

              To be clear, this isn’t about data centers. It’s about unrestricted AI data centers. The difference between a normal scale data center and a hyperscale AI data center from a water use perspective is 6 million gallons a year vs over 2 billion gallons a year. Like, they’re not even close. We had responsible data centers and life was fine. Now it’s not.

              • LePoisson@lemmy.world
                link
                fedilink
                arrow-up
                2
                ·
                19 days ago

                I’m aligned with you on that. Also speaking as someone in the USA … We desperately need electrical infrastructure overhauled, invested in and nationalized. The state needs to intervene and help support the American people. Really all of our public infrastructure desperately needs help. So do a lot of people who are looking for work. We spend billions of dollars on killing kids but we can’t fucking spend some to employ folks in massive green energy grid public works projects and kill two birds with one stone?

                It’s embarrassing. FDR, our most popular president, literally implemented all of these kind of policies - it’s insane the Democratic party keeps shying away from them.

      • HexDecimal@feddit.online
        link
        fedilink
        English
        arrow-up
        9
        ·
        edit-2
        21 days ago

        The important part is that the tests track regressions and they’re helpful for that. After that, it’s okay if tests are mostly write-only.

        I’ve noticed that AI commentary tends to describe what the code is doing verbatim which is better for naming tests and functions rather than writing code comments, docstrings, or change notes. I usually have to fix this public-facing documentation to not talk about library internals which no user of the library would ever care about.

        So far I feel that AI assists are good when you have the time and effort to push back on them, but that isn’t an option for all projects, it works well for my own projects which have very few contributors in the first place. For the most part I can treat them with the same scrutiny as human written code. When the person submitting the code is obviously not checking their own code then that’s a problem.

        • OwOarchist@pawb.socialBanned
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          4
          ·
          21 days ago

          When the person submitting the code is obviously not checking their own code then that’s a problem.

          If you’re getting a high volume of those, it’s time to just ban those users and move on.

      • HexDecimal@feddit.online
        link
        fedilink
        English
        arrow-up
        11
        ·
        edit-2
        21 days ago

        From what I’ve seen and heard, AI seems to do well for test-driven development. That doesn’t necessarily translate into good code, but it does translate into tested code.

        At the very least it can translate the documentation of an API into the appropriate tests to verify the documentation is correct, and I’m being quite humbled by that.

      • Ephera@lemmy.ml
        link
        fedilink
        arrow-up
        7
        ·
        21 days ago

        One problem I could see with the aggressive testing (which also happens in human-written codebases) is that it becomes hard to tell essential behaviour apart from details. If you nail everything down with a unit/integration test, nothing can be changed anymore.

        I could imagine that this is part of the reason why LLMs love to duplicate code rather than adjusting existing code.