IT

GPT-4의 등장과 개발 방법론의 변화 예측

紫紅 2023. 4. 4. 13:08
반응형

개발 방법이란

개발팀은 비즈니스 요구사항을 만족시키기 위해 개발이란 걸 한다. 개발의 최종 도착점은 같지만 다른 길을 선택할 수 있는데, 이를 개발 방법론 혹은 개발 방법 모델이라 부르고, 대표적으로 워터폴, 나선형, 프로토타입, 애자일 등이 있다.
최근 GPT-3.5와 GPT-4를 사용하면서 느낀 차이를 통해 중장기적인 개발 방법론에도 크고 작은 변화가 생길 것이란 걸 직감하게 되었고, 이를 기록해두려 한다.

 

GPT-3.5 vs GPT-4

 나는 아래 규칙을 GPT들에게 물어봤고, GPT-4는 정확하게 유추해냈다. 이를 보며, GPT-4는 많은 개발자의 "코딩능력"을 대체하기 충분한 역량을 갖췄다고 느꼈다.

 나는 카탈란 수열을 "카탈란 수열"이라고 알려주지 않고, 그저 숫자만 나열해서 물어본 것이었는데, GPT-4는 "카탈란 수열"이라는 것을 알아챘다.

카탈란 수열에 대한 GPT-3.5의 대답

GPT-3.5는 다소 바보같다. 5번째 숫자부터는 입력자의 오타로 인식했다.

카탈란 수열에 대한 GPT-4의 대답

0은 알려주지도 않았는데, 0이 몇인지까지 정확하게 유추해냈다.

어떻게 바뀔 것인가

개발의 중심점이 아키택처/테스트 케이스 설계로 이동할 것

 지금도 많은 기업에서 TDD를 적용하지만, 그렇지 않은 경우도 많다. 0 to 1 상황(버릴지도 모르는 무언가를 빠르게 구축해야 하는 상황)에서는 테스트 코드를 비용으로 보기 때문이다. 그래서 0 to 1상황이라면 프로토타이핑 모델을 개발 방법으로 선택한다.

 하지만 개발자와 기업이 GPT-4에 익숙해지고, 성숙해진다면 더 이상 TDD는 선택이 아닌 필수가 될 것이란 얘기이다. 즉, 개발을 한다는 건 "무언가를 동작하게끔 코드를 작성하는 것"이 아니라, "입력 범위와 출력 범위를 설계하고 확인/연동하는 것"으로 의미가 바뀔 것이란 말이다. "입력 범위와 출력 범위를 설계하는 것"이 프롬프트 엔지니어링의 핵심이긴 하다.

개발 방법에 변화가 생길 수 밖에 없는 이유

1. 개발팀의 높은 유지비

 가장 큰 이유는 개발자의 몸값이 올라서라고 생각한다. 미국은 개발자의 높은 연봉 때문에, 개발자를 가장 효율적으로 사용하는 방법에 대해 많은 에너지를 투자할 수 밖에 없었고, 그 결과로 principal engineer라는 직군이 늘어나고 워터폴로 개발되는 경우가 많아졌다고 한다.

 구글 트랜드 상에서도 미국 내 principal engineer라는 키워드의 관심도가 우상향하는 것을 확인할 수 있었고, 개발자 몸값이 치솟았던 기간인 2021년 ~ 현재 기간에 급상승했다.

 만약 개발자를 사용하는 비용보다, GPT-4를 이용하는 비용이 비싸다면 내가 예측한 변화는 일어나지 않을 것이다. 하지만 개발팀 유지비용이 훨씬 높은 게 사실이고, 그 와중에 principal engineer만 있다면 일반 개발자(소위 코더)들 상당수가 불필요해진다. principal engineer가 설계(결국 이게 prompt 입력 값인 셈)해둔대로 GPT-4가 코드를 아주 빠르게 작성해줄 것이기 때문이다.

 

