
‘감(Vibe)’으로 코딩하는 것은 싸지만, 엔지니어링은 여전히 비싸다
요약
AI 지원 코딩은 개발 속도를 높일 수 있지만, 코드의 개념적 이해도와 시스템 설계 능력에는 부정적인 영향을 미칠 수 있습니다. 단순히 작동하는 결과물을 내는 것과 깊이 있는 엔지니어링 지식은 별개이며, AI를 '협업자'로 활용하여 질문하고 탐구하는 방식이 학습에 더 효과적입니다.
핵심 포인트
- AI 코딩 의존도는 이해도 점수를 낮출 수 있다.
- 단순한 코드 생성보다 시스템의 복잡성을 예측하는 것이 중요하다.
- AI는 가르칠 수 있지만, 생각하는 능력은 대체할 수 없다.
- AI를 마법사처럼 쓰기보다 협업자처럼 활용해야 한다.
코드를 작성하는 것이 더 저렴하고 빨라지고 있다. 하지만 엔지니어링은 여전히 비용이 많이 든다.
이것은 과장이 아니다. 현실이다. 그리고 측정 가능하다.
Anthropic의 최근 연구는 AI 지원 코딩이 새로운 프로그래밍 기술 학습에 어떻게 영향을 미치는지 살펴보았다. Python 라이브러리에 익숙하지 않은 개발자들을 두 그룹으로 나누었다. 한 그룹은 AI 어시스턴트를 사용했고, 다른 그룹은 문서와 웹 검색에 의존했다. 과제를 완료한 후, 참가자들은 라이브러리의 개념 이해도에 대한 테스트를 받았다. 그 결과는 명확했다. AI 그룹이 전체적으로 과제를 더 빨리 끝마치지는 못했지만, 이해도 점수는 약 17% 낮게 나왔다.
잠시 생각해 보자. 완벽하게 작동하는 코드를 가질 수는 있지만, 그것이 왜 작동하는지 실제로 이해하지 못할 수도 있다. AI에 의존했던 일부 개발자들은 더 빨리 끝냈지만, 코드에 대해 추론해야 할 때 가장 어려움을 겪었다. 결과물을 내놓는 것이 기술을 쌓는 것과 같지는 않다. 이해 없이 속도만으로는 함정이다.
이 연구는 또한 AI와 상호작용하는 방식이 중요하다는 것을 보여주었다. 모든 것을 AI에 의존했던 개발자들이 가장 적게 배웠다. 반면, 목표 지향적인 질문을 하거나, 코드가 왜 작동했는지 탐구하거나, 코드 조각(snippet)을 생성한 후 그것들을 파고든 개발자들은 훨씬 더 많은 학습 내용을 유지했다[^1]. 교훈은 간단하다. AI는 가르칠 수 있지만, 생각하는 것을 대체할 수는 없다. 마법사처럼 대하지 말고, 협업자처럼 다루어야 한다.
이것은 내가 실제 소프트웨어 작업에서 보는 것과 일치한다. 프롬프트를 '감'으로 잘 쓰는 사람이라면 몇 분 만에 기능을 작동시킬 수 있다. 하지만 시스템을 아는 사람은 복잡성이 커질 때 더 빠르게 움직인다. 단순히 타이핑을 빨리해서가 아니라, 무엇이 고장 날지, 무엇이 제대로 확장되지 못할지, 그리고 나중에 어떤 골칫거리를 유발할지 예측하기 때문이다. 그것이 판단력이다. 그것이 엔지니어링이다. 이것은 AI가 완전히 아웃소싱할 수 없는 영역이다.
코드는 산출물(artifact)이다. 시스템은 살아있는 유기체와 같다. 이들은 상태를 축적하고, 예측 불가능한 방식으로 실패하며, 예상과 다르게 확장되고, 시간이 지남에 따라 진화한다. 엔지니어링이 비싼 이유는 지속되는 것과 중요한 것에 맞춰서 작동하기 때문이다. 코드를 빠르게 생산하는 것은 그림의 일부일 뿐이다. 이해하고, 예상하며, 내구성을 위해 설계하는 곳에 진짜 가치와 진짜 비용이 존재한다.
'Vibe coding'(감으로 코딩)은 작거나 좁은 범위의 문제, 또는 일회용 프로토타입에는 매우 잘 작동한다. 하지만 시스템이 커지는 순간, 복잡성은 눈앞에 숨어 있다. AI가 생성한 코드는 표면적으로는 깨끗해 보일 수 있지만, 의도는 암묵적이다. 결정들은 설명 없이 내재화되어 있다. 그런 코드를 디버깅하거나, 확장하거나, 리팩토링하는 것은 당신이 원하지 않았던 보물찾기가 된다. 갑자기 그 저렴하고 빠른 코드는 전혀 싸게 느껴지지 않는다.
이것이 엔지니어들이 프롬프트 전문가들을 계속 앞서나가는 이유이다. 그들은 반드시 더 많은 코드를 쓰거나, 더 영리한 코드를 쓰는 것은 아니다. 그들은 미래의 비용을 줄인다. 그들은 어떤 정밀도가 중요한지, 어디에 구조를 추가해야 하는지, 그리고 어디에 유연성을 남겨두어야 하는지 알고 있다. 시스템을 이해하기 때문에 자신 있게 삭제하거나 다시 쓸 수 있다. AI는 그들의 작업을 가속화하지만, 결코 그들의 판단력을 대체하지 못한다.
더 큰 그림은 이것이다. 새롭게 나타나는 격차는 AI 대 인간이거나, 코더 대 비(非)코더가 아니다. 그것은 시스템에 대해 추론할 수 있는 사람과 단순히 출력을 생성하는 사람 사이의 간극이다. 코드는 풍부해지고 있다. 판단력은 희소하다. AI는 소프트웨어 작성을 쉽게 만든다. 엔지니어링이 그 소프트웨어가 현실에서 살아남을지 결정한다.
여기 항상 나를 미소 짓게 하는 작은 진실이 있다. 생각 없는 빠른 코드는 브레이크가 없는 스케이트보드와 같다. 처음에는 재미있을 수 있지만, 모퉁이를 돌려고 하면 도랑에 빠진 자신을 발견하게 될 것이다. AI는 너에게 스케이트보드를 줄 수 있다. 엔지니어링은 네게 어떻게 조향하는지 가르쳐준다.
각주 및 출처
Anthropic. How AI Assistance Impacts the Learning of Programming Skills. AI 지원 코딩과 개념 유지에 대한 통제된 연구
디코더(Decoder): Anthropic의 연구 결과, '왜?'라고 질문해야 AI 코딩 도구가 학습에 도움이 된다
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기