Right. Reviewers still have the advantage of being able to spot AI text because it's often overtly different.
I just meant to say that, if you prompt ai "what would a human be proud of having written this code" you'll get an answer. They're not categorically incapable of fabricating an "opinion", they're just trained not to express one by default.
I’m teasing a bit, yes your point is well made, you could just prompt around it. I think the bigger picture is there isn’t going to be some magical panacea that fixes this, we’ll just have to accept some sort of Swiss cheese model, like in the world of aviation safety. This “test” could be just be another layer in the stack.
"(It’s famously not well capable of sounding human)"
Rather than a binary, I prefer to measure the question of "how much text does it take to be reasonably sure that it's an AI?"
By that metric, it is getting better at a reasonable pace. People are also getting better at prompting their AIs to write in something other than the default LLM style. If you think you're good at picking up that style, you probably are. But it's a lot harder to pick up AIs when they're fed a style sample. You wrote in the default AI style, and yeah, most of us have twigged to that by the end of your couple of short sentences. But feed the AI a style sample and it can definitely make it two sentences without every one realizing it's AI.
I think you first need to make an assumption of good faith on the submitter’s part. Yes, someone actively hostile to a repo and trying to sneak in changes will be successful, they can just prompt around the challenge.
I think the bigger picture is there won’t be one catch-all solution and we’ll need to embrace the Swiss cheese model from the world of aviation safety, this is just a suggestion for one layer.
It raises the stakes though. Getting challenged for an AI slop PR isn’t great, but ok, try and redeem yourself. Getting caught trying to cheat that challenge, you might as well just close down your account, like what is the point of even spending tokens to do this? These slop PRs are just people trying to pad their GitHub profiles.
I mean, yeah, you can give it style guidelines, but if someone's goal is "mislead people into thinking a person wrote this" then they should really be reevaluating their values.
One of the early selling points of LLMs was their ability to mimic styles. I haven't heard about that for a while though. Wouldn't that at least obscure the classic tells, if not eliminate them? I think the reason most (obvious) AI output is obvious is because people don't bother to hide it.
It's funny how identifiable AI text is. I usually know within like 10 seconds of watching a youtube video if the script is AI generated and it's a huge turnoff.
Plus the video generation, you basically know from the thumbnail. (Why do so many AI generated videos have a weird unnecessary film grain?!)
This could easily be circumvented by having the AI generate an explanation of the chosen portion of code and have the human rewrite it in their own words. It is much easier, imo, to swap clauses and put synonyms in place of other words within existing writing then it is to synthesise new text.
(It’s famously not well capable of sounding human)