AI Sparkup

최신 AI 쉽게 깊게 따라잡기⚡

AI가 코드를 쓸수록 이해하는 사람이 줄어든다, Comprehension Debt 문제

Comprehension Debt — the hidden cost of AI generated code
사진 출처: addyosmani.com

AI 코딩 도구 덕분에 팀의 코드 생산량이 늘었습니다. PR 수도 올라가고, 테스트도 통과하고, 속도 지표도 양호합니다. 그런데 어느 날 갑자기 간단해 보이는 변경이 예상치 못한 곳을 부수기 시작합니다. 아무도 왜 그런 설계 결정을 내렸는지 설명하지 못합니다. 코드는 있는데, 그 코드를 이해하는 사람이 없는 상태가 된 겁니다.

구글 엔지니어 Addy Osmani가 이 현상을 “이해 부채(Comprehension Debt)”라고 정의했습니다. 코드베이스에 존재하는 코드의 양과, 실제로 인간이 이해하는 코드의 양 사이에 생기는 간격입니다.

출처: Comprehension Debt — the hidden cost of AI generated code – Addy Osmani

기술 부채와 무엇이 다른가

기술 부채는 눈에 보입니다. 빌드가 느려지고, 특정 모듈에 손댈 때마다 긴장감이 흐릅니다. 팀이 어디서 빚이 쌓였는지 대략 압니다.

이해 부채는 다릅니다. 코드는 깔끔하고, 테스트는 초록불이고, 아무것도 이상해 보이지 않습니다. 그래서 더 위험합니다. 문제가 드러날 때는 이미 상당히 쌓인 뒤입니다.

Osmani가 인용한 한 학생 팀 사례가 이를 잘 보여줍니다. 프로젝트 7주차, 간단한 수정 하나에도 예상치 못한 곳이 깨지기 시작했습니다. 코드 품질이 나빠서가 아니었습니다. 팀원 중 누구도 시스템의 설계 의도나 각 부분이 어떻게 연결되는지를 설명할 수 없는 상태가 된 것이었습니다.

속도 역전이 가져온 구조적 문제

AI 코딩 도구가 만들어낸 더 근본적인 변화가 있습니다. 과거에는 시니어 엔지니어가 주니어가 작성하는 코드보다 빠르게 리뷰할 수 있었습니다. 코드 생산이 병목이었고, 그 병목이 역설적으로 리뷰를 의미 있게 만들었습니다.

지금은 반대입니다. 주니어 엔지니어가 AI로 코드를 만드는 속도가 시니어가 제대로 검토하는 속도를 넘어섭니다. PR을 열면 코드는 문법적으로 완벽하고, 포맷도 깔끔하고, 테스트도 통과합니다. 그게 바로 기존에 “머지해도 된다”는 신호였습니다. 하지만 표면이 올바른 것과, 시스템 전체 맥락에서 올바른 것은 다릅니다. 품질 게이트였던 코드 리뷰가 처리량 문제로 바뀐 겁니다.

이 구조적 역전을 데이터가 뒷받침합니다. Anthropic이 2026년 발표한 연구에서, 새 라이브러리를 학습하는 소프트웨어 엔지니어 52명을 대상으로 AI 사용 여부에 따른 효과를 측정했습니다. AI 보조를 받은 그룹은 작업 완료 시간은 비슷했지만, 이후 이해도 테스트에서 17% 낮은 점수를 기록했습니다(50% vs. 67%). 특히 디버깅 능력에서 하락이 컸습니다. 연구팀은 “그냥 만들어줘” 식의 수동적 위임이 “왜 이렇게 작동하는 거야?” 식의 질문 주도 사용보다 훨씬 더 큰 학습 손실을 유발한다고 강조합니다.

테스트도, 스펙도 완전한 해법이 아닌 이유

자연스러운 반응은 테스트를 더 촘촘하게 짜는 것입니다. 하지만 Osmani는 테스트에는 구조적 한계가 있다고 지적합니다.

드래그한 아이템이 완전히 투명해지는 버그를 생각해보세요. 아무도 이 케이스를 테스트하지 않은 건 실수가 아닙니다. 그런 가능성 자체를 생각하지 못했기 때문입니다. 더 심각한 상황은 AI가 구현 방식을 바꾸면서 수백 개의 테스트 케이스도 함께 업데이트할 때입니다. 이때 질문은 “코드가 맞는가?”에서 “이 테스트 변경이 전부 필요했는가?”로 바뀝니다. 그 질문에 답할 수 있는 건 테스트가 아니라 이해뿐입니다.

스펙을 먼저 상세히 작성하는 방식도 마찬가지입니다. 아무리 상세한 스펙도 에지 케이스, 에러 처리, 성능 트레이드오프 같은 암묵적 결정을 전부 담을 수 없습니다. 같은 스펙을 보고 두 명의 엔지니어가 구현하면 서로 다른 시스템이 나옵니다. 두 구현 모두 틀리지 않았지만, 그 차이는 언젠가 사용자에게 영향을 줍니다. 무엇보다, 스펙을 아무리 잘 써도 실제로 만들어진 것을 검토한 게 아닙니다.

지표가 포착하지 못하는 위험

이해 부채가 특히 위험한 건 어떤 측정 지표에도 잡히지 않기 때문입니다. 벨로시티도 좋고, DORA 지표도 안정적이고, 코드 커버리지도 초록입니다. 이해가 빠지고 있다는 신호를 내보내는 지표가 없습니다.

기술 부채는 보통 의식적 선택입니다. 지름길을 골랐고, 대략 어디 있는지 알고, 나중에 갚을 수 있습니다. 이해 부채는 수백 번의 리뷰가 쌓이는 과정에서 아무도 의식적 결정을 내리지 않은 채 누적됩니다. 코드는 검토됐지만, 아무도 진짜 이해하지는 못한 채 암묵적 승인이 붙어버립니다.

Osmani는 이 문제가 규제 이슈로 이어질 수 있다는 점도 언급합니다. 헬스케어나 금융 인프라에서 “AI가 작성했고 우리가 완전히 검토하지 못했다”는 설명은 사고 보고서에서 통하지 않을 겁니다.

AI가 코드를 저렴하게 만든다고 해서 이해가 저렴하게 생략될 수 있는 건 아닙니다. 원문에는 어떤 AI 상호작용 패턴이 학습 손실 없이 생산성을 유지하는지에 대한 분석도 담겨 있습니다.

참고자료:


AI Sparkup 구독하기

최신 게시물 요약과 더 심층적인 정보를 이메일로 받아 보세요! (무료)

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다