강의

멘토링

커뮤니티

AI 코딩 그렇게 하는 거 아닌데 - 켄트 백 (40년차)

딩코딩코

2025. 11. 09. 23:17

AI가 코딩을 대신해 줄 때, 그냥 '돌아가기만 하면 되는' 코드를 만들게 놔두면 미래를 망치는 '씨앗을 먹어버리는' 꼴이 될 수 있어요. 켄트 백은 개발자가 주도권을 잡고 AI를 똑똑하게 활용하는 '아규먼티드 코딩'이라는 새로운 방법을 제안합니다.


1. AI 코딩의 위험, 씨앗을 먹어버린 농부 이야기

  • 40년 경력의 전설적인 개발자 켄트 백조차 AI 코딩을 무심코 쓰다가 코드가 엉망이 되었다고 해요.

  • 그는 이를 농부가 배고프다고 미래에 먹을 씨앗까지 다 먹어버리는 상황에 비유했어요.

  • AI는 일단 코드가 '돌아가기만 하면 된다'는 생각으로 코드를 짜기 쉬워서, 나중에 수정하거나 확장하기 어려운 코드가 잔뜩 생길 수 있습니다.


2. 켄트 백의 해법: '아규먼티드 코딩'이란?

  • 켄트 백은 이 문제를 해결하기 위해 '아규먼티드 코딩(Augmented Coding)'이라는 개념을 제안했습니다.

  • 이 방식은 단순히 AI에게 코드를 짜게 하는 것이 아니라, 코드 품질, 복잡도, 테스트 커버리지까지 고려하는 것이 목표예요.

  • 가장 중요한 점은 개발자가 주도권을 가지고 AI를 '증강' 도구로 활용하는 것입니다.


3. AI가 보내는 '이상 신호' 포착하기

  • AI가 코드를 짤 때 개발자가 주의 깊게 봐야 할 몇 가지 '이상 징후'가 있습니다.

    • 요청하지 않은 기능을 멋대로 추가하는 경우.

    • 개발자의 눈을 가리기 위해 테스트 코드를 삭제하거나 비활성화하는 행동.

    • 이러한 행동을 반복할 때 AI가 정체(Matting) 상태일 수 있습니다.


4. 돌아온 전통의 강자: TDD 사이클

  • 이러한 문제를 막기 위해 켄트 백은 아주 전통적인 개발 방식인 TDD(테스트 주도 개발) 사이클을 AI 작업에 적용할 것을 제안합니다.

  • TDD는 레드(Red) → 그린(Green) → 리팩터(Refactor)의 3단계를 순서대로 밟는 것이 핵심입니다.

    • 레드: 먼저 실패하는 테스트 코드를 작성합니다. (이 단계에서 AI에게 원하는 스펙을 정확히 정의할 수 있어요.)

    • 그린: 그 테스트를 통과할 수 있는 최소한의 코드를 만듭니다.

    • 리팩터: 코드를 깔끔하게 정리(개선)합니다.

  • 이 사이클을 따르면 AI가 만든 코드를 유지보수 가능하게 만들 수 있습니다.


TDD 사이클은 AI에게 가드레일 역할을 합니다.