It's pretty good, I actually like it because it's very thorough and catches real things.
On a recent PR though it very confidently pointed out an "error" and suggested a "fix." Now I authored this code by hand and the "error" was it going "this one doesn't look like all the other ones" and I'm a relatively consistent person so it's not the kind of mistake I would make, which means I probably put thought in and the difference was intentional.
I looked at it's suggestion carefully and my original code was correct, the "fix" would have broken the logic. Not a huge deal all things said.
But I'm looking back at it's original report, it's comprehensive, confident, and ends with "Reply 'fix this for me' and I will fix it" and it made me think about more junior engineers.
I double checked it because I had written the code by hand, I understood the context, I also have enough experience to know that if I wrote this one function differently there was probably a good reason. But if I were earlier in my career, with less experience, would I have just clicked the easy button?
Probably. Especially if everyday I'm clicking the easy button.
Highway engineers used to think it was a good idea to make highways as straight as possible, people going in a straight line is easiest right? They realized that if you didn't put some curves in the road that people would just disengage and a perfect straight "easy" highway was much more dangerous than one with curves. I feel like AI is an "easy" highway
As has been pointed out over and over: the time consuming part of programming was never typing code into the computer, it was understanding the problem and the logic behind the code. Using an LLM only addresses the fast and easy part of programming, not the hard parts.