“AI 가 제안한다. 사람은 그 제안을 선택한다.”
이 한 줄이 요즘 AI 코드 리뷰 / AI 개발 도구 화두에 대한 가장 자주 쓰이는 결의 하나다. 진부할 만큼 자주 쓰여서, 그래서 뭐? 의 자리에 와 있기도 하다.
요즘 흐름은 진하다. Google 의 내부 코드 25%+ 가 AI 생성, Amazon Q Developer, GitHub Copilot Code Review 정식 출시, Cursor·Windsurf·Devin 의 자동 PR. 한쪽 결은 “AI 가 reviewer 를 대체한다” 로 가고, 다른 한쪽 결은 “결국 사람이 선택한다, AI 는 보조다” 로 닫힌다.
후자의 결에 동의한다. 다만 그 결을 현재의 사실 로 두면 글이 그 자리에서 끝나 버린다. 한 칸 더 짚어야 한다 — 왜 사람이 선택해야 하는가, 그리고 그 자리를 비우면 무엇이 채우는가.
제안의 양은 도움의 양이 아니다
AI 는 제안 을 무한정 줄 수 있다. PR 한 건에 코멘트 50개를 다는 일도, 변수 한 줄에 대안 10개를 띄우는 일도 비용이 거의 0 에 수렴한다.
도움이 되는 자리도 분명히 있다. 빠뜨리던 자리를 한 번 짚어 주고, 잘 알려진 패턴으로 한 번 정리해 준다.
다만 제안의 양 으로 효율을 측정하기 시작하면, 도움의 양 과 어긋난다. 좋은 제안 100개는 결국 100개를 검토해야 하는 일 을 만든다. 제안 → 검토 → 선택 의 사슬에서 제안 만 자동화되면, 검토와 선택의 비용 은 사람에게 그대로 남는다. 오히려 늘어나는 자리도 있다.
비용은 사라지지 않는다. 옮겨갈 뿐이다.
문맥은 사람에게만 있다
AI 가 잘하는 자리는 문맥이 적은 자리 다.
- 문법
- 스타일
- 일반 알고리즘
- 잘 알려진 라이브러리 사용법
- 누가 보아도 같은 결로 보이는 자리
AI 가 못하는 자리는 문맥이 많은 자리 다.
- 팀의 역사
- 도메인 정책
- 어제 결정된 합의
- 환경의 결
- “왜 이 코드는 이렇게 짜여 있는가” 의 자리
같은 코드라도 어떤 분기는 임시 조치이고, 어떤 분기는 영구 정책 이다. 코드만 보면 둘은 똑같이 생겼다. 임시 조치는 다음 주에 빠질 예정 이라는 결은 코드 어디에도 적혀 있지 않다. 주석으로 적혀 있다 해도, 왜 그 결정이 그 시점에 그렇게 났는지 까지는 적혀 있지 않다.
문맥은 사람에게만 있다. AI 의 제안이 도착하는 자리는 항상 문맥이 빠진 자리 다. 그 제안을 지금 이 팀의 결 에 맞게 선택 하는 일은 — 문맥을 들고 있는 사람만 할 수 있다.
선택의 자리가 비면, 제안이 결정을 가져간다
AI 의 제안을 받았는데 사람이 선택을 하지 않으면, 그 빈 자리에 제안 자체가 결정처럼 자리잡는다.
- “AI 가 그렇게 짠 코드니까”
- “리뷰 봇이 OK 라는데”
- “Copilot 이 추천한 결이라”
이 한 줄이 왜 이렇게 짰는가 의 자리를 가져가기 시작한다. 책임의 자리도 함께 옮겨간다 — “내가 선택한 게 아니라 도구가 그렇게 했다”.
이건 어디선가 본 결이다. 우선순위가 매일 바뀌면 우선순위가 없다, prototype 에 목적이 없으면 완성도가 목적을 대신 가져간다, hook 에 추상화가 비어 있으면 구현이 추상화를 대신 가져간다. 비어 있는 자리는 자연스럽게 다른 무언가가 채운다.
선택의 자리에 무엇이 들어오는가? — 제안의 평균, 제안의 가장 안전한 결, 제안에 따라가기 가장 편한 결 이 들어온다. 그게 우리 팀의 선택 으로 굳어진다. 결국 팀의 색 이 평균치로 수렴한다. 어느 팀에서 짠 코드인지 구분이 안 가는 자리에 도착해 있는 것이다.
도움이 되는 도움 / 도움이 안 되는 도움
도움을 받는다 는 결은 동의한다. 다만 어떤 도움인지 의 결이 사람마다 다르다.
(a) 체크리스트의 도움 — 잘 알려진 자리에서 빠뜨림을 줄여준다. 문맥이 적은 자리 에서 작동한다. AI 가 가장 강한 자리.
(b) 문맥 점프의 도움 — 새로운 라이브러리에 들어가는 자리, 낯선 도메인의 첫 한 시간, 모르는 결의 한 줄을 빠르게 짚어준다. 문맥이 얕은 자리 에서 작동한다 — 깊은 자리 에서는 약해진다.
(c) 결정 대행의 결 — 사람이 선택의 자리를 비우고 AI 의 제안을 그대로 받는 결. 도움처럼 보이는 결이지만 도움이 아닌 자리. 이 결은 단기에는 빠르지만, 위 단락의 팀의 색이 평균치로 수렴 의 자리로 천천히 흐른다.
(a) 와 (b) 는 도움이 되는 도움, (c) 는 도움처럼 보이는 도움. 이 둘을 구별하지 않으면 “AI 가 다 해 주네” 의 결로 이끌린다. 정작 문맥이 깊은 자리 에서는 손을 놓게 된다.
마치며
AI 는 제안한다, 사람은 선택한다 는 결은 지금의 사실 이라기보다 그렇게 두기 위해 의식적으로 자리를 만들어야 하는 결 이다. 손을 놓으면 그 결은 24시간 안에 사라진다. “AI 가 OK 라는데” 한 줄이면 사람의 선택 자리는 비워진다.
제안의 자리 는 자동화될 수 있다. 선택의 자리 는 문맥이 있는 사람 이 채워야 한다.
문맥을 들고 있는 사람이 선택하지 않으면 — 제안이 결정의 자리를 가져간다.