제품

Bugbot, 학습된 규칙으로 이제 스스로 개선됩니다

Michael Zhao3분 읽기

2025년 7월 Bugbot의 베타 종료를 발표했을 때, Bugbot이 찾아낸 버그 중 52%는 해당 PR이 병합될 때까지 해결되었고, 이는 나머지는 false positive였다는 뜻입니다.

현재 해결률은 80%에 가까워졌으며, 이는 그다음으로 앞선 AI 코드 리뷰 제품보다 15%포인트 높은 수치입니다.

AI 코드 리뷰 제품해결률분석한 PR 수
Cursor Bugbot78.13%50,310
Greptile63.49%11,419
CodeRabbit48.96%33,487
GitHub Copilot46.69%24,336
Codex45.07%19,384
Gemini Code Assist30.93%21,031

공개 저장소만 분석했습니다. AI 코드 리뷰 제품이 생성한 각 댓글에 대해, LLM judge를 사용해 병합될 때까지 해당 댓글가 반영되었는지 확인했습니다.

지금까지의 개선은 전적으로 오프라인 실험을 통해 이루어졌습니다. Bugbot을 조정하고, 그 변경이 해결률을 높이는지 테스트한 뒤, 효과가 있으면 배포하는 방식이었습니다.

Bugbot이 더 많은 버그를 찾아내는 와중에도 해결률은 계속 높아지고 있습니다Bugbot이 더 많은 버그를 찾아내는 와중에도 해결률은 계속 높아지고 있습니다

하지만 오프라인에만 의존하는 접근 방식으로는 많은 학습 잠재력을 활용하지 못합니다. Bugbot은 하루에 수십만 건의 PR을 리뷰하며, 각 리뷰는 개발자가 Bugbot의 보고서에 실제로 대응했는지 여부를 바탕으로 Bugbot이 스스로 개선할 수 있는 자연스러운 실험이 됩니다.

이러한 실시간 신호를 활용하기 위해 이제 Bugbot이 과거 실행 결과로부터 학습할 수 있도록 지원해, 실제 코드 리뷰 과정에서 나오는 피드백을 학습된 규칙으로 전환할 수 있게 했습니다. 규칙은 Bugbot 실행을 더 세밀하게 맞춤 설정할 수 있게 해주는 추가 지침 역할을 하며, Bugbot이 특정 이슈와 비즈니스 컨텍스트 등에 집중할 수 있도록 돕습니다.

학습된 규칙를 베타로 출시한 이후, 110,000개가 넘는 repo에서 학습을 활성화했으며, 그 결과 44,000개가 넘는 학습된 규칙이 생성되었습니다.

학습된 규칙의 작동 방식

병합된 모든 PR에는 Bugbot이 스스로 개선하고 규칙으로 체계화하는 데 활용할 수 있는 여러 신호가 담겨 있습니다. 중요한 신호 세 가지는 다음과 같습니다.

  1. Bugbot 댓글에 대한 반응: 여기서 비추천은 해당 지적이 유용하지 않았다는 점을 Bugbot에 알려 줍니다.
  2. Bugbot 댓글에 대한 답글: 여기서 개발자는 무엇이 잘못되었는지, 또는 제안이 어떻게 더 나아질 수 있었는지를 설명합니다.
  3. 사람 리뷰어의 댓글: Bugbot이 놓친 이슈를 표시합니다.
Bugbot의 학습 과정Bugbot의 학습 과정

Bugbot은 이러한 신호를 후보 규칙으로 처리한 뒤, 새로 들어오는 PR에 계속 적용해 평가합니다. 신호가 누적되면 Bugbot은 후보 규칙을 활성 상태로 승격해 이후 리뷰에 영향을 주기 시작할 수 있습니다. 반대로 활성 규칙에서 일관되게 부정적인 신호가 나오기 시작하면 Bugbot은 해당 규칙을 비활성화할 수 있습니다. 또한 UI에서 규칙을 직접 수정하거나 삭제할 수도 있습니다.

시작하기

Bugbot이 실제 버그를 하나도 놓치지 않고 잡아내려면 코드베이스와 패턴, 그리고 팀의 우선순위를 깊이 이해해야 합니다. 학습된 규칙은 이를 향한 중요한 진전이며, Bugbot이 지속적으로 스스로 개선되도록 만들기 위한 저희 노력의 일환이기도 합니다.

Cursor Dashboard에서 Bugbot 학습을 관리할 수 있습니다. 여기서 학습된 규칙을 활성화하고 최근 PR에 대해 백필을 실행할 수 있으며, 자세한 내용은 문서에서 확인할 수 있습니다.

분류: 제품

작성자: Michael Zhao