Django 핵심 기여자인 James Bennett가 LLM 코딩 도구의 효과에 대해 이론적·실증적 근거를 들어 회의적 분석을 제시한 글입니다.

원문: LLMs


핵심 프레임워크: Fred Brooks의 “은탄환은 없다” (1975)

소프트웨어 개발의 어려움을 두 가지로 구분합니다:

  • 우발적(accidental) 어려움 — 도구로 제거 가능 (수동 메모리 관리 등)
  • 본질적(essential) 어려움 — 사양, 설계, 테스트 등 소프트웨어 자체에 내재된 것

Brooks의 핵심 통찰: “어려운 부분은 개념을 구축하는 것이지, 그것을 표현하는 노동이 아니다.” 우발적 어려움이 전체의 90% 이상이 아닌 한 10배 생산성 향상은 불가능하며, 실제 비율은 훨씬 낮다고 저자는 봅니다.

참고: No Silver Bullet — Essence and Accident in Software Engineering (원문)

실증 데이터가 보여주는 현실

METR (2025)

개발자들이 24% 속도 향상을 기대했으나 실제로는 둔화 를 경험했습니다. 더 흥미로운 점은, 둔화를 경험한 후에도 본인들은 여전히 “20% 빨라졌다"고 믿었다는 것입니다. 자기보고식 생산성 측정이 실제 결과와 괴리된다는 점이 드러납니다.

DORA 보고서

처음에는 “AI 채택이 정상"이라 선언했지만, 상세히 보면 “AI는 증폭기 역할” 을 합니다. 강력한 조직은 강해지고 약한 조직은 더 약해집니다. 배포 처리량은 증가했으나 배포 불안정성도 동시에 증가 하여, 순효과가 상쇄됩니다.

CircleCI (2026)

다수 팀이 처리량 변화가 없었고, 주요 브랜치 성공률이 90%에서 70.8%로 저하 되었습니다. 복구 시간이 증가하여 일일 5개 변경 팀은 2일마다 장애를 경험하는 상황입니다.

“빠른 코딩"의 함정

Tailscale CEO의 관찰을 인용합니다:

“Claude가 30분 대신 3분에 코딩했다? 그 후 27분을 자기 검토하거나, 검증되지 않은 코드를 리뷰어에게 던지는 것 중 하나다.”

Brooks 추정에 따르면 소프트웨어 작업의 5/6(약 83%)은 코딩 이외 (설계, 사양, 테스트, 코드 리뷰)에 소비됩니다. 코딩만 가속해봐야 전체 병목은 해결되지 않습니다.

사례로 Cloudflare의 LLM 기반 Next.js 재구축을 제시합니다 — 기본 앱조차 실행 불가, 보안 문제 다수, 기존 테스트 스위트 미포함으로 회귀 버그가 누락되었습니다.

“민주화” 약속의 논리적 모순

LLM 옹호론의 두 주장이 양립 불가능하다고 지적합니다:

  1. “LLM을 효과적으로 쓰려면 상당한 기술이 필요하다”
  2. “비기술자도 소프트웨어를 쉽게 만들 수 있다”

Dijkstra 인용: “자연어의 ‘자연성’은 말도 안 되는 것을 쉽게 표현할 수 있다는 점에 불과하다.”

“뒤처질 것” 두려움에 대한 분석

  • 시나리오 A (LLM이 제한적 도구에 그치는 경우): 채택 지연은 위험하지 않음
  • 시나리오 B (진정한 혁명이 일어나는 경우): 본질적 어려움까지 해결하는 변화라면 현재 LLM 워크플로우 자체가 무효화될 수준이므로, 후발 주자도 충분히 따라잡을 수 있음

어느 쪽이든 지금 서두를 이유가 없다는 결론입니다.

저자의 결론

LLM은 소프트웨어 전달 능력에 제한적 영향 을 미칩니다. 진정한 생산성 향상은 버전 관리, 포괄적 테스트, CI/CD, 문서화, 작은 배치 작업 같은 근본적 개발 관행 개선 에 달려 있으며, 이는 LLM 채택 여부와 무관하게 필수입니다.

Brooks가 표현한 바처럼: “소프트웨어 공학의 기초는 질병을 악마론에서 세균론으로 옮긴 의학처럼, 마법의 해결책 없이 꾸준한 훈련과 청결함을 요구한다.”