Uncle Bob의 AI 코딩 실험: 줄단위 리뷰는 줄여도 아키텍처는 사람이 맡아야
들어가며
AI 에이전트는 ‘누가 코드를 작성하는가’를 바꾸고 있다. 그러나 ‘누가 시스템 설계에 책임을 지는가’라는 문제는 아직 해결되지 않았다. 최근 한 팟캐스트에서 소프트웨어 공학의 베테랑인 Uncle Bob Martin은 AI 에이전트가 기능 구현과 검증 도구 실행을 담당하고, 사람은 줄 단위 코드 리뷰에서 점차 벗어나 자동화된 품질 제약을 관리하는 실험을 소개했다. 이 접근법은 Grady Booch 등과 논쟁을 일으켰으며, 코드 생성에서 장기 유지보수 가능한 개발로 넘어가는 과정의 어려움을 보여준다.
수작업 검토에서 품질 게이트로
Uncle Bob의 핵심 판단은 긴 프롬프트만으로는 모델을 안정적으로 통제하기 어렵다는 것이다. 긴 컨텍스트의 중간에 배치된 규칙은 정보가 쌓일수록 약화되거나 무시될 수 있다. 반면 자동화 도구는 같은 기준을 더 일관되고 결정적인 방식으로 적용한다. 그가 제시한 흐름에는 다음과 같은 검사가 포함된다.
- 단위 테스트, Gherkin 인수 테스트, QA 절차를 통한 기능 검증
- 순환 복잡도, 모듈 크기, 의존성 분석을 통한 구조적 위험 관리
- 테스트가 실제 논리 결함을 잡아내는지 확인하는 커버리지와 변이 테스트
- 다음 반복 개발에 들어가기 전 생성 코드를 정리하고 보강하는 단계
변이 테스트는 소스 코드의 연산자나 논리를 의도적으로 바꾼 뒤 테스트를 실행한다. 변경된 코드도 테스트를 통과한다면 테스트 스위트에 중요한 사각지대가 있다는 뜻이다. 다만 이런 지표가 확인하는 것은 주로 현재 요구사항과 테스트를 만족하는지 여부다. 요구사항 자체의 누락, 보안, 성능, 장기적인 변경 용이성까지 완전히 입증하지는 못한다.
멀티 에이전트는 유용하지만 만능은 아니다
이 구상에서는 요구사항 분석, 구현, 코드 정리, 보강, QA를 서로 다른 에이전트가 이어서 수행한다. 각 에이전트의 작업 범위를 좁게 설정하고 작업이 끝나면 컨텍스트를 폐기하면 지시가 섞이거나 한 대화에서 형성된 잘못된 흐름이 계속되는 문제를 줄일 수 있다. 여러 작업을 병렬로 진행할 수 있다는 점도 장점이다. 반면 에이전트의 시작, 결과 전달, 컨텍스트 재구성에는 추가 비용이 발생한다.
이 방식이 작동하려면 성숙한 테스트 기반과 강한 개발 규율이 필요하다. 커버리지가 낮고 의존성이 뒤엉킨 프로젝트에서 에이전트만 늘리면 코드가 더 빨리 쌓일 뿐, 품질이 자동으로 보장되지는 않는다. 제약의 양에도 균형이 필요하다. 제약이 부족하면 결함이 누적되고, 지나치게 많으면 반복 개발 속도가 사람보다 느려질 수 있다.
아키텍처는 여전히 약점
Uncle Bob은 AI가 아키텍처, 모듈 경계, 의존성 구조에서 문제가 많은 제안을 내놓는 경우가 많다고 인정한다. 그래서 전체 시스템을 한 번에 설계하는 무거운 사전 계획보다 작은 반복을 선호한다. 먼저 제한된 요구사항을 구현한 뒤 사람이 구조를 검토하고 리팩터링하고, 다음 작업으로 넘어가는 방식이다.
여기가 논쟁의 핵심이다. Booch는 커버리지와 복잡도만으로는 경험, 업무 맥락, 보안과 성능 문제를 알아보는 능력을 대신할 수 없다며 에이전트가 만든 코드를 모두 검토해야 한다고 본다. 이는 단순히 ‘신뢰하느냐, 불신하느냐’의 문제가 아니다. 어떤 품질 판단을 실행 가능한 규칙으로 바꾸고, 어떤 판단을 사람에게 남길 것인지에 관한 책임 배분의 문제다.
개발자에게 주는 시사점
AI 시대에는 코드 읽기가 유일한 품질 활동이 아닐 수 있다. 하지만 테스트 설계, 아키텍처 판단, 디버깅, 위험 평가의 중요성은 오히려 커진다. 초보 개발자는 프롬프트 작성에만 의존하지 말고 직접 코드를 작성하고 오류를 추적하며, 오래된 소프트웨어 공학 원칙을 공부해야 자동화 결과를 비판적으로 평가할 수 있다.
Uncle Bob의 실험은 ‘코드를 전혀 읽지 않는 방식’이 일반적으로 안전하다는 것을 증명한 것은 아니다. 그럼에도 반복적인 구현은 AI에, 결정적인 검사는 기계에 맡기고, 사람은 요구사항과 설계, 지표로 완전히 표현하기 어려운 위험에 집중하자는 제안은 의미가 있다. 성숙한 AI 개발은 리뷰를 없애는 것이 아니라, 리뷰가 어디에서 누구에 의해 어떤 방식으로 이뤄져야 하는지를 다시 설계하는 일에 가까울 것이다.
댓글
로그인 상태 확인 중…
댓글 불러오는 중…