"최신 ChatGPT나 Claude, Cursor에 수천 줄짜리 레거시 파일 하나 던져주고 '이 코드 파악해서 요약해줘' 하면 다 해결되는 것 아닌가요?"
AI 도구가 급격히 발전하면서 많은 개발자와 경영진이 "이제 레거시 코드 분석도 AI가 알아서 다 해주는 시대가 왔다"고 오해합니다.
하지만 문서도 없고, 주석도 없고, 10년 넘게 비즈니스 로직이 기형적으로 꼬인 스파게티 레거시 코드를 LLM(대형 언어 모델)에 실제로 던져보면 기대와는 전혀 다른 아찔한 결과를 마주하게 됩니다.
AI 도구를 활용해 레거시 시스템을 파악할 때 LLM이 압도적으로 잘하는 영역과 AI를 맹신했다간 시스템을 터뜨리게 되는 '절대 못 하는 영역'의 경계를 명확히 정리합니다.
AI는 문맥이 단절된 파편화된 코드를 분석하거나 난독화된 구문을 해독하는 데 엄청난 생산성을 발휘합니다.
난독화/스파게티 구문 해석 및 리팩토링 제안:
변수명이 $a, $tmp2처럼 엉망이거나, 깊은 삼중 if문으로 꼬여있는 100줄짜리 함수를 던져주면 "이 함수는 유저의 결제 상태값을 검증하는 구문입니다"라며 깔끔한 가독성 높은 코드로 재작성해 줍니다.
구형 프레임워크/언어 문법 현대화 번역:
PHP 5.x의 구형 DB 함수나 obsolete된 라이브러리 구문을 최신 PHP 8.x/Node.js 문법으로 변환할 때, 단순 문법적 치환(Syntax Migration)은 AI가 인간보다 10배 이상 빠릅니다.
단위 테스트(Unit Test) 보일러플레이트 생성:
분석한 함수의 입력값과 출력값을 기반으로 Edge Case(예외 상황)를 고려한 테스트 코드를 빠르게 작성해 줍니다.
반면, 레거시 시스템의 핵심인 '숨겨진 맥락'과 '비즈니스의 숨겨진 룰' 앞에서 AI는 무력해집니다.
① '숨은 비즈니스 로직(Implicit Rules)' 파악 불가
// 레거시 코드 속 이상한 예외 처리 if ($user_id == 8492 && $total_price > 100000) { $discount_rate = 0.15; }
AI에게 이 코드를 물어보면 "특정 유저 ID와 금액 조건에 따른 할인 로직입니다"라고 답합니다.하지만 이 코드가 "5년 전 VIP 고객이었던 특정 기업과의 구두 계약 때문에 임시로 넣어둔 예외 로직"이라는 비즈니스 배경(Domain Knowledge)은 AI가 절대 알 수 없습니다. AI 말만 믿고 이 코드를 "불필요한 하드코딩"이라며 지웠다간 대형 비즈니스 클레임이 터집니다.
② 시스템 전체의 '숨겨진 사이드 이펙트(Side Effect)' 예측 불가
레거시 시스템은 DB Trigger, 외부 API, 크론잡(Cronjob), 공통 세션 등이 얽혀있는 경우가 많습니다. AI는 자신이 텍스트로 입력받은 파일 범위 내에서만 사고하므로, "이 파일의 A 함수를 고쳤을 때 새벽 3시에 도는 정산 크론잡이 터진다"는 거시적인 파급 효과를 예측하지 못합니다.
③ '존재하지 않는 로직'을 진실처럼 말하는 환각(Hallucination)
레거시 코드가 너무 복잡하거나 세션/글로벌 변수에 의존할 때, LLM은 자기가 모른다는 사실을 인정하는 대신 그럴듯한 가짜 동작 원리를 만들어내면서 설명(Hallucination)합니다. AI의 거짓말을 믿고 리팩토링을 진행했다가 런타임 에러를 맞닥뜨리는 경우가 수두룩합니다.
AI는 '코드 단위의 번역기/요약기'로만 사용한다: 전체 아키텍처나 비즈니스 판단을 맡기지 말고, 특정 메서드나 쿼리의 의도를 파악하는 보조 도구로만 제한합니다.
"왜 이 코드가 작성되었는가?"는 사람(기획자, DB 기록, Git History)이 찾는다: 코드의 '형태'는 AI가 보고, 코드 뒤에 숨은 '이유'는 엔지니어가 검증해야 합니다.
AI가 작성해 준 분석을 토대로 '검증용 테스트'를 먼저 돌린다: AI의 요약 답변을 100% 믿지 말고, 반드시 실제 입력/출력값 테스트를 거쳐 검증합니다.
마무리하며
AI는 레거시 현대화의 훌륭한 '보조 항해사(Copilot)'는 될 수 있지만, 배의 키를 잡는 '선장(Captain)'이 될 수는 없습니다.
결국 AI가 읽어내지 못하는 비즈니스의 역사, 의사결정의 배경, 시스템의 전체 맥락을 짚어내는 것은 숙련된 베테랑 엔지니어의 경험과 직관입니다. AI 도구를 현명하게 도구로 활용할 때, 레거시 분석 속도는 비로소 안전하게 5배 이상 빨라질 수 있습니다.