AI가 바꾸는 소프트웨어 재작성의 경제학
AI가 작성하는 코드의 품질과 효율성은 기존 코드베이스의 패턴이 얼마나 표준화되어 있는지에 따라 크게 좌우됩니다. 따라서 레거시 시스템의 단순한 기술 업그레이드를 넘어, AI가 이해하기 쉬운 일관된 구조로 코드를 재작성(rewrite)하는 것이 경제적으로 매우 유리해졌습니다.
AI 때문에 소프트웨어 재작성(rewrite)에 대한 제 생각이 바뀌었습니다. AI 출력 품질은 프롬프트만으로 결정되지 않습니다. 모델이 학습 데이터에서 이미 알고 있는 정보와 작업에 제공하는 컨텍스트(context)에 의해 결정됩니다. 코딩 작업의 경우, 이 컨텍스트의 대부분은 코드베이스(codebase)입니다. 널리 쓰이는 기술 스택은 출판된 소스를 포함해 수백만 가지 예시를 모델이 학습했기 때문에 AI 활용에서 유리합니다. 반면 패턴이 일관되지 않은 사유 언어(proprietary languages)나 내부 프레임워크는 그 반대입니다. 이런 경우에는 모델이 사용할 수 있는 제한된 컨텍스트 창을 주로 활용해 따로 가르쳐야 합니다. 다음 두 가지 워크플로우를 비교해 보세요: 1. 기능 명세서 읽기. 명확하고 일관되며 잘 확립된 패턴의 코드베이스 읽기. 구현 코드 생성하기. VS 2. 기능 명세서 읽기. 사유/레거시 언어와 과거의 기술 부채를 그대로 담고 있는 불규칙한 코드베이스 읽기. 추가 예시와 문서 읽기. 구현 코드 생성하기. 첫 번째 워크플로우에서는 코드베이스에 확립된 패턴이 있어 모델이 쉽게 이해합니다. 두 번째 워크플로우에서는 모델이 문제를 해결하기 전에 그 패턴들을 유추하는 데 에너지를 소모해야 합니다. 컨텍스트가 늘어난다는 것은 토큰 증가, 프롬프팅 증가, 가변성(variance) 증가를 의미하며, 일반적으로 출력 품질 저하로 이어집니다. 즉, 비용 증가입니다. 재작성은 단순히 기술 스택을 현대화할 기회가 아닙니다. AI의 강점을 억누르는 대신 살릴 수 있는 명확하고 일관된 패턴을 중심으로 코드베이스를 재구축할 기회입니다. AI를 사용해 실제 문제를 해결할 수도 있고, 그 시간에 AI가 여러분의 언어부터 먼저 배우도록 가르치는 데 쓸 수도 있습니다. 이렇게 낭비된 시간은 경쟁사의 이점이 되며, 격차는 단순히 속도뿐만 아니라 결과물의 품질에서도 발생합니다. 저는 이것이 소프트웨어 재작성의 경제학을 근본적으로 바꾼다고 생각합니다.