코드 작성에 쓰는 AI 코딩 에이전트는 유지보수 비용을 줄여야 함

3 hours ago 3
  • 새 코드 작성 속도보다 유지보수 비용이 장기 생산성을 좌우함
  • 예시 모델에서는 2년 반 뒤 유지보수가 전체 시간의 절반을 넘음
  • AI 에이전트가 산출량과 유지보수 비용을 함께 늘리면 효과가 빠르게 사라짐
  • 에이전트를 중단해도 이미 만든 코드의 추가 유지보수 비용은 계속 남음
  • 산출량이 두 배라면 코드당 유지보수 비용도 절반으로 낮춰야 함

유지보수 비용이 생산성을 결정함

  • 코드 작성에 쓰는 모든 시간은 이후 버그 수정, 정리, 의존성 업그레이드 같은 유지보수 시간을 계속 발생시킴
  • 새 기능이나 개선 작업이 아니라, 코드가 존재하는 한 매년 반복되는 유지보수만 대상으로 삼음
  • 예시 추정치는 코드 작성 1개월마다 첫해에 10일, 이후 매년 5일의 유지보수 시간이 든다는 가정임
  • Wisdom of the Crowd 방식으로 50명 정도의 개발자에게 유지보수 비용을 물으면 꽤 정확한 답을 얻을 수 있다고 봄
  • 이 가정으로 만든 스프레드시트 모델에 따르면, 새 프로젝트 초반에는 대부분의 시간을 기능 개발에 쓰지만 시간이 갈수록 과거 코드의 유지보수 비중이 커짐
  • 해당 추정치에서는 2년 반 뒤 유지보수에 쓰는 시간이 전체의 절반을 넘고, 10년 뒤에는 거의 다른 일을 하기 어려운 수준이 됨
  • 유지보수 추정치를 절반으로 낮추면 50% 지점까지 3년을 더 벌 수 있고, 두 배로 높이면 1년도 안 되어 생산성이 50% 아래로 떨어짐
  • 생산적인 팀을 원한다면 새 코드 작성 속도보다 유지보수 비용에 집중해야 함

모델은 틀릴 수 있지만 방향은 맞음

  • 후기 단계 스타트업에서는 5~9년 정도 지나 팀이 더 이상 일을 제대로 끝내지 못하는 문제가 나타났고, 이는 그래프가 보이는 패턴과 유사했음
  • 실제 팀이 그래프만큼 나빠 보이지 않는 이유는 유지보수 비용이 낮았기 때문일 수도 있고, 문제를 다른 방식으로 덮었기 때문일 수도 있음
  • 가능한 대응은 모든 버그를 고치지 않거나 모든 의존성을 업그레이드하지 않는 것, 팀이 느려질 때 인원을 추가하고 계속 더 추가하는 것, 전체를 버리고 재작성하는 것임
  • 정확한 숫자는 논쟁할 수 있지만, 시간이 지나며 생산성이 줄어드는 큰 흐름은 경험적으로 맞아 보임

AI 코딩 에이전트가 만드는 곱셈 효과

  • 예시로 최신 에이전트형 코딩 프레임워크 Rock Lobster 가 코드 산출량을 두 배로 늘린다고 가정함
  • 동시에 코드가 조금 더 이해하기 어려워지고, 팀이 풀 리퀘스트에 압도되며, 승인 전에 코드를 제대로 읽지 않는다고 가정함
  • 한 달에 두 달 치 코드를 만들고, 그 산출물의 유지보수 비용도 두 배가 되면 다음 달의 유지보수 비용은 4배가 됨
  • 이 극단적 예시에서는 Rock Lobster 사용 후 약 5개월 만에 생산성이 원래 수준으로 돌아가고, 몇 달 뒤에는 아예 사용하지 않았을 때보다 나빠짐
  • AI가 실제로 생산성이나 유지보수 비용을 두 배로 만든다는 뜻은 아니며, 유지보수성이 인간이 쓴 코드와 같더라도 생산성 이득은 오래가지 않음을 강조함

에이전트를 중단해도 유지보수 비용은 남음

  • 코딩 에이전트는 비용이 들며, 그 효용이 비용보다 작아지면 예전 방식으로 돌아가려 할 수 있음
  • 에이전트 사용을 중단하면 생산성 이득은 사라지지만, 에이전트로 만든 코드의 추가 유지보수 비용은 코드가 남아 있는 한 계속 남음
  • 이 경우 에이전트를 전혀 쓰지 않았을 때보다 낮은 생산성에 묶일 수 있음

성립하는 수학은 유지보수 비용 감소뿐임

  • LLM이 코드 산출량을 늘리는 비율의 정확한 역수만큼 유지보수 비용을 낮춰야 전체 생산성 계산이 맞음
  • 산출량이 두 배이고 그 산출물의 유지보수 비용도 두 배라면 전체 유지보수 비용은 4배가 됨
  • 산출량이 두 배인데 산출물당 유지보수 비용이 그대로여도 전체 유지보수 비용은 여전히 2배가 됨
  • 산출량이 두 배라면 유지보수 비용은 절반이어야 하고, 산출량이 세 배라면 유지보수 비용은 3분의 1이어야 함
  • 이 조건을 만족해야 속도 이득을 얻으면서도 장기적인 종속을 피할 수 있음

현재 코딩 에이전트에 대한 우려와 가능한 다른 지렛대

  • Hacker News 같은 소스에서는 코딩 에이전트가 유지보수 비용을 늘린다는 신호가 많아 보임
  • 일부는 대규모 시스템을 이해하는 데 도움이 된다고 하지만, 필요한 수준의 큰 유지보수 비용 감소는 보이지 않고 오히려 반대에 가깝다고 봄
  • 모델이 현실을 완벽하게 나타내지는 않지만, AI는 새 코드 작성 속도에 비례해 유지보수 비용을 줄여야 한다는 메시지는 유효함
  • 코딩 속도 개선을 추구하더라도 유지보수 비용 개선에도 같은 만큼 시간을 써야 함
  • 반AI 주장이 아니라, 코드 자체의 유지보수성을 높이지 않더라도 유지보수 작업 자체를 더 생산적으로 만드는 AI 같은 다른 지렛대도 있음
  • 실제 상황에 맞게 가정을 바꾸려면 스프레드시트를 복사해 모델의 여러 변수를 조정해볼 수 있음
Read Entire Article