그들은 올바른 문제를 식별하고, 적절한 사람들에게 도달하며, 누구보다 빠르게 반복할 수 있는 사람일 것입니다.
코드는 결코 본질이 아니었습니다. 코드가 공짜가 되고 나서야 비로소 우리는 그 사실을 깨닫게 되었습니다.
학습의 속도
얼마나 빨리 출시하고, 사용자로부터 배우고, 적응할 수 있는지
가장 먼저 빌드하는 팀이 아니라 가장 빠르게 사이클을 돌릴 수 있는지
AI 시대에 코드 리뷰, 어떻게 해야할까?
사람에 의존하지 않고 코드 리뷰가 가능해졌다
다만, 그렇게 올라오는 PR도 사람에 의존하지 않고 작성한 코드들이라는 것이다
AI 도입률이 높은 팀은 PR을 98% 더 많이 머지하지만 리뷰 시간은 91% 늘어났다
개인은 빨라졌는데, 팀은 느려진 것이다. 코드 리뷰라는 병목이 사라진 게 아니라 그냥 더 커졌다
해결되지 않은 문제는 생성이 아니라 검증이다
AI가 아무리 코드를 잘 생성해도, 그 코드에 대한 책임은 결국 사람에게 있다
책임이 있다면 검증해야 하고, 검증한다면 리뷰해야 한다
그럼 무엇을 리뷰해야할까?
올바른 제약으로 올바른 문제를 해결하고 있는가?
AI가 작성한 코드를 한줄 한줄 리뷰하는 것이 아니라 의도를 리뷰해야한다
diff가 아니라 스펙을
구문이 아니라 맥락을
비즈니스 로직을 코드로만 리뷰하거나 직접 실행까지 하는 리뷰하는 등
어느 정도로 코드 리뷰를 진행하는지는 사람마다 상황마다 다르다
여유가 있을때엔 동작, 테스트까지 모두 리뷰하지만 반대 상황에서는 코드만을 읽고 신뢰 기반 LGTM 👍
결국 이렇게 쌓인 코드들은 부채가 되어버린다
왜 부채가 되었을까?
분명 리뷰를 했는데 왜 나중에 다시 이어가야하는 코드가 되었을까
바빠서 혹은 바빠서 혹은 바빠서
결국 리뷰 AI 도움을 받기 시작했다
코드 전체를 읽고 컨벤션이나 코멘트에 따라 리뷰 해주는데 AI는 바쁘지 않다
그렇게 이번엔 AI가 작성해준 코드를 리뷰 요청하게 되었다
AI가 작성해준 코드를 AI가 리뷰하는 상황을 마주한다
그리고 요청된 리뷰를 수정해달라고 다시 AI에게 요청한다
이 사이클은 사람에게는 어떤 영향을 주는걸까?
사람이 리뷰하는게 더 낫다는 의견
AI 도입률이 높은 팀은 PR을 98% 더 많이 머지하지만 리뷰 시간은 91% 늘어났다. 개인은 빨라졌는데, 팀은 느려진 것이다. 코드 리뷰라는 병목이 사라진 게 아니라 그냥 더 커졌다.
에이전트가 수백, 수천 줄의 코드를 만들어줬다고 해서 그걸 그대로 PR로 올리는 건 실제 작업을 팀원에게 떠넘기는 것이다.
그들도 에이전트에게 프롬프트를 날리면 되는데. 그렇다면 당신이 제공하는 가치는 대체 무엇인가?
AI가 코드를 생성하는 속도가 빨라질수록 테스트와 리뷰의 중요성은 줄어드는 게 아니라 오히려 커진다는 것이다. 생성 비용이 0에 가까워질수록, 가치의 원천은 생성이 아니라 검증으로 이동한다.
코드를 만드는 건 AI가 잘한다. 그런데 그 코드가 맞는지, 우리 시스템에 맞는지, 6개월 뒤에도 유지보수 가능한지를 판단하는 건 여전히 사람의 몫이다
AI 리뷰가 더 낫다는 의견
바빠서 바빠서 바빠서
코드 양이 많아질수록 사람이 놓치게 되는 부분이 더 많아지는 것은 사실이다
일정에 쫓기면 PR 리뷰는 형식이 되었고, 실력 있는 개발자조차 “대충 훑어보고 LGTM” 하는 상황이 빈번했다. AI 시대에는 이게 더 심해졌을 뿐이다.
그럼 리뷰를 어떻게 해야할까
사람도 AI도 모두 유익하다는 사실
에이전트가 만들고, 에이전트가 테스트하면, 그걸 누가 믿을 수 있는가? 같은 종류의 AI가 코드를 쓰고 같은 종류의 AI가 테스트하면, 둘 다 같은 걸 놓길 수 있다. 그리고 이렇게 만들어진 소프트웨어가 프로덕션에서 터졌을 때, 코드를 쓴 사람이 없으니 책임은 누구에게 있는가?
AI가 잡을 수 있는 것(구문, 스타일, 단순 로직 버그, 보안 패턴)은 AI에게 맡기고, 인간은 AI가 절대 잡을 수 없는 것(의도, 맥락, 비즈니스 판단, 부족 지식)에 집중하라
코드가 아니라 의도를 리뷰하라. diff가 아니라 스펙을 리뷰하라. 구문이 아니라 맥락을 리뷰하라.