This isn’t a case where something can’t be enforced perfectly, it is a case of something that can’t be enforced at all going into the future. Every tool that can reliably detect LLM code is at the same time the tool used for adversarial training, making the generated code look more and more human. We are already at the point where for plain english the false positives and false negatives go through the roof, making these tools very unreliable and when applied automatically a liability. Code is a lot more formalized, with a lot less personal variance (spelling, vocabulary and grammar are basically fixed - only the used logic and how it is implemented is variable), making detection harder by default than in natural languages.
If LLM code can’t be detected anymore by automated means - and that state of things is approaching fast - then any policy about allowing or restricting LLM code is not worth the paper you would use to print it out. But that’s not so much of a problem. The more important policy to set, that can also be enforced, is that everyone submitting code has to take personal responsibility regarding the quality of the submission. Delivering bad code - when not happening while training to become a better coder and looking for feedback - has to lead to consequences based on the seriousness of the case and if it’s a repeat offender. Anyone using an LLM to spit out bullshit LQ code will run into that kind of rule very fast.
This isn’t a case where something can’t be enforced perfectly, it is a case of something that can’t be enforced at all going into the future. Every tool that can reliably detect LLM code is at the same time the tool used for adversarial training, making the generated code look more and more human. We are already at the point where for plain english the false positives and false negatives go through the roof, making these tools very unreliable and when applied automatically a liability. Code is a lot more formalized, with a lot less personal variance (spelling, vocabulary and grammar are basically fixed - only the used logic and how it is implemented is variable), making detection harder by default than in natural languages.
If LLM code can’t be detected anymore by automated means - and that state of things is approaching fast - then any policy about allowing or restricting LLM code is not worth the paper you would use to print it out. But that’s not so much of a problem. The more important policy to set, that can also be enforced, is that everyone submitting code has to take personal responsibility regarding the quality of the submission. Delivering bad code - when not happening while training to become a better coder and looking for feedback - has to lead to consequences based on the seriousness of the case and if it’s a repeat offender. Anyone using an LLM to spit out bullshit LQ code will run into that kind of rule very fast.
Exactly. There are too many knee jerk responses to this position. Just banning LLM generated code is a useless gesture.
Changing the way merges and reviews are handled, as well as responsibility for them, is the actual way to address this.