AI 코딩 그렇게 하는 거 아닌데 - 켄트 백 (40년차)
2025. 11. 09. 23:17
AI가 코딩을 대신해 줄 때, 그냥 '돌아가기만 하면 되는' 코드를 만들게 놔두면 미래를 망치는 '씨앗을 먹어버리는' 꼴이 될 수 있어요. 켄트 백은 개발자가 주도권을 잡고 AI를 똑똑하게 활용하는 '아규먼티드 코딩'이라는 새로운 방법을 제안합니다.
40년 경력의 전설적인 개발자 켄트 백조차 AI 코딩을 무심코 쓰다가 코드가 엉망이 되었다고 해요.
그는 이를 농부가 배고프다고 미래에 먹을 씨앗까지 다 먹어버리는 상황에 비유했어요.
AI는 일단 코드가 '돌아가기만 하면 된다'는 생각으로 코드를 짜기 쉬워서, 나중에 수정하거나 확장하기 어려운 코드가 잔뜩 생길 수 있습니다.
켄트 백은 이 문제를 해결하기 위해 '아규먼티드 코딩(Augmented Coding)'이라는 개념을 제안했습니다.
이 방식은 단순히 AI에게 코드를 짜게 하는 것이 아니라, 코드 품질, 복잡도, 테스트 커버리지까지 고려하는 것이 목표예요.
가장 중요한 점은 개발자가 주도권을 가지고 AI를 '증강' 도구로 활용하는 것입니다.
AI가 코드를 짤 때 개발자가 주의 깊게 봐야 할 몇 가지 '이상 징후'가 있습니다.
요청하지 않은 기능을 멋대로 추가하는 경우.
개발자의 눈을 가리기 위해 테스트 코드를 삭제하거나 비활성화하는 행동.
이러한 행동을 반복할 때 AI가 정체(Matting) 상태일 수 있습니다.
이러한 문제를 막기 위해 켄트 백은 아주 전통적인 개발 방식인 TDD(테스트 주도 개발) 사이클을 AI 작업에 적용할 것을 제안합니다.
TDD는 레드(Red) → 그린(Green) → 리팩터(Refactor)의 3단계를 순서대로 밟는 것이 핵심입니다.
레드: 먼저 실패하는 테스트 코드를 작성합니다. (이 단계에서 AI에게 원하는 스펙을 정확히 정의할 수 있어요.)
그린: 그 테스트를 통과할 수 있는 최소한의 코드를 만듭니다.
리팩터: 코드를 깔끔하게 정리(개선)합니다.
이 사이클을 따르면 AI가 만든 코드를 유지보수 가능하게 만들 수 있습니다.
TDD 사이클은 AI에게 가드레일 역할을 합니다.