Some of it is AI slop, but you can progressively prevent this with the right skills and rules. AI tends to duplicate code, sometimes ignores existing utilities, applies overly defensive patterns, or creates suboptimal solutions. However, AI is still subject to the same issues as humans: wrong approaches, flawed business logic, security breaches, or dangerous operations.
Like humans, AI will fail when given misleading specifications, missing context, or incomplete requirements.
The real bottleneck is that in today’s world it’s easier and faster than ever to produce code, but there is no magic on the review side. Some companies may ship unreviewed code, but the mid- and long-term consequences can be severe.
Currently, in my company, we use Cursor IDE. We start with Plan Mode to validate the approach, then let the AI implement the code. The AI iterates within our loop (mostly running tests until everything passes). Then:
-
First review by the developer in the IDE to reduce slop and double-check the final implementation.
-
Second automated review once the code is pushed, using tools like CodeRabbit.
-
Once CI is green and all CodeRabbit comments are resolved, a final review is done by another human developer.
You can see two important things here:
-
The “producer” developer is accountable for the AI-generated code because they technically approve every line change inside the IDE during the local review process.
-
The human reviewer is involved only at the final stage of the PR, to avoid wasting time too early and to use this valuable resource at the right moment, especially since there is now a large volume of code to review.
Using this technique, we produce reliable, non-sloppy, industrial-grade code that is ready for critical production environments.
Last note: we never approve or use AI-generated code that we do not understand, even if the AI’s approach seems smarter than ours.