2. 높은 퀄리티의 코드를 매우 빠르게 작성해준다

 두번째 이유도 꽤 큰 비중을 차지한다. GPT-4가 작성한 코드 퀄리티는 상당히 높고 개발속도는 비교가 불가할 정도로 빠르기 때문이다. 사실 개발 결과란 게 사용자 관점에서 문제 없이 동작만 하면 되는 경우가 많다. 즉, if, else, for 문 정도만 알고 개발해도 언뜻 보기엔 문제가 없는 경우가 많다는 것이다.

 낮은 코드 퀄리티는 인수인계나 개발팀 확장 등의 상황에서 큰 부채로 이어진다. 즉, 기존 인원을 대체하기 어려워지므로 기업 입장에선 리스크가 된다. 기존 인원이 계속 남아주거나, 개발자 추가 채용 계획이 없다면 갚을 필요가 없는 부채이지만, 개발팀 확장이나 인수인계가 필요한 상황에선 결국 어떤 형태(1. 채용 인원의 생산성 문제, 2. 기존 인원이 없으면 개발 진행이 안 되거나 지연되는 문제, 3. 일정 산정의 정확성이 떨어지는 문제 등)로든 갚게 될 것이다.

 

 이러한 기술 부채를 갚을 시점이 되면, 결국 테스트 케이스와 테스트 코드를 도입하지 않을 수 없다. 예상한대로 동작하는지 확인해야 사이드이펙트를 최소화할 수 있기 때문이다.

 

 근데 AI가 애초부터 높은 퀄리티의 코드를 보장해주고 아주 빠른 속도로 코드를 작성해주기 때문에, 베이스 코드 작성은 GPT-4와 같은 AI에게 위임하는 게 현명하다.

 

그래도 여전히 개발자가 해야할 일이 있다

1. GPT-4가 작성해준 코드가 정상동작하는지 검증

2. GPT-4가 작성해준 코드를 적절하게 수정 

3. 코드를 적절한 곳에 응용

4. 배포와 운영(보통은 DevOps의 영역. 개발팀 규모가 작은 경우, 함께 하겠지만)

 

그렇기 때문에 개발이란 행위와 개발자가 사라지지는 않을 것이다. 개발이란 행위의 구체적인 의미가 바뀔 뿐.


번외: Prompt Engineering에 대한 생각

 요즘 심심찮게 들려오는 프롬프트 엔지니어링. 누군가는 Prompt engineer라는 직업이 새롭게 나올 것이라 전망하고, 누군가는 Prompt engineering이 하나의 소양이 될 것이라 전망한다.

 나는 둘 다 맞을 것 같다. 아래 사례들을 통해서 생각해보면 충분히 가능성 있다.

1. 예전엔 운전이란 기술이 전문적인 기술이었다. 요즘은 소양처럼 되었지만, 여전히 운전을 업으로 하는 사람은 많다.

2. 요즘 시대에 투자 능력은 하나의 소양처럼 여겨진다. 근로소득으로 한계가 있고, 적절한 투자로 조금 더 윤택한 삶을 얻을 수 있기 때문이다. 이것이 하나의 소양이 되었다고 해서, 펀드 매니저 같은 전문 투자 직종이 사라지지는 않는다.

3. 컴퓨터를 다루는 기술은 운전처럼 전문적인 기술이었다. 지금은 모든 직업군에서 활용되고 있지만, 컴퓨터를 전문적으로 다루는 분야엔 수 없이 많은 직업이 생겨났고, 여전히 생겨나고 있다.

 

Prompt engineering도 다르지 않다고 본다. Prompt engineer라는 직업은 이미 나오기도 했고, 금새 사라지지 않을 직업으로 추측한다. Prompt engineering 자체도 다양하고 수준높은 전문성(영어 능력, 구조적인 사고능력, 통찰력, 분야에 대한 전문성)을 요구한다고 보기 때문이다. 직업이 아니라면 소양으로, 직업이라면 하나의 핵심 역량으로 발전할 가능성이 충분하다고 본다.

 

반응형