AI 코딩 도구에 “Kent Beck처럼 코딩해줘”라고 요청하면 정말 코드 품질이 올라갈까요? 누군가 Kent Beck 본인에게 이 소문을 전했고, 그는 직접 실험에 나섰습니다.

XP(익스트림 프로그래밍)와 TDD(테스트 주도 개발)를 만든 Kent Beck이 자신의 Substack에 흥미로운 실험 결과를 공유했습니다. AI에게 “자기처럼” 코딩하라고 시켰을 때 무슨 일이 벌어지는지 체계적으로 테스트한 겁니다.
출처: Taming the Genie: “Like Kent Beck” – Kent Beck Substack
Rope 자료구조로 4가지 조건 비교
Kent Beck은 실험 대상으로 Rope 자료구조를 선택했습니다. 긴 문자열 중간의 문자를 삭제할 때, 단순하게 구현하면 O(n) 시간이 걸리지만 Composite 패턴으로 나누면 상수 시간에 처리할 수 있죠. 설계 결정이 필요한 적당한 난이도의 과제였습니다.
그는 AI에게 네 가지 방식으로 같은 과제를 주었습니다:
- Control: 일반 프롬프트
- Kent Beck: “Kent Beck처럼 코딩해줘”만 추가
- Composite: “Composite 패턴 사용, 작은 클래스로 분리” 등 구조적 제약만 추가
- Combined: 페르소나 + 제약 모두 추가
페르소나는 스타일, 제약은 구조를 바꾼다
결과는 명확했습니다. “Kent Beck처럼”이라는 페르소나 프롬프트는 미시적 행동을 개선했어요. 변수명이 좋아졌고, 무엇보다 테스팅 전략이 달라졌습니다. 큰 스크립트 대신 모듈화된 유닛 테스트로 바뀐 거죠. TDD 스타일이 반영된 겁니다.
하지만 놀랍게도 아키텍처는 바뀌지 않았습니다. AI는 여전히 표준 이진 트리로 Rope를 구현했어요. Kent Beck이 실제로 사용하는 Composite 패턴은 무시했죠.
반대로 “Composite 패턴 사용”이라는 구조적 제약을 주자 클래스 계층이 달라졌습니다. Substring과 Concatenation으로 나뉜 더 세분화된 설계가 나온 겁니다. 심지어 Kent Beck이 직접 코딩할 때 만드는 EmptyString 같은 Null Object 패턴 대신, Substring(0..size)로 처리하는 더 간단한 방법을 찾아냈어요.
Combined 그룹은 둘의 장점을 모두 가져갔습니다. 올바른 아키텍처(Composite)에 올바른 개발 습관(TDD/유닛 테스트)까지.
“쓴 교훈”을 마주하다
Kent Beck은 실험 과정에서 자신이 삽질하고 있었음을 깨달았습니다. 그는 AI가 당장 기능만 추가하지 말고 코드 구조도 개선하면서 개발하길 원했어요. 그래서 프롬프트를 아주 세밀하게 조정하고, 스텝 크기를 조절하는 등 온갖 방법을 시도했죠.
한 마디로 “Kent Beck이 좋은 코드를 쓰는 방법”을 AI에게 가르치려 했던 겁니다. 마치 요리책에 레시피를 하나하나 적듯이요.
그러다가 Rich Sutton의 “The Bitter Lesson“을 읽고 반성합니다. 70년 AI 연구 역사를 보면 전문가의 지식을 규칙으로 만들어 넣는 것보다, 그냥 더 많은 데이터와 컴퓨팅으로 학습시키는 게 항상 이겼다는 거예요.
체스 AI를 예로 들면, 인간 체스 마스터의 전략을 하나하나 프로그래밍하는 것보다 수백만 판의 기보를 학습시키는 게 더 강한 AI를 만들었죠. Kent Beck도 “내 코딩 스타일을 규칙화하려 했지만, 이게 모두가 실패한 그 접근법이었구나”라고 인정한 겁니다.
대신 그는 새로운 방법을 제안해요. “Design Contest”입니다:
- 큰 저장소를 가져옵니다
- 수많은 AI가 다음 기능을 구현하되, 각자 리팩토링을 얼마나, 어떻게 할지 스스로 선택합니다
- 가장 낮은 비용(시간, 토큰, 전기료 등)으로 성공한 AI를 선택합니다
- 수많은 AI, 수많은 기능, 수많은 저장소에서 이걸 반복합니다
겉보기엔 코딩을 “낭비”하는 것 같지만, 실제로는 효과적인 개발 스타일을 찾는 계산적 접근이라는 겁니다.
AI 코딩 도구를 어떻게 써야 할까
이 실험은 AI 코딩 도구 사용자에게 실용적인 교훈을 줍니다. “~처럼 코딩해줘”는 효과가 있지만, 그것만으로는 부족해요. 페르소나는 코딩 습관을, 명시적 제약은 구조적 결정을 유도합니다. 원하는 결과를 얻으려면 둘 다 써야 하는 거죠.
더 중요한 건 Kent Beck 같은 거장도 아직 “말없는 마차” 단계에 있다는 인식입니다. 지금 우리는 새 기술을 기존 틀로 이해하는 단계죠. 진짜 가능성을 보려면 더 오래 써봐야 하고, 2차 효과를 체감해야 합니다.
그러니 지금은 일단 많이 써보는 게 답인 것 같습니다. Kent Beck처럼요.

답글 남기기