SyndaiSign inStart free
← Back to blog

More code reviewers kept finding the same bug

·Sid Sharma·3 minutes
ai-agents
code-review
build-log

I tested a lot of things for reviewing code. First I just did it myself manually. That took a lot of time and was a very manual process. And after a while I just couldn't scale with the number of agents I was using. Sometimes it was like twenty agents at a time working on different code, and I just wasn't fast enough to review all of it at once.

I switched to using a tool called CodeRabbit, which was able to review my code on its own after it was done, and fix it through the PR, or I'd just manually trigger it once the agent finished. Sometimes this ran into issues, and it had its own limitations where it could only review up to like three hundred files, and quite often I would go up past that limit. So I'd have to chunk it, which led to different issues, because within the chunks it might not have the full context. So it might call out issues that were already fixed in another chunk.

And then I went to using multiple reviewers. So I might have a self review, a CodeRabbit review, and a cross model reviewer. Usually if I'm working in Claude Code I'd use a Codex reviewer. And as I kept adding more and more reviewers, the token cost went up, and sometimes a lot of the reviewers would just duplicate the findings. So I found this wasn't really scaling either, because I mean, if you have like five reviewers and three of them are just finding the same bug, that doesn't really add anything.

So I landed on basically having each reviewer own a specific lane. I'd have a security reviewer, maybe a peripheral reviewer, a self reviewer, a cross model reviewer. And these different dynamics generally made the code better, and it let the reviewers cross reference each other while still having their own lane. So it wasn't always fighting the same bugs. And this led to better tips, faster turnarounds, and this multi agent process was also cheaper. I didn't have to pay for a CodeRabbit subscription, or deal with the file limit either. I could run the review across my giant diffs instead of chunking them.

I mean, I still had to chunk them, because reviewing five hundred diffs at once would lead to obscene wait times, especially for a cloud self review. But I could chunk them smartly and just apply a different custom method per lane.

And yeah, this is basically what's implemented in Syndai, as part of something I call the preflight. One of the steps is this review process, where it goes through and reviews the code and runs this council of reviewers, and makes sure the code is healthy before it submits a PR. And it might do multiple rounds of the council just to iron out all the bugs. And whatever the lanes flag, and whatever they clear, ends up on the run's receipt, so you can actually see what got checked instead of taking my word for it.