| ▲ | peterbell_nyc 2 hours ago | |
So many thoughts AI can materially improve PRs - you just have to do it right. Firstly there are not going to be a material number of non-AI patches written in the future. I know some people still ride horses, but when compared to the 17th century the percentage of travel primarily enabled by literal horse power is way down. Same way goes "artisinal, hand crafted code" Secondly the problem isn't the AI - it's the crappy prompts and lack of intermediate artifacts and quality gates (deterministic and adversarial) in the generation pipelines. Thirdly, don't disallow AI (I mean, feel free, you're doing something without charging for it - do you) - disallow crappy PRs, verbose descriptions. and bloated code that doesn't fit your coding standards. Fourthly, ship your standards. Document what a good PR looks like, the comments and examples, the search for open PRs to ensure it isn't a dupe or a won't fix. Then ship your coding standards - have some LLMs infer them from your current code base and review (bonus - anything it infers correctly that you don't agree with, get it to re-code to your new standards). Then set up a PR reviewer - start with deternministic gates for the format of the PR and some broad heuristics, then run it through adversarial reviews. Anything that looks great, feel free to run by a human either before the merge or after just to keep an eye on things. The deterministic gates will cheaply get rid of 95% of the slop (AI and human - I've seem plenty of human slop over the years) so you can focus tokens on the good stuff. | ||
| ▲ | jplusequalt 40 minutes ago | parent [-] | |
I think "no-AI" policies are really just ways of gatekeeping low effort contributions from people who have no idea what they're doing. This is a good thing! To use the current example of Godot--game engine development is really, really, __really__ hard. Building on your engine in a way that doesn't lead to performance regressions, introduce subtle bugs, etc. takes a lot of know how. If you care about quality and performance, then rejecting work from people who aren't capable of understanding how their contributions impact the greater engine as a whole is a logical choice. | ||