AI 코딩 시대, 성장이 멈추는 개발자의 뇌에서 일어나는 일
(evan-moon.github.io)TL;DR;
- AI를 잘 쓰는 핵심 역량은 출력물의 품질을 판단하고 교정하는 능력이며, 이 능력은 AI에 의존할수록 오히려 약화됨
- Bjork의 "바람직한 어려움" 이론에 따르면, 쉽게 처리한 정보는 장기 기억에 남지 않음
- Roediger & Karpicke(2006) 연구에서 인출 연습 그룹의 일주일 후 기억 보존율이 반복 읽기 그룹보다 약 50% 높았음
- AI가 코드를 대신 작성하면 본질적 인지 부하(germane load) 까지 제거되어 스키마 형성 기회 자체가 사라짐
- 숙련된 개발자일수록 신경 효율성으로 인해 AI 출력을 읽는 것만으로는 뇌에 걸리는 부하가 거의 없음
- AI 이전에도 성장이 멈추는 경로는 존재했지만, AI는 그 경로의 마찰을 극적으로 제거함
상세 요약
AI를 잘 쓰려면 코드를 알아야 하는 역설
- "이걸 만들어줘"라고 말할 수 있는 사람은 많지만, AI 결과물을 보고 "이 구조는 변경에 취약하다", "이 인터페이스는 두 가지 책임을
가지고 있다"고 구체적으로 교정할 수 있는 사람은 훨씬 적음 - 이 능력은 수많은 실패와 디버깅과 리팩토링 경험에서 형성된 직감에 가까움
- AI 사용법 학습과 코드 패턴 학습은 양자택일 관계가 아니라, 후자가 전자의 토대인 관계임
- "AI를 가장 잘 활용할 수 있는 개발자는 AI 없이도 코드를 판단할 수 있는 개발자"
뇌는 편하면 기억하지 않는다
- Bjork의 "바람직한 어려움": 학습 과정에 적절한 난이도와 저항이 존재할 때 단기 수행은 느려지지만 장기 기억 보존과 전이는 향상됨
- Roediger & Karpicke(2006): 반복 읽기 vs 인출 연습 실험
- 5분 후 테스트: 반복 읽기 그룹 성적이 더 높음
- 일주일 후 재테스트: 인출 연습 그룹의 기억 보존율이 약 50% 더 높음
- 능동적 인출 그룹은 해마–전두엽 피질 연결성이 강화되고 감각운동 네트워크 활성도 증가
- 수동 학습 상태의 뇌는 해마–방추상회 연결만 활성화 — "정보를 보고 있을 뿐 처리하지 않는 것"에 가까움
- 생성 효과 (Slamecka & Graf, 1978): "뜨거운-차___" 처럼 직접 완성한 그룹이 완성된 쌍을 읽은 그룹보다 기억 보존율이 유의미하게 높음
- 유창성의 착각: 정보를 쉽게 처리할 수 있다는 느낌이 잘 기억할 것이라는 착각으로 이어짐
코딩 실력은 절차 기억이다
- 코딩 실력의 상당 부분은 절차 기억 — 자전거 타기처럼 한번 체화되면 의식하지 않아도 자동 실행됨
- Anderson의 적응적 사고 통제(ACT) 모델: 절차 기억 형성 3단계
- 인지 단계: 모든 것을 의식적으로 한 단계씩 실행, 작업 기억 대부분 소모
- 연합 단계: 개별 절차들이 통합되어 하나의 흐름으로 실행 가능
- 자동화 단계: 작업 기억 거의 차지하지 않고 자동 실행 — 남은 여유를 설계 판단에 활용 가능
- 단계 전환은 반복적인 직접 수행을 통해서만 진행됨
- 청킹 (Chase & Simon 체스 연구): 전문가와 초보자의 차이는 작업 기억 슬롯 수가 아니라, 하나의 청크에 담을 수 있는 정보의 양
- 체스 고수는 말의 개별 위치가 아닌 "시실리안 디펜스의 전형적인 중반 배치" 같은 의미 있는 패턴을 하나의 청크로 인식
- 무작위 배치 실험에서 고수와 초보자 차이가 사라짐으로써 입증됨
AI는 이 과정을 방해한다
- AI에게 구현을 맡기면 본질적 인지 부하(germane load) 까지 AI가 대신 처리 — 스키마 구축 기회 자체가 사라짐
- 절차 기억 관점: 인지 단계에서 끙끙대는 시간이 줄어 연합 단계 전환이 지연되고 자동화 단계 도달이 어려워짐
- AI 출력 코드를 읽는 것은 생성 효과 실험의 "완성된 단어 쌍을 읽는 것"에 해당 — 이해한 것 같지만 깊이 각인되지 않음
- 숙련된 개발자일수록 신경 효율성으로 코드를 더 적은 자원으로 처리 → AI 출력 읽기는 생각보다 뇌에 부하를 거의 걸지 않음
- 직접 코드를 짤 때는 예측–피드백 루프로 시냅스가 수정되지만, 완성된 AI 코드 읽기는 예측 과정이 생략된 사후 해석에 불과함
- 주니어에게 특히 심각: 인지 단계에 있는 패턴이 많은 상태에서 AI가 그 단계를 건너뛰게 하면 절차 기억 형성 없이 경력만 쌓임
뇌에 부하를 거는 방법
- AI에게 맡기기 전에 먼저 자신의 설계안 작성: 생성 효과를 의도적으로 활용 — AI 출력과 비교·평가하는 과정에서 뇌의 의미 처리와 실행
제어 영역이 동시 활성화 - 진지한 코드 리뷰: "왜 이 구조인가", "6개월 뒤에 수정한다면 어디가 문제가 될까"를 의식적으로 묻는 것 — 귀찮음 자체가 바람직한
어려움 - 직접 코드를 짜보는 시간 확보: 절차 기억 형성에 대체 불가능 — 막혔을 때는 전체 답이 아닌 최소한의 힌트만 AI에게 요청
- 생산과 학습의 최적 전략은 다름: AI는 생산 도구로는 탁월하지만, 학습 도구로는 한계가 있음
- 결국 뇌에 남은 것들이 코드 리뷰의 질, 설계 판단의 정확도, 역설적으로 AI 활용 능력을 결정함
댓글과 토론
전 개인적으로 제 전문분야에서 AI가 형편없다는 걸 뼈저리게 느끼고 있습니다. 아마 다른 분야의 전문가도 마찬가지일 것이리라 짐작합니다. 물론 큰 도움은 됩니다. 하루 종일 잔소리 문서들을 써야하긴 하지만 결코 이전의 생산성과 비할 바는 아니지요.
어텐션은 다수결로 형성됩니다.
검증 에이전트는 평가함수만 통과하면 됩니다.
훌륭한 산업 코드는 대부분 공개되어있지 않습니다.
오픈 소스는 보여주기 위한 코드 입니다.
이 점을 항상 기억하고 사용해야 합니다.
동감. 항공우주,의료,정밀제어분야 등에서 고도화된 도메인의 핵심 데이터들은 철저하게 폐쇄된 내부망에 있고 접근하려면 핵심 내부자이거나, 외부라면 상당한 비용과 NDA 서명을 거쳐야 겨우 오픈됨. AI가 학습하는 데이터의 대부분은 인터넷에 공개된 것들이고 Python, JavaScript 기반 웹/앱 서비스라면 Full Automation이 어느 정도 가능.
고도화된 도메인에서 쓰이는 3D 그래픽스, CAD 기반 알고리즘들은 인터넷에 파편적으로 흩어져 있거나 아예 없기 때문에 AI 역시도 바이브 코딩으로는 피상적인 결과를 만들어 줄수 밖에 없다. 하나의 메인 에이전트를 두고, 도메인 맥락을 마이크로 매니징 수준으로 지속 주입하면서 Planning → Redirection → Review 사이클로 개발자가 직접 주도하는 풀 자동화가 아닌 지속적증폭의 방식으로 개발하는것이 안전하고 현실성 있는 접근이라고 생각
저도 아직 제 전문 분야에서는 부족함을 느끼는 만큼 내가 도움 받는 분야에서도 그 정도 수준일거라 생각하고 주의합니다. 대신 발전 속도가 상당한만큼 계속 그 정도 퀄리티면 되는 업무에는 써보려고 하죠.
이런 내용은 과거작업 방식에 대한 집착으로 보인다. 어차피 그런 부분은 ai가 더 잘하게 될 것이다. 지금 중요한건 ai를 쓰면서 잘 안되는 부분에 대한 개선 경험이다. 그렇지만 이또한 한시적이라 생각한다.
계산기 있는데 구구단 외우는 건 과거작업 방식에 대한 집착으로 보인다. 어차피 그런 부분은 계산기가 더 잘하게 될 것이다. 지금 중요한건 계산기를 쓰면서 잘 안되는 부분에 대한 개선 경험이다. 그렇지만 이또한 한시적이라 생각한다.
어느 날 계산기가 고장나서 3 X 3 = 10 이라고 내놨는데, 아무도 이게 잘못되었는지 모를까봐 걱정 되기도 하네요... 그게 제 은행계좌를 다루는 프로그래머의 컴퓨터에서 일어난다면... 조심해서 나쁠 건 없을 것 같습니다.
"코딩 실력의 상당 부분은 절차 기억" 이라는 말이 엄청 와닿네요
수학 문제를 푸는것도 절차를 기억하고 같은 결과물을 낼수 있도록 연습하는 행위인데
AI 로 코딩을 해도 괜찮지만 같은 수준 이상의 결과물을 반복적으로 찍어낼수 있도록 뇌에 부하를 걸어야 하는것같습니다.
짦은 생각이지만 저는 요새 이런 생각을 하게 됩니다. 예전에 어셈블리어 전문가들이 C언어 개발자들을 보면서 "메모리 아까운줄 모른다", "하드웨어를 모른다" 등등의 이야기를 하였다고 하는데 지금도 보면 같은 맥락에서 비슷한 지적이지 않나 싶습니다. 결국 우리는 소프트웨어 개발 관점에서 기존의 프로그램 랭귀지들보다 좀더 추상화된 언어(AI)로 개발을 하게 되는것일 뿐이지 않나 싶습니다. 그러니 그전에 사용했던 언어에 대해서는 당연하게 전문성이 떨어지게 되는것이고요. 다만 얼마전까지 개발하시는분중에서 현재보다 더 low-level의 언어를 다루면서 개발하시는분들을 "괴물"이라고 했듯이 이제는 바이브로 개발을 하지만 여전히 기존 언어들의 원리를 이해하고 하시는분들은 남다른분으로 취급받을 수 있지 않을까 싶습니다.
결국 인간은 편한 선택을 하게 됩니다. 그 결과 숏폼 컨텐츠가 나쁜 걸 알면서도 현재 거의 모든 사람들이 숏폼 컨텐츠를 즐기고 있습니다. 이어서 AI는 선택이 아닌 필수가 될 것이고 사실상 사용하고 안사용하고의 생산력의 차이가 다릅니다. 이건 개발자나 비개발자나 마찬가지입니다. 그냥 방법과 방식이 달라질 뿐입니다. 아래 핸드폰에 빗대어 전화번호를 기억하지 않아도 되는 것을 말씀하신 것처럼 현대인들은 네비게이션이 없으면 이젠 지도만 보고 운전을 할 수 없고 항상 가던 길도 굳이 외우지 않습니다.
그렇다고 운전 능력이 퇴화되거나 공간지각능력 또는 기억력이 퇴화되었나요? 아뇨 네비게이션의 발달로 저희는 네비만 있다면 어디든지 갈 수 있게 되었습니다.
또한 AI를 사용함으로 인해 인간의 인지능력 퇴화에 대해 말이 나오는데 이건 퇴화가 아니라 인지능력이 다른 형태로 변하게 되는 것 이라고 생각합니다.
최근에 손코딩 얘기도 나오는데 자신의 레거시 능력이 도태되는 두려움을 취미의 범위안에서 풀어나가는 것은 동의하나, 이게 마치 정답인 것 마냥 개발자는 자신의 기초 능력을 올리기 위해 손코딩을 반드시 해야해! 라는 방향으로 가지 않았으면 좋겠습니다.
프로그래밍 언어의 발전도 사실 궁극적으로는 점차 인간에게 친숙한 자연어로 가깝게 가는 방향으로 발전되었습니다. 근데 지금이 그 궁극적인 목표로 가는 과도기인 것 같습니다.
AI는 전동 드릴, 체인소우, 굴착기 -- 를 사용하는 느낌입니다. 휴대폰 사용이후로 자신의 전화번호도 기억못하는 사람들이 많습니다.
...이런것들을 쇠퇴한다고 볼수도 있겠지만, 효율이라고 저는 보게 됩니다. 개발자및 여러 직책을 가져본 경험으로 볼떄는 AI툴은, 개발자만의 세계를 벗어나 더 넓은 시각을 가질수 있는 기회와 도움도 되는 도구라 보게 됩니다. 한부분에서는 쇠퇴할수도 있지만, 그 영역을 다른것으로 채워 넣습니다.
저도 이 의견에 동감합니다.
결국 트레이드오프가 확실한 도구라고 보고 있습니다.
AI 를 사용할 수록 코딩 실력이 줄어들까 걱정도 하지만, 전에는 하지 못했던 (또는 할 수 없었던) 다른 고민들을 하는 건 분명하니까요.
최소한 AI에게 지시할 때 짧게 몇마디 던지지 말고 구체적으로 최대한 나의 생각과 논리 전개를 풀어서 얘기하고, 그 후에 작업을 진행하기 전에 더 확인해 볼것이 있다면 반드시 물어보고 진행하도록 하는 게 도움이 되는 것 같습니다.