음악으로 풀어보는 AI 시대 개발의 흐름

Kent Beck의 '증강 코딩'

by TaeZ

이번 글은

Kent Beck의 Augmented Coding: Beyond the Vibes 에서 받은 영감을

AI와의 대화를 통해 하나씩 구체화해간 결과물입니다.



Kent Beck이 말한 Augmented Coding - 증강 코딩이란,

코드 자체 보다 결과에 집중하는 바이브 코딩(Vive Coding)과는 달리,

전체적인 설계와 구조, 테스트 흐름 등을 중시 하면서도

실제 코드 작성은 AI 도구를 적극 활용하는 방식입니다.


단순한 자동화나 보조 도구의 개념을 넘어서,

개발자의 집요한 시선과 구조적 감각을 AI와 함께 '확장'해가는 프로그래밍.

이것이 제가 이해한 증강 코딩의 핵심입니다.


한때 작곡가의 꿈을 꿨던 저에게

'Augmented'라는 단어는 가장 먼저 Augmented Chord(증화음)를 떠올리게 합니다.

(최근엔 RAG로 바뀌긴 했지만요..)


개발과 작곡은 얼핏 멀어 보이지만,

둘 다 구조를 설계하고, 그 안에 창작자의 의도를 담아낸다는 점에서

놀라울 만큼 닮아 있습니다.


기술이 자동화될수록,

'무엇을 만들고 왜 그렇게 만드는가'라는 질문은 더욱 중요해집니다.


이 글은 AI 시대의 개발자가 감각을 회복해가는 여정을

음악이라는 장르로 편곡해 본 시도입니다.




개발의 변화, 음악으로 풀어보다

개발 환경은 지금 전례 없는 변화의 시기를 맞고 있다.

LLM과 AI 기반 도구들은 개발자의 작업 방식과 사고방식을 근본적으로 바꾸고 있다.


이 글에서는 그 전환의 흐름을 음악에 비유해 살펴본다.


클래식 작곡가처럼 모든 코드를 직접 써 내려가던 시기,

유튜브 알고리즘이 제안한 플레이리스트를 고르듯 생성된 코드를 소비하는 바이브 코딩,

그리고 다시 프로듀서로서 주도권을 회복하는 증강 코딩까지.


우리는 지금 어디에 서 있고, 어떤 방향을 선택해야 할까?

이 글은 그 리듬의 전환을 따라가며,

개발자로서의 자리를 다시 점검한다.



클래식 작곡가의 시대: 모든 코드를 손으로 써 내려가던 때


이전의 개발자들은 마치 클래식 작곡가 같았다.

음표 하나하나를 정교하게 구성하듯, 기능과 흐름을 직접 설계하고 배치했다.

때로는 주제를 반복하며 구조를 다듬고,

안정적인 완성도를 위해 즉흥성을 경계하면서도 전체 흐름의 미감을 유지했다.


각 코드에는 작성자의 의도가 깃들어 있었고,

한 줄 한 줄은 전체 구조 속에서 명확한 역할을 수행했다.

코드의 흐름은 균형감 있게 설계되었고,

TDD에서의 테스트는 앞으로 전개될 소프트웨어의 방향을 예고하는 신호였다.


이 과정은 느리고 고되었지만,

그 안에는 확실한 통제력과 논리적 구성이 존재했다.

왜 이 함수가 여기 있어야 하는지, 왜 이 테스트가 이렇게 작성됐는지.

모든 코드가 명확한 맥락 안에 자리했다.


하지만 속도와 실험을 요구하는 시대적 흐름 속에서

이런 방식은 점차 부담으로 다가왔다.

모든 음을 직접 연주해야 한다면,

즉흥성은 제한되고, 반복되는 작업은 고통이 된다.



플레이리스트 선택의 시대: 생성된 코드를 감상하다


LLM과 AI 도구의 등장은, 개발 환경을 유튜브 알고리즘처럼 바꿔놓았다.


‘집중 잘 되는 음악’을 검색하고,

마음에 드는 썸네일을 클릭해 몇 초 들어본다.

마음에 들지 않으면, 곧바로 뒤로 가서 다른 리스트를 고른다.


겉보기엔 내가 선택하고 있는 것 같지만,

사실은 알고리즘이 제시한 결과에 반응하고 있을 뿐이다.

주도하는 듯 보이지만, 사실은 ‘자율성의 착각’일 수 있다.


바이브 코딩도 마찬가지다.

프롬프트 하나를 던지고,

작동하는 코드가 나오면 만족하며 다음 작업으로 넘어간다.


속도는 붙지만, 설계는 사라지고 맥락은 흐려진다.

어느 순간부터 나는 코드를 '작성'하는 생산자가 아니라

코드의 결과를 '감상'하는 소비자가 되었다.



프로듀서로 복귀하다: 흐름을 디렉팅 하는 사람


증강 코딩은 이 흐름을 뒤집는다.

개발자는 결국, '만드는 사람'이다.


모든 음을 직접 연주하지 않더라도,

어떤 곡을 만들 것인지,

어떤 구조와 리듬이 필요한지를 디렉팅하는 사람으로 복귀하는 것이다.


이것은 다시 ‘프로듀서’가 되는 일이다.

기술적으로 모든 것을 직접 하진 않지만,

방향을 설계하고 흐름을 조율하며,

흩어진 연주를 하나의 곡으로 엮는 사람.


AI는 능숙한 세션 연주자처럼

훌륭한 결과물을 제시할 수 있다.

재즈의 애드립처럼 순간적으로 화려한 연주를 펼치기도 한다.


하지만 그 즉흥성은 무작위여서는 안된다.

프로듀서가 설정한 테마, 템포, 화성 위에서만 의미있는 연주가 가능하다.


증강 코딩도 마찬가지다.

우리는 기능의 구조를 설계하고, 흐름을 정의하며,

그 위에서 AI에게 연주를 맡긴다.

우리가 원하는 건 완벽한 통제가 아니라,

의도된 리듬 속에서 가장 자연스러운 연주를 이끌어내는 것이다.


나는 곡 전체의 맥락과 전개를 설계하며,

AI라는 연주자가 빛날 수 있는 무대를 마련한다.

증강 코딩은 자동화가 아니라,

감각을 지닌 설계자가 디렉팅하는 창작의 조율이다.



흐름은 자동화되었지만, 설계는 인간의 몫이다


오늘날 AI는 코드를 놀라울 만큼 빠르고 정교하게 만들어낸다.

하지만 '왜 이 코드가 이런 구조여야 하는가?'라는 질문에는

여전히 명확한 답을 제시하지 못한다.


우리는 그 질문을 던지고, 구조와 이유를 설계하는 사람이다.


증강 코딩은 단순한 생산성 도구가 아니다.

개발자의 '의도'를 다시 코드에 불어넣는 방식이다.


우리가 흐름을 정의하고 리듬을 설계하면,

AI는 그것을 구현하는 실행자이자 증폭자가 된다.


그래서 우리는 다시 ‘왜’를 묻는 기술자가 되어야 한다.

단순히 '잘 생성하는 사람'을 넘어서,

무엇을, 왜 만들고자 하는지를 설명할 수 있는 사람이 되어야 한다.


그 자리가 바로, 우리가 다시 찾아가야 할 자리다.

keyword
작가의 이전글AI 시대 개발자는 매일 주사위를 굴린다