본문 바로가기

IT & AI

AI 코딩이 빨라질수록 코드 리뷰가 병목이 되는 이유

728x90

AI 코딩이 빨라질수록 코드 리뷰가 병목이 되는 이유

AI 뉴스 썸네일
AI 뉴스 썸네일

AI 코딩 도구는 몇 시간 만에 대규모 변경을 만들 수 있어요. 하지만 사람이 설계를 이해하고 변경의 위험을 판단하는 속도는 그만큼 빨라지지 않아요. 코드 생성량이 리뷰 역량을 넘으면 개발 속도보다 복구 비용이 먼저 커질 수 있어요.

728x90

핵심 요약

구분핵심개발팀이 확인할 점
코드 생성구현에 걸리는 시간이 크게 줄어요변경 단위를 사람이 검토할 수 있는 크기로 제한해야 해요
코드 리뷰생성 속도를 검토 속도가 따라가지 못해요설명할 수 없는 설계와 지나치게 큰 PR을 그대로 합치지 않아야 해요
기술 부채작동하는 결과 뒤에 복잡성이 숨을 수 있어요데이터 흐름과 설계 근거를 코드 밖에도 남겨야 해요
엔지니어 역할구현보다 판단과 복구 능력의 값이 커져요도구의 제안을 승인한 사람이 결과를 책임져야 해요

1. 코드 생성 속도보다 중요한 것은 검토할 수 있는 속도예요

Florian Herrengt는 AI가 소프트웨어 엔지니어링의 중간층을 없앨 수 있다고 주장해요. 글에서 말하는 중간층은 명세를 받아 코드를 구현하지만 설계의 타당성이나 운영 위험을 깊이 판단하지 않는 역할에 가까워요. AI 코딩 도구가 구현을 대신할수록 이런 역할의 가치는 줄고, 설계와 검증을 맡을 수 있는 엔지니어의 가치는 더 커진다는 논지예요. 이는 저자의 전망이며 확정된 고용 통계는 아니에요. 1

2만 줄을 만드는 시간과 읽는 시간은 다르게 줄어요

원문은 주말 사이 2만 4,506줄이 추가되고 3,938줄이 삭제된 가상 PR을 예로 들어요. AI 코딩 도구는 이런 규모의 변경을 짧은 시간에 만들 수 있어요. 리뷰어는 각 변경이 기존 계약을 깨지 않는지, 새 추상화가 필요한지, 장애가 났을 때 되돌릴 수 있는지 직접 확인해야 해요. 생성 시간은 줄어도 이해에 필요한 시간은 그대로 남아요. 2

PR이 너무 크면 리뷰는 승인 절차로 약해지기 쉬워요. 변경된 줄 수가 많아서 문제라기보다 한 번에 검증해야 할 결정이 너무 많아져요. 데이터 모델, 서비스 경계, 오류 처리 방식이 함께 바뀌면 리뷰어가 각각의 영향을 추적하기 어려워져요. 팀은 AI가 만든 코드를 작은 작업으로 나누고, 새 결정마다 이유와 검증 방법을 남겨야 해요.

작동하는 코드는 안전한 코드와 같지 않아요

기능이 실행되고 테스트 몇 개를 통과하면 변경이 끝난 것처럼 보일 수 있어요. 운영 환경에서는 데이터 무결성, 장애 대응, 관측 가능성, 이전 버전과의 호환성까지 확인해야 해요. 이 항목은 화면에 보이는 성공 결과만으로 판단하기 어려워요.

원문은 데이터베이스 테이블과 열을 추가하는 작업을 예로 들어요. 생성 도구는 변경 코드를 10분 안에 만들 수 있어도 실제 데이터가 쌓인 뒤에는 단순 삭제가 어려워요. 마이그레이션 순서를 정하고 서비스 중단을 피해야 해요. 실패 시 복구 절차와 외래 키 무결성도 확인해야 해요. 처음 만드는 비용보다 잘못된 결정을 되돌리는 비용이 훨씬 커질 수 있는 이유예요. 2

설계 근거가 대화 기록에만 남으면 인수인계가 끊겨요

코드의 이유를 묻는 리뷰어에게 긴 AI 대화 링크만 보내면 필요한 결정을 빠르게 찾기 어려워요. 모델이 여러 안을 제시하고 번복한 기록에는 최종 선택의 근거가 선명하게 남지 않을 수 있어요. 구현한 개발자도 데이터가 어디서 오는지 설명하지 못한다면 팀은 장애가 생길 때 같은 도구에 다시 질문하는 수밖에 없어요.

설계 근거는 짧고 독립적인 기록으로 남기는 편이 안전해요. 어떤 문제를 풀었는지, 다른 선택지를 왜 버렸는지, 운영 중 무엇을 측정할지 적으면 돼요. AI 대화 전체를 보관하더라도 ADR, PR 설명, 데이터 흐름 문서처럼 사람이 바로 검토할 수 있는 기록이 따로 필요해요.

팀이 바로 적용할 수 있는 기준

  • 한 PR에서 다루는 설계 결정을 줄이고, 리뷰어가 이해할 수 있는 크기로 나눠요.
  • 새 데이터베이스 구조에는 마이그레이션과 롤백 계획을 함께 적어요.
  • Kafka나 새 서비스처럼 운영 부담이 큰 구성요소는 도입 이유와 대안을 문서로 남겨요.
  • 코드 작성자는 주요 데이터의 출처와 흐름을 직접 설명할 수 있어야 해요.
  • 이해하지 못한 변경은 모델의 확신과 상관없이 합치지 않아요.
  • 생성량보다 리뷰 대기 시간, 롤백 횟수, 장애 복구 시간을 함께 측정해요.
이 기준은 AI 사용을 줄이자는 주장이 아니에요. 생성 도구가 절약한 시간을 설계 검토와 테스트, 문서화에 다시 쓰자는 제안에 가까워요. 숙련된 엔지니어가 작업 경계를 정하고 결과를 검증하면 반복 구현을 빠르게 처리하면서도 복잡성의 증가를 통제할 수 있어요.

왜 중요한가요

AI 코딩 도구의 생산성을 커밋 수나 생성된 줄 수로만 평가하면 팀의 실제 비용을 놓칠 수 있어요. 리뷰 대기열이 길어지고 장애 원인을 설명할 사람이 줄면 빠른 구현이 제품 출시 속도로 이어지지 않아요. 개발팀은 생성량과 함께 변경 실패율, 복구 시간, 검토할 수 있는 PR 크기를 봐야 해요. 2

인력 문제도 단순한 대체 여부로만 보기 어려워요. 구현 업무가 줄면 주니어와 중급 엔지니어가 설계 판단을 배우는 경로도 좁아질 수 있어요. 팀은 결과 검증을 선임에게 몰아주는 대신 작은 변경의 설계와 리뷰를 함께 경험하도록 역할을 짜야 해요. 그래야 다음 세대의 리뷰어와 시스템 담당자가 자랄 수 있어요.

원문의 고용 양극화 전망은 한 개발자의 관찰과 의견이에요. 모든 회사와 직무에 그대로 적용할 근거는 아직 부족해요. 다만 코드 생성과 코드 이해의 속도 차이는 지금도 팀 단위로 측정할 수 있어요. AI 도입 효과를 확인하려면 얼마나 많이 만들었는지보다 얼마나 안전하게 검토하고 되돌릴 수 있는지부터 보는 편이 나아요.

참고 자료

  1. AI가 소프트웨어 엔지니어링의 중산층을 없애고 있음 — GeekNews
  2. AI is removing the middle class of software engineering — Florian Herrengt
728x90