PR에 달린 반응을 보고
리뷰 봇이 스스로 규칙을 배운다.
이 문장만 보면
솔직히 좀 설렌다.
팀에서 늘 반복되는 리뷰 포인트를
이제는 도구가 알아서 흡수해줄 것 같기 때문이다.
이건 nit이고
이건 진짜 막아야 하고
이건 우리 팀 컨벤션이라 꼭 잡아야 한다
이런 감각을
봇이 스스로 배워주면 얼마나 편하겠나.
그런데 여기서 바로
운영 브레이크를 한 번 밟아야 한다.
Cursor가 2026년 4월 8일 공개한 업데이트는
분명 흥미롭다.
같은 날 Cursor changelog는
Bugbot이 PR 반응과 답글,
그리고 사람 리뷰어의 코멘트를 바탕으로
candidate rule을 만들고,
신호가 쌓이면 active rule로 승격시키며,
쓸모가 떨어지면 비활성화한다고 설명했다.
같은 날 올라온 Cursor 블로그 글은
더 공격적인 숫자도 제시했다.
공개 저장소 기준 분석에서
Bugbot의 resolution rate가
78.13%까지 올라왔고,
110,000개 이상 리포지토리에서
44,000개가 넘는 learned rule이 생성됐다고 했다.
여기까지는 제품 소식이다.
문제는 이 다음이다.
사람은 이런 기능을 보면
금방 제품 기능을
팀 운영 규칙으로 번역해버린다.
좋아요/싫어요가 쌓인 방향이 곧 팀 표준이겠네
사람 리뷰어가 많이 지적한 건 룰로 박아도 되겠네
MCP까지 붙였으니 이제 우리 도메인 맥락도 알겠네
이런 식이다.
바로 그 지점이 위험하다.
내 결론부터 먼저 말하면,
learned rules는
사람 리뷰를 덜 해도 되는 자동 정책
이 아니라,
사람 리뷰 패턴을 구조화해서 다시 검토할 수 있게 해주는 초안 엔진
에 더 가깝다.
즉,
팀 리뷰 규칙으로 곧장 승격시키기 전에
별도 검문소가 하나 더 있어야 한다.
이 글은
Cursor 기능 소개 글이 아니다.
2026년 4월 8일 공개된 공식 정보를
팀 운영 언어로 번역하는 글이다.
그리고 여기서부터는
공식 사실과
내 운영 해석을 구분해서 보겠다.
공식 사실은 Cursor changelog와 Cursor blog에 있다.
그래서 우리 팀은 어떤 룰만 block으로 써야 하나
언제 learned rule을 폐기해야 하나
MCP 붙였을 때 rule sprawl은 어떻게 막아야 하나
이 질문들은
공식 문서 바깥의 운영 영역이다.
바로 그 운영 영역을 정리해보자.
Cursor가 실제로 발표한 사실은 어디까지인가
먼저 사실층부터 깔아두자.
2026년 4월 8일 Cursor changelog 제목은
Bugbot Learned Rules and MCP Support다.
여기서 Cursor는
Bugbot이 PR 피드백을 학습해
future review를 개선하는 learned rule을 만들 수 있다고 설명했다.
신호로 쓰는 것은 세 가지다.
첫째,
Bugbot 코멘트에 대한 reaction.
둘째,
Bugbot 코멘트에 대한 reply.
셋째,
Bugbot이 놓친 것을 지적하는 human reviewer comment.
공식 블로그는 여기에
성능 지표를 붙였다.
2025년 7월 Bugbot 정식화 당시에는
찾아낸 버그 중
52%가 merge 전 해결됐고,
2026년 4월 8일 글 기준으로는
해결률이 80%에 가까워졌다고 설명한다.
본문 표 기준 수치는
78.13%,
분석 대상 PR은
50,310개다.
Cursor는 이 비교가
public repository only 기준이며,
각 AI review comment가
merge 전에 실제 반영됐는지를
LLM judge로 확인했다고 적었다.
또 changelog는
같은 릴리스에서 MCP support도 같이 발표했다.
Teams와 Enterprise 플랜에서
Bugbot에 MCP server를 붙여
code review 중 추가 컨텍스트를 줄 수 있다고 설명했다.
여기까지는 거의 그대로 받아들여도 된다.
다만 여기서 바로
운영 해석 한 줄을 붙여야 한다.
리뷰 피드백을 규칙으로 자동 승격할 수 있다
와
그 규칙이 곧 팀 운영 규칙으로 안전하다
는 전혀 다른 문장이다.
앞 문장은 제품 기능이다.
뒤 문장은 조직 설계다.
그리고 조직 설계는
늘 더 느리고,
더 귀찮고,
더 책임이 크다.
그래서 learned rules를
팀 리뷰 규칙으로 올릴 때는
반드시 한 번 더 걸러야 한다.
내가 보는 핵심 리스크는 세 가지다.
리스크 1. 반응 신호가 품질 신호와 항상 같지는 않다
가장 먼저 생기는 착각은 이거다.
많이 먹힌 피드백이니까 좋은 규칙이겠지.
아쉽지만 실무는 그렇게 단순하지 않다.
PR reaction은
생산적인 신호일 수도 있지만,
동시에 분위기 신호이기도 하다.
예를 들어 이런 상황을 보자.
리뷰 코멘트가 정확하긴 한데
작성자 입장에서는
지금 당장 고치기 싫을 수 있다.
릴리스 마감이 코앞일 수도 있다.
팀이 그날따라
리뷰 피로가 심할 수도 있다.
담당자가 그냥
이번엔 넘어가자
마인드일 수도 있다.
이때 downvote나 무반응은
규칙이 틀렸다
보다
지금 이 타이밍에 귀찮다
를 뜻할 수 있다.
반대로 reply가 길게 달렸다고 해서
항상 양질의 교정 데이터도 아니다.
어떤 답글은
맥락 설명이다.
어떤 답글은
변명이다.
어떤 답글은
정확한 반례다.
어떤 답글은
팀 내부 사정을 모르면
잘못 일반화하기 쉬운 예외다.
즉,
reaction과 reply는
중요한 신호이긴 하지만
ground truth는 아니다.
이걸 ground truth처럼 다루기 시작하면
learned rule이
리뷰 품질을 높이기보다
리뷰 감정과 일정 압박을 학습해버릴 수 있다.
이게 첫 번째 리스크다.
실무에서 흔한 오염 패턴
| 오염 패턴 | 겉으로 보이는 신호 | 실제 해석 |
|---|---|---|
| 마감 전 무시 | reaction 없음 | 규칙이 틀렸다가 아니라 급해서 스킵 |
| 반복되는 짜증 | downvote 증가 | 지적 내용보다 톤/타이밍 문제가 섞임 |
| 장문 reply | 수정 제안 많음 | 좋은 correction일 수도, 팀 내부 예외일 수도 있음 |
| 사람 리뷰어의 추가 코멘트 | Bugbot miss 지적 | 조직 표준일 수도, 특정 시점 hot issue일 수도 |
표가 소박해 보여도
운영에선 꽤 중요하다.
왜냐하면 learned rule 시스템은
신호를 빠르게 먹을수록 좋아 보이지만,
조직은 신호를 느리게 해석할수록 안전할 때가 많기 때문이다.
그래서 나는
reaction 기반 신호를
바로 rule promotion으로 연결하지 말고,
최소한 두 단계로 나누는 편을 권한다.
-
candidate 규칙 생성
-
사람 검토 후 advisory 규칙 반영
block 규칙은
여기서 한 단계 더 늦춰야 한다.
적어도
한 번은 사람이
이건 우리 팀의 선호인지, 품질 기준인지
를 분리해서 읽어야 한다.
리스크 2. 로컬 최적화가 팀 표준으로 둔갑하기 쉽다
learned rules가 가장 잘 먹히는 곳은
보통 현재 리포지토리,
현재 코드 스타일,
현재 팀 멤버 조합이다.
당연하다.
학습 신호가 거기서 나오기 때문이다.
문제는 여기서 잘 맞는 규칙이
다음 분기에도 잘 맞는다는 보장은 없다는 점이다.
새 프레임워크가 들어오면
리뷰 포인트가 달라진다.
팀원이 바뀌면
리뷰 언어가 달라진다.
테스트 전략이 바뀌면
중요한 버그의 모양도 달라진다.
그런데 learned rule은
좋든 싫든
최근의 행동을 압축한 결과물이다.
압축은 늘 손실을 동반한다.
그래서 오늘의 로컬 최적화가
내일의 조직 표준처럼 굳어버리면
문제가 생긴다.
대표적인 장면이 이런 거다.
원래는 특정 모듈에서만 중요했던 규칙이
전체 저장소 규칙처럼 확장된다.
원래는 특정 reviewer 한 명이
강하게 선호하던 스타일이
팀 합의인 것처럼 굳어진다.
원래는 migration 기간에만 필요했던 안전장치가
정상 운영 이후에도 계속 남아서
리뷰 소음을 만든다.
이렇게 되면 learned rules는
리뷰 품질 엔진이 아니라
과거 습관 보존 장치가 된다.
그래서 필요한 질문
learned rule을 볼 때는
항상 세 질문을 같이 붙이는 게 좋다.
이건 제품 품질 기준인가
아니면 특정 팀의 취향인가
아니면 특정 분기 이슈의 흔적인가
이 질문을 안 붙이면
규칙이 쌓일수록
오히려 팀 온보딩이 힘들어진다.
신입이나 다른 팀 입장에서는
왜 이 리뷰가 중요한지 설명이 안 되기 때문이다.
설명이 안 되는 규칙은
대체로 오래 못 간다.
혹은 더 안 좋은 방향으로,
그냥 아무도 건드리지 못하는 관습이 된다.
리스크 3. MCP로 컨텍스트가 늘수록 규칙의 설명 책임도 커진다
이번 업데이트에서
많은 사람이 learned rules만 보고 지나치는데,
나는 MCP support가 같이 붙었다는 점이 더 중요하다고 본다.
Cursor changelog는
Teams와 Enterprise 플랜에서
Bugbot에 MCP server를 연결해
추가 컨텍스트를 줄 수 있다고 적었다.
공식 사실은 여기까지다.
이제부터는 내 해석이다.
컨텍스트가 늘어난다는 건
룰이 똑똑해질 가능성만 커지는 게 아니다.
룰이 무엇을 근거로 판단했는지
설명해야 할 범위도 같이 커진다.
예전에는
코드와 PR 대화만 보면 됐다.
이제는 여기에
내부 문서,
운영 가이드,
API 계약,
아키텍처 메모 같은 것이
간접적으로 review 판단에 섞일 수 있다.
그 자체가 나쁜 건 아니다.
오히려 잘 쓰면
리뷰 정확도를 확 끌어올릴 수 있다.
하지만 이런 질문이 곧 따라온다.
어느 MCP 소스가 규칙 승격에 영향을 줬나
그 문서는 아직 최신인가
도메인 문서와 코드 현실이 충돌하면 무엇을 우선하나
사람이 수정한 룰과 자동 학습 룰은 어떻게 구분하나
이 구분이 없으면
팀은 금방 두 가지 상태 중 하나로 간다.
하나는
rule sprawl.
규칙은 많아지는데
아무도 근거를 모르는 상태다.
다른 하나는
false confidence.
MCP가 붙었으니
이제 우리 비즈니스 맥락까지 안다고
과신하는 상태다.
둘 다 별로다.
특히 리뷰 봇은
한 번 팀 신뢰를 얻으면
사람이 경계심을 빨리 푼다.
그래서 MCP를 붙인 learned rule 시스템은
정확도보다 먼저
설명 가능성을 설계해야 한다.
그러면 어떻게 굴려야 하나
내가 추천하는 운영 방식은
자동 생성은 빠르게, 자동 승격은 느리게다.
후보 규칙을 만드는 속도는 빨라도 된다.
하지만 팀 정책으로 승격하는 속도는
느려야 한다.
특히 block 계열은 더 느려야 한다.
아래 표처럼 분리하면
꽤 덜 망가진다.
| 규칙 단계 | 누가 올리나 | 어떤 영향 | 권장 운영 |
|---|---|---|---|
| candidate | Bugbot 자동 | 영향 없음 | 많이 받아도 됨 |
| advisory | 사람 승인 후 적용 | 코멘트 품질 향상 | 주간 검토 추천 |
| block-like | 사람+리드 승인 | 병합 판단에 영향 | 매우 제한적으로만 |
그리고 실제 운영에서는
다음 체크리스트가 꽤 쓸만하다.
1. reaction 의미를 팀에서 먼저 맞춘다
thumbs down이
틀린 지적
인지,
지금은 안 받음
인지,
톤이 별로
인지
팀에서 먼저 맞춰야 한다.
이 의미가 흐린 상태에서
reaction을 학습 신호로 쓰면
규칙이 팀 감정선을 배울 가능성이 커진다.
2. 사람 리뷰 코멘트는 바로 규칙화하지 않는다
사람 리뷰어가 놓친 문제를 잡아주는 건
좋은 시작점이다.
하지만 그것이
곧바로 상시 규칙일 필요는 없다.
한 번 발생한 migration 이슈인지,
지속되는 설계 문제인지,
특정 영역 한정인지
분리해서 봐야 한다.
3. 규칙에 만료일을 둔다
learned rule에도
사실상 TTL이 필요하다.
분기마다,
혹은 큰 리팩터 이후마다
재검토하지 않는 규칙은
오래될수록 소음이 되기 쉽다.
승격일
마지막 유효성 확인일
적용 범위
이 세 개만 붙여도 훨씬 낫다.
4. MCP 소스는 read-only reference부터 시작한다
정책 문서,
아키텍처 설명,
API 계약처럼
상대적으로 안정적인 문서부터 연결하는 편이 좋다.
실시간 상태나
실험 중 메모까지 한 번에 다 물리면
review 근거가 과하게 흔들릴 수 있다.
5. 규칙 설명문을 반드시 사람 언어로 남긴다
이 규칙은 왜 생겼는가
무엇을 줄이기 위한 것인가
어디에만 적용하는가
이 세 문장이 없으면
그 규칙은 오래갈수록 독이 된다.
자동으로 만들어진 규칙일수록
설명문은 더 사람답게 써야 한다.
block 규칙으로 올려도 되는 건 무엇인가
나는 learned rule 대부분이
advisory에 머무는 편이 맞다고 본다.
그럼 무엇만
조심스럽게 block-like로 갈 수 있냐.
대체로 아래 조건을 같이 만족할 때다.
첫째,
반복 빈도가 높다.
둘째,
거짓 양성이 낮다.
셋째,
수정 비용이 작다.
넷째,
규칙 설명이 짧고 명확하다.
예를 들면
필수 테스트 누락,
위험한 config drift,
보안 민감 경계 누락 같은 것은
후보가 될 수 있다.
반대로
스타일 취향,
문장 톤,
리팩터 선호,
추상화 방식 취향 같은 것은
대체로 advisory가 낫다.
이 구분을 안 하면
리뷰 봇은 빨리 미움받는다.
사람이 싫어하는 건
엄격함 자체가 아니라
설명 안 되는 엄격함이다.
팀에 바로 적용할 수 있는 7일 운영안
거창하게 시작할 필요는 없다.
딱 7일만 이렇게 굴려봐도
learned rules를 보는 눈이 확 달라진다.
1일차.
candidate rule만 수집한다.
승격은 안 한다.
2일차.
reaction 의미를 팀에서 합의한다.
3일차.
사람 리뷰어 코멘트 중
반복되는 것만 묶어본다.
4일차.
advisory 후보 3개만 추린다.
5일차.
MCP는 read-only 문서 1종만 붙여본다.
6일차.
false positive 사례를 별도로 적는다.
7일차.
정말 상시 규칙인가
질문으로 마지막 검문을 한다.
이렇게 굴리면
기능 데모가
운영 규칙으로 과속 승격되는 일을 꽤 줄일 수 있다.
한 줄 결론
Cursor Bugbot learned rules는
분명 강력하다.
하지만 강력한 학습 기능과
안전한 팀 규칙은
같은 말이 아니다.
PR 반응을 규칙으로 바꾸는 속도보다
그 규칙을 설명하고 폐기하는 속도를
더 중요하게 봐야 한다.
특히 MCP까지 붙는 순간,
정확도보다 먼저
설명 책임과 범위 통제가 중요해진다.
멋진 기능은 빨리 써도 된다.
팀 표준은 천천히 올려라.
이게 2026년 4월 8일 Cursor 업데이트를
운영자 관점에서 읽는 가장 안전한 번역이다.
FAQ
learned rules가 많을수록 무조건 좋은가
아니다.
Cursor는 110,000개 이상 저장소에서
44,000개가 넘는 learned rule이 생성됐다고 밝혔지만,
운영자 입장에서는 규칙 수보다
설명 가능성과 false positive 관리가 더 중요하다.
규칙이 많아질수록
오히려 review noise가 늘 수 있다.
reaction이 많으면 그 규칙은 믿어도 되나
반만 믿는 게 좋다.
reaction은 유용한 피드백 신호지만
항상 품질 그 자체를 뜻하지는 않는다.
일정 압박,
팀 분위기,
작성자 피로도도 같이 섞일 수 있다.
사람 리뷰어가 자주 지적한 항목은 바로 block으로 올려도 되나
대체로 아니다.
먼저 advisory로 검증하고,
거짓 양성이 낮고,
수정 비용이 작고,
조직 전체에서 설명 가능한 규칙인지 확인한 뒤에만
아주 제한적으로 검토하는 편이 안전하다.
MCP를 붙이면 learned rules 정확도가 바로 좋아지나
그럴 가능성은 있다.
다만 공식 발표는
additional context during code reviews 수준까지 설명했고,
그 이후 정확도 향상 폭이나
조직별 운영 성과는 각 팀이 따로 검증해야 한다.
즉,
컨텍스트 증가는 곧 설명 책임 증가라고 보는 편이 낫다.
이 기능을 지금 당장 팀에 시험해볼 만한가
그건 맞다.
다만 추천하는 시작점은
정책 자동화
가 아니라
candidate rule 관찰
이다.
처음부터 block 정책처럼 다루면
기능의 장점보다 부작용을 먼저 맞을 가능성이 크다.
참고 자료
- Cursor changelog: Bugbot Learned Rules and MCP Support (2026-04-08)
- Cursor blog: Bugbot now self-improves with learned rules (2026-04-08)