본문으로 건너뛰기

© 2026 Molayo

Zenn헤드라인2026. 06. 24. 09:15

저렴해지지 않은 소프트웨어의 나머지 절반

요약

AI로 인해 코드 생성 비용은 급감했으나, 생성된 코드의 논리적 타당성을 검증하고 판단하는 '읽기' 비용은 오히려 상승했습니다. 코드의 양적 팽창에 비해 이를 검토하고 리스크를 파악하는 판단력 중심의 도구와 훈련 환경이 부족함을 지적합니다.

핵심 포인트

  • 코드 생성 비용은 낮아졌지만, 검증 및 판단 비용은 상승함
  • AI 생성 코드는 의도가 결여되어 있어 기존의 행 단위 diff 리뷰가 어려움
  • 코드의 가독성이 높을수록 리뷰어의 경계심을 늦추는 역설적 상황 발생
  • 생산성 도구는 넘쳐나지만, 코드의 올바름을 판단하는 훈련 도구는 부족함

올해, 무언가가 반전되었습니다. 하지만 많은 논의가 여전히 그 "한쪽"만을 바라보고 있다는 느낌이 듭니다.

코드를 "만드는" 비용은 격감했습니다. 하루가 걸리던 기능이 1시간 만에 나옵니다. 이는 누구나 체감하고 있습니다. 하지만 거의 아무도 가격을 매기지 않고 있는 것이 나머지 절반의 비용——그 코드가 무엇을 하고 있는지, 그리고 정말로 올바른지를 확인하는 작업——이며, 이것은 내려가지 않았습니다. 오히려 올라갔습니다.

이것이 이번의 주장입니다. 쓰는 것은 저렴해졌지만, 읽고 믿는 것은 저렴해지지 않았다는 것입니다. 그리고 출하해도 좋을지를 최종적으로 결정하는 것은 생성의 속도가 아니라, 바로 이 괴리라는 것입니다.

왜 "읽는 것"이 어려워졌는가

동료가 Pull Request (PR)를 보낼 때, 한 줄 한 줄에 의도가 있습니다. "왜 여기를 이렇게 했나요?"라고 물으면 제대로 된 답변이 돌아옵니다. 그곳에 사람의 판단이 있기 때문입니다. 리뷰는 그 의도에 대해 수행됩니다.

생성된 코드에는 한 줄 한 줄의 의도가 없습니다. 어디를 봐도 "그럴싸한"——마치 누군가가 쓸 법한 모습——하지만, 그 아래에 신뢰할 수 있는 논리가 없습니다. 그래서 인간의 diff와 같은 방식으로 리뷰할 수 없습니다. 쓴 사람에게 "왜"라고 물을 수 없기 때문입니다. 처음부터 쓴 사람이 없으니까요.

결국 동작 그 자체를 직접 확인할 수밖에 없으며, 그것은 느리고 속임수가 통하지 않습니다.

20년 동안 리뷰의 단위였던 "행 단위의 diff"가 조용히 기능을 상실한 것도 같은 이유입니다. diff는 "변화된 각 행이 인간이 검토할 가치가 있는 선택이다"라는 전제에 서 있습니다. 생성된 행에서 diff는 "무엇이 변했는가"는 알려주지만 "리스크가 어디에 있는가"는 알려주지 않습니다. 정말로 위험한 것은 변한 행 그 자체가 아니라, 그것이 "변하지 않은 전부"와 어떻게 맞물리는가 하는 점이기 때문입니다.

병목 현상은 "치는 것"에서 "판단하는 것"으로

오랫동안 이 업무에서 희소했던 것은 생산력——만들 수 있는지 없는지——였습니다. 그것은 이제 희소하지 않습니다. 지금 가장 희소한 것은 판단력입니다. 돌아가는 것처럼 보이는 코드의 산 앞에서, 정말로 올바른지 간파할 수 있는가 하는 점입니다.

각종 조사도 같은 양상을 보입니다. 리뷰 시점에서는 AI의 코드가 높게 평가됩니다. 깨끗하고, 읽기 쉽고, 정석대로이기 때문입니다. 그리고 출하되면 장애가 늘어나고, 시니어의 화재 진압(firefighting)이 늘어나며, 상당한 비율로 큰 수정이 필요하게 됩니다. "리뷰했을 때의 느낌"과 "올바름"이 분리되었습니다.

아이러니한 점은, 코드가 최적화하고 있는 바로 그 "읽기 쉬움"이야말로 리뷰어의 경계심을 늦춘다는 점입니다. 거친 코드는 사람을 멈춰 세웁니다. 너무 깨끗한 코드는 동작을 확인하지 않은 채 승인(sign)하게 만듭니다.

아무도 채우지 못한 불균형

가장 마음에 걸리는 부분은 여기입니다. 우리는 지난 1년간 저렴해진 쪽의 도구를 산더미처럼 만들었습니다. 보완(completion), 에이전트(agent), 병렬 PR, 어쨌든 양을 늘리는 방향으로 말이죠. 비싼 상태로 남아있는 쪽의 도구는 거의 만들지 않았습니다.

코드를 늘리는 수단은 이제 누구나 가지고 있습니다. 하지만 그것을 "간파하는 능력을 단련하는" 수단은 거의 아무도 가지고 있지 않습니다. 가장 중요해진 기술을 위한 연습장이 없는 것입니다. 실전에서, 자신이 쓰지 않은 코드를 가지고, 우연히 맡겨지며 몸으로 익혀라—라는 상태는 배우는 장소로서 최악입니다.

이 비대칭이 제가 계속 마음에 걸려 하는 구멍이며, theloupe.dev를 만들고 있는 이유이기도 합니다. 저렴해지지 않은 쪽——자신이 쓰지 않은 코드를 읽고, 이유를 들어 올바른지 판단하는 것——을 연습하는 장소입니다.

그것을 어떻게 연습할 것인지, 어떻게 "장난감"이 아니라 진짜 실전 장애처럼 느끼게 할 것인지는 다음 글에서 쓰겠습니다. 이번에는 우선 주장을 솔직하게 놓아두고 싶었습니다. 쓰는 비용은 절벽 아래로 떨어졌지만, 확인하는 비용은 떨어지지 않았으며, 우리는 거의 "틀린 쪽"만을 위해 도구를 만들어 왔다고 말입니다.

Discussion

AI 자동 생성 콘텐츠

본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0