CursorJon KaplanExplainer
Building a better Bugbot
Summary
Bugbot is a code review agent built to identify logic bugs, performance issues, and security vulnerabilities in pull requests before production, as increasingly capable coding agents increased review workload. Its development moved from qualitative assessments to systematic experimentation, using an AI-driven resolution-rate metric, the BugBench benchmark, and online evaluations of real pull requests. An early production flow ran eight parallel passes with randomized diff ordering, majority voting, category filters, validation, and deduplication, while later versions adopted a fully agentic design with tools and dynamic context. Across 40 major experiments, resolution rate rose from 52% to over 70%, bugs flagged per run from 0.4 to 0.7, and resolved bugs per pull request from roughly 0.2 to about 0.5. Newer versions caught more bugs without a comparable rise in false positives, and planned capabilities include Autofix, self-verification, deep research, and continuous scanning.
Context
As coding agents became more capable, review workload increased. The team needed a way to improve Bugbot's bug-reporting quality and measure whether changes produced issues engineers actually resolved; qualitative feedback alone did not provide a quantitative signal.
Approach / What changed
Bugbot evolved from parallel randomized review passes with majority voting, filtering, validation, and deduplication into a fully agentic design that can use tools and retrieve dynamic context. Development was guided by resolution rate, online experiments, and the BugBench benchmark, alongside Rust-based Git integration, rate-limit monitoring, request batching, proxy infrastructure, and configurable Bugbot rules.
Takeaways
Eight parallel passes received different diff orderings, and majority voting treated issues found independently by several passes as stronger signals.
The resolution-rate metric uses AI at PR merge time to determine which reported bugs were resolved in the final code; internal spot-checking found it classified nearly all examples correctly.
Switching to a fully agentic architecture produced the largest gains, enabling tool calls, dynamic context retrieval, and more aggressive prompts that investigated suspicious patterns.
Source and freshness
- Source
- cursor.com
- Published
- Added to Yomu
- Last updated
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.