AI코딩 3분 소요

AI가 짜준 코드를 손으로 다시 치는 개발자들

Ctrl+C, Ctrl+V. 키 두 번이면 끝나는 일을 굳이 5분씩 손으로 다시 타이핑하는 개발자가 있습니다. 그것도 자기가 짠 코드가 아니라 AI가 만들어준 코드를요. 겉보기엔 러다이트 운동 같은데, 이야기를 들어보면 나름의 계산이 깔려 있습니다.

코드는 늘었는데 실력은 어디로 갔을까

지난 2년간 개발 현장에서 되풀이된 이야기가 있습니다. AI 도구를 쓰기 시작한 뒤로 결과물은 늘었는데 이해도는 얕아졌다는 감각입니다.

증상도 대체로 비슷합니다. 3개월 전에 머지한 코드를 다시 열었는데 낯설다. 프로덕션에서 터진 버그를 추적하는데 어디부터 봐야 할지 감이 안 온다. 면접에서 화이트보드 앞에 서니 손이 멈춘다.

여기서 나온 말이 인지 부채(cognitive debt)입니다. 기술 부채가 “나중에 갚아야 할 코드 빚"이라면, 인지 부채는 “나중에 갚아야 할 이해의 빚"입니다. 지금 당장은 동작하는 코드가 있으니 문제가 없습니다. 청구서는 6개월 뒤 장애 상황에서 날아옵니다.

왜 하필 타이핑인가

그래서 나온 처방이 리타이핑입니다. AI가 준 코드를 복사하지 않고, 화면 옆에 띄워놓고 한 줄씩 직접 입력하는 방식입니다.

논리는 단순합니다. 복사는 뇌를 거치지 않습니다. 타이핑은 강제로 거칩니다. 변수명을 치는 순간 “이게 왜 여기 있지"를 생각하게 되고, 조건문을 치는 순간 엣지 케이스가 눈에 들어옵니다. 리타이핑을 하다가 AI 코드의 오류를 발견했다는 경험담도 자주 나옵니다. 눈으로 훑을 때는 안 보이던 것이 손끝을 지나갈 때 걸린다는 겁니다.

학습 이론 쪽에서도 낯선 이야기는 아닙니다. 가만히 읽는 것보다 직접 다시 만들어내는 쪽이 기억에 오래 남는다는 건 오래된 연구 주제입니다. 필사가 독서보다 느린 대신 깊게 남는 것과 같은 원리죠. 타이핑 자체가 마법은 아닙니다. 타이핑이 강제하는 속도 저하가 핵심입니다.

반론도 만만치 않습니다

물론 반대편 주장도 선명합니다.

첫째, 시간 낭비라는 지적입니다. 하루 500줄을 손으로 옮기면 몇 시간이 날아갑니다. 그 시간에 설계를 다시 보거나 테스트를 짜는 게 낫다는 겁니다.

둘째, 타이핑이 곧 이해는 아니라는 반박입니다. 학창시절 아무 생각 없이 필기하던 기억을 떠올려보면 설득력이 있습니다. 손은 움직이는데 머리는 딴 데 가 있는 상태, 얼마든지 가능합니다.

셋째, 어셈블리 논쟁의 재탕이라는 시각입니다. 컴파일러가 나왔을 때도 “기계어를 모르면 진짜 프로그래머가 아니다"라는 말이 있었습니다. 지금 그 논쟁을 하는 사람은 거의 없습니다. AI 코드 생성도 같은 길을 갈 거라는 겁니다.

세 번째 반론이 가장 강력한데, 여기엔 반박도 있습니다. 컴파일러는 결정론적입니다. 같은 입력에 같은 출력이 나오고, 틀리면 그건 컴파일러 버그입니다. LLM은 다릅니다. 그럴듯한데 틀린 코드를 자신 있게 내놓습니다. 추상화를 믿으려면 그 아래를 안 봐도 돼야 하는데, LLM은 아직 거기까지 오지 못했습니다.

현실적인 절충안

전부 타이핑하자는 사람은 사실 많지 않습니다. 실제로 자리 잡는 건 가려 쓰는 쪽입니다.

기준은 대체로 이렇게 나뉩니다. 보일러플레이트, 설정 파일, 반복적인 CRUD는 그냥 붙여넣습니다. 처음 보는 라이브러리나 새로운 패턴, 핵심 비즈니스 로직은 손으로 옮깁니다. 판단 기준은 “이걸 6개월 뒤에 내가 디버깅할 것인가"입니다.

타이핑 대신 다른 방법을 쓰기도 합니다. AI 코드를 받은 뒤 주석 없이 직접 설명해보기, 테스트를 먼저 손으로 짜기, 리뷰어에게 코드 의도를 말로 설명하기. 노리는 건 같습니다. 코드를 뇌에 한 번은 통과시키자는 겁니다.

남는 질문은 하나입니다

리타이핑이 정답인지는 모르겠습니다. 데이터가 충분히 쌓인 주제도 아니고, 개인의 학습 스타일 차이도 큽니다.

다만 이 논쟁이 가리키는 지점은 분명합니다. AI가 만들어준 코드와 내가 이해한 코드 사이의 간격이 벌어지고 있고, 그 간격을 방치하면 언젠가 비용을 치릅니다. 타이핑은 그 간격을 좁히는 방법 하나일 뿐입니다.

오늘 붙여넣은 코드 중에 몇 퍼센트를 설명할 수 있으신가요. 그 숫자가 마음에 들지 않는다면, 방법이 타이핑이든 뭐든 하나쯤은 필요할 겁니다.

AI코딩 개발자 인지부채 학습 LLM

댓글

    댓글을 불러오는 중...