AI 코딩 에이전트, 에이전트 늘리기보다 '검토자 vs 비판자' 한 쌍이 더 똑똑하게 일한다
AI 코딩 에이전트, 에이전트 늘리기보다 '검토자 vs 비판자' 한 쌍이 더 똑똑하게 일한다
여러 AI 에이전트가 협업해서 코드를 짜고 검토하게 만들 때, 무작정 에이전트 수를 늘리는 것보다 검토자(reviewer)와 그 검토를 다시 따지는 비판자(critic) 단 둘만 상호작용시키는 게 더 효과적이었다. 이 방법을 저자들은 Adversarial Review(AR)라고 부른다. 다만 두 에이전트가 서로 쉽게 동의해버리는 '가짜 합의' 문제가 있었고, 반드시 근거를 대며 반박하도록 프롬프트를 고치자 이 문제가 해결됐다.
METAL MEDIA 해설 도표
AI 코딩 에이전트, 에이전트 늘리기보다 '검토자 vs 비판자' 한 쌍이 더 똑똑하게 일한다
- 01코딩 문제 풀이 벤치마크(LiveCodeBench)에서, 코드를 쓰는 메인 에이전트에 검토자 1명과 비판자 1명만 붙인 AR이 총 5개 에이전트를 쓰는 기존 방식(MARS)보다 정답률이 더 높았다(87% vs 85%)
- 02실제 GitHub 풀리퀘스트 리뷰를 평가하는 SWE-PRBench에서는 AR이 오히려 가장 낮은 점수(F1 0.457)를 냈는데, 검토자와 비판자가 근거 없이 서로 동의해버리는 '가짜 합의' 현상 때문이었다
- 03비판자가 내리는 판정을 '동의' 하나에서, '코드 근거를 대며 반박' 또는 '증거는 없지만 의문 제기'로 세분화하도록 프롬프트만 바꿨더니 F1이 0.533으로 뛰어 비교 대상 중 1위가 됐다
- 04실제 GitHub 이슈 500개를 고치는 SWE-bench Verified에서도 AR은 아무 협업 없는 기본 방식(71.6%)과 MARS(72.6%)보다 높은 75.2% 해결률을 보였다. 다만 토큰(연산 비용)은 기본 방식의 약 4.5배 들었다
- 05AR은 코드나 계획을 검토자·비판자가 검토문으로만 주고받고 실제 코드 수정은 두 에이전트가 합의한 뒤에만 메인 에이전트가 하도록 구조를 나눴는데, 이 분리가 성능 향상의 핵심 원리로 제시됐다
무엇을 했나
- 코딩 문제 풀이 벤치마크(LiveCodeBench)에서, 코드를 쓰는 메인 에이전트에 검토자 1명과 비판자 1명만 붙인 AR이 총 5개 에이전트를 쓰는 기존 방식(MARS)보다 정답률이 더 높았다(87% vs 85%)
- 실제 GitHub 풀리퀘스트 리뷰를 평가하는 SWE-PRBench에서는 AR이 오히려 가장 낮은 점수(F1 0.457)를 냈는데, 검토자와 비판자가 근거 없이 서로 동의해버리는 '가짜 합의' 현상 때문이었다
- 비판자가 내리는 판정을 '동의' 하나에서, '코드 근거를 대며 반박' 또는 '증거는 없지만 의문 제기'로 세분화하도록 프롬프트만 바꿨더니 F1이 0.533으로 뛰어 비교 대상 중 1위가 됐다
- 실제 GitHub 이슈 500개를 고치는 SWE-bench Verified에서도 AR은 아무 협업 없는 기본 방식(71.6%)과 MARS(72.6%)보다 높은 75.2% 해결률을 보였다. 다만 토큰(연산 비용)은 기본 방식의 약 4.5배 들었다
- AR은 코드나 계획을 검토자·비판자가 검토문으로만 주고받고 실제 코드 수정은 두 에이전트가 합의한 뒤에만 메인 에이전트가 하도록 구조를 나눴는데, 이 분리가 성능 향상의 핵심 원리로 제시됐다
| Method | pass / 105 | pass-on-hard / 57 | # agents |
|---|---|---|---|
| Zero-shot | 77% | 35/57 (61%) | 1 |
| Self-Refine | 77% | 35/57 (61%) | 1 |
| Single-reviewer | 77% | 36/57 (63%) | 2 |
| Two-reviewers | 75% | 34/57 (60%) | 3 |
| MARS | 82% | 39/57 (68%) | 5 |
| AR | 87% | 43/57 (75%) | 3 |
| Method | F1 | N |
|---|---|---|
| AR with text constraint | 0.533 | 100 |
| Two-reviewers | 0.503 | 100 |
| MARS | 0.501 | 100 |
| Single-reviewer | 0.495 | 100 |
| AR | 0.457 | 100 |
| Method | pass-rate (%) | N |
|---|---|---|
| AR | 75.2% | 500 |
| Zero-shot | 71.6% | 500 |
| MARS | 72.6% | 500 |
왜 중요한가
AI 에이전트 여러 개를 굴려 코드를 만들고 검토하게 하는 시스템이 늘고 있는데, 이 연구는 '에이전트를 더 많이 쓰는 것'이 아니라 '적은 수의 에이전트가 근거를 갖고 제대로 반박하게 만드는 것'이 더 중요하다는 걸 실험으로 보여준다. 또한 AI들끼리 서로 동의했다고 해서 그게 검증된 결과라는 보장은 없다는 '가짜 합의' 위험을 구체적 사례로 지적해, AI 코드 리뷰를 실무에 도입하려는 사람들에게 실질적인 경고와 해법을 함께 준다.
이 논문의 용어
- LLM 에이전트 · 대형언어모델을 이용해 스스로 작업을 계획하고 도구를 써서 실행하는 프로그램
- 서브에이전트 · 메인 에이전트가 필요할 때 호출해 쓰는, 도구처럼 다루는 보조 에이전트
- 멀티에이전트 토론(MAD) · 여러 에이전트가 서로 메시지를 주고받으며 의견을 다투는 방식
- pass@1 / 정답률 · 에이전트가 한 번 시도했을 때 정답(혹은 테스트 통과)을 맞히는 비율
- F1 점수 · 정밀도와 재현율을 함께 반영한 평가 지표로, 여기서는 AI 리뷰 댓글이 실제 사람 리뷰와 얼마나 잘 맞는지를 나타냄
본문에 싣지 못한 그림
- Figure 1: Workflow of Adversarial Review (AR). The main agent first produces artifact version N (code or plan). The protocol then enters an inner loop in which the artifact is frozen: reviewer R generates Reviewk, critic C evaluates and may revise that review, and R responds until a consistent review is reached. If the review converges on the first pass and identifies no flaws, the artifact is accepted immediately. Otherwise, the main agent edits the artifact to produce version N+1, updates the change log, and the process repeats. The key separation is that the inner loop exchanges review text only, while artifact edits occur only in the outer loop.
최신 논문
- AI 코딩 에이전트에게 과학 소프트웨어 수리를 시켜보니, 절반도 제대로 못 고쳤다AI 코딩 에이전트에게 과학 소프트웨어 수리를 시켜보니, 절반도 제대로 못 고쳤다
- 논문 속 시연이 아니라 실제 서비스에 넣을 수 있는 희소 어텐션 만들기논문 속 시연이 아니라 실제 서비스에 넣을 수 있는 희소 어텐션 만들기
- 고객상담 AI 상담원이 규정을 '한 번의 행동'이 아니라 '전체 절차'로 지키게 만드는 방법고객상담 AI 상담원이 규정을 '한 번의 행동'이 아니라 '전체 절차'로 지키게 만드는 방법
- 로봇 팔에게 사람의 시연 없이 새 일 시키기, 말 잘하는 AI가 대신 가르친다로봇 팔에게 사람의 시연 없이 새 일 시키기, 말 잘하는 AI가 대신 가르친다
- 에이전트 학습용 환경을 새로 만드는 대신, 기존 환경에 '패치 부품'을 씌워 그 에이전트의 약점에 맞게 바꾸는 방법에이전트 학습용 환경을 새로 만드는 대신, 기존 환경에 '패치 부품'을 씌워 그 에이전트의 약점에 맞게 바꾸는 방법
- AI 모델을 '소유'하지 못한 조직은 안전 통제도 절반밖에 못 한다AI 모델을 '소유'하지 못한 조직은 안전 통제도 절반밖에 못 한다
- AI가 선생님 모델을 따라 배우다가, 정답에 다가가는 '좋은 생각'까지 억누르는 문제를 잡아낸다AI가 선생님 모델을 따라 배우다가, 정답에 다가가는 '좋은 생각'까지 억누르는 문제를 잡아낸다
- AI가 특정 사람 말투를 흉내내도록 시켜봤더니, 결국 AI 자신의 말투에서 못 벗어난다AI가 특정 사람 말투를 흉내내도록 시켜봤더니, 결국 AI 자신의 말투에서 못 벗어난다