1. 들어가며
최근 AI Coding Agent의 발전으로 코드 작성뿐 아니라 기존 시스템의 분석과 검증에도 AI를 활용할 수 있게 되었습니다. 저 역시 이번 개발 작업에서 AI Coding Agent를 적극적으로 활용하여 레거시 시스템의 분석부터 구현 및 검증까지 진행했습니다.
이번 작업은 ThingWorx와 일부 Java 코드로 구성된 기존 시스템을 Spring Boot(Java)와 Vue(TypeScript) 기반으로 마이그레이션하는 작업이었습니다. 방대한 레거시 코드와 구체적이지 않은 요구사항으로 인해 기존 기능을 파악하고 개발 범위를 산정하는 것부터 어려움이 있었습니다.
이를 해결하기 위해 Claude를 분석과 구현에, Codex를 검증에 활용했습니다. 이번 글에서는 두 AI Coding Agent를 활용한 개발 과정과 그 과정에서 경험한 내용들을 공유하고자 합니다.
2. 레거시 시스템 분석과 작업 계획 수립
2.1. AI를 활용한 레거시 시스템 분석
이번 작업에서는 먼저 Claude를 활용하여 기존 ThingWorx 및 Java 코드를 분석하고, 주요 기능과 처리 흐름을 파악했습니다. AI가 제시한 분석 결과는 제가 알고 있는 도메인 지식과 비교하며 검토했습니다. 분석 결과를 이해하기 어려운 경우에는 추가적인 질문과 확인을 통해 정확성을 판단했습니다.
AI를 활용하지 않았다면 분석에만 최소 1~2개월이 필요했을 것으로 예상했지만, 실제 주요 분석 작업은 약 일주일 만에 진행할 수 있었습니다. 이는 객관적으로 측정한 수치가 아닌 개인적인 예상과 경험에 기반한 비교입니다.
2.2. 작업 계획 수립과 공수 산정
초기에는 구체적인 요구사항이 충분히 정의되지 않았기 때문에 기존 기능을 최대한 동일하게 재현하는 것을 구현 기준으로 설정했습니다.
이후 Claude의 분석 결과를 바탕으로 전체 작업을 단계별로 세분화하고, 구현 순서와 예상 공수를 산정했습니다. 기존 코드의 규모가 방대해 AI를 활용하지 않았다면 작업 범위를 파악하고 공수를 산정하는 것 자체가 어려웠을 것으로 생각합니다.
최초 작업 일정은 2026년 8월 1주 차부터 11월 2~3주 차까지 약 15~16주로 계획했습니다. AI 활용도가 어디까지 작업을 줄여줄 수 있을지를 가늠하기 어려워 AI 활용을 전제로 수립했음에도 보수적으로 일정을 계획했으며, 충분한 검증 기간을 확보하는 방향으로 설정했습니다.
이번 과정에서 가장 의미 있었던 점은 분석 시간의 단축뿐 아니라, 규모를 가늠하기 어려웠던 작업을 구체적인 개발 계획으로 전환할 수 있었다는 점이었습니다.
3. 신규 시스템 설계 및 구현
3.1. 신규 시스템 아키텍처 설계 및 구현
레거시 분석 이후에는 기존 기능을 Spring Boot(Java)와 Vue(TypeScript) 기반의 신규 시스템에 맞게 재구성했습니다. Claude에게 현재 개발 환경의 구조와 코드 작성 패턴을 분석하고, 이에 적합한 아키텍처를 제안하도록 요청했습니다. 제안된 내용을 검토하여 최종 설계 방향을 결정한 후, 앞서 수립한 단계별 계획에 따라 구현을 진행했습니다.
실제 코드 작성은 대부분 Claude가 담당했으며, 저는 구현 결과를 검토하고 수정 사항과 다음 작업 방향을 결정했습니다. 프론트엔드는 기존 ThingWorx 화면의 기능과 배치를 참고하되, 신규 시스템의 컴포넌트와 스타일에 맞게 재구성했습니다.
3.2. 기존 데이터와 신규 데이터 모델 매핑
마이그레이션 과정에서 특히 개발자의 도메인 지식이 필요했던 부분은 데이터 매핑이었습니다. 기존 시스템과 신규 시스템은 DB 테이블 구조와 명칭이 달랐기 때문에, 기존 데이터가 신규 시스템의 어떤 데이터 모델에 해당하는지 판단해야 했습니다.
Claude가 데이터의 사용 방식과 처리 흐름을 분석하는 데 도움을 주었지만, 실제 업무적 의미에 따른 데이터 매핑은 제가 직접 결정했습니다. 이후 매핑 정보를 바탕으로 구현을 진행했으며, 고객사 확인이 필요한 내용은 별도의 Word 문서로 정리하여 검토를 요청했습니다.
이 과정에서 AI가 코드 분석과 구현을 수행하더라도, 도메인 지식에 기반한 설계와 데이터의 의미적 판단은 개발자의 역할이라는 점을 확인할 수 있었습니다.
4. Markdown을 활용한 작업 컨텍스트 관리
AI Coding Agent를 활용해 장기간 개발 작업을 진행하면서 중요하게 생각했던 부분 중 하나는 작업 컨텍스트 관리였습니다. AI와의 대화만으로 이전 분석 결과와 의사결정 내용을 지속적으로 유지하기는 어렵다고 판단했습니다. 이를 보완하기 위해 레거시 분석 결과, 단계별 구현 계획, 데이터 매핑 정보 등을 Markdown 문서로 정리했습니다.
작성한 문서는 단순한 기록이 아니라, Claude가 이후 작업을 수행할 때 다시 참조하는 자료로 활용했습니다. 이를 통해 이전에 분석한 내용과 결정한 구현 방향을 바탕으로 다음 작업을 진행하고, 동일한 배경 정보를 반복해서 설명하는 부담을 줄일 수 있었습니다. 그림으로 보면 다음과 같습니다.

물론 문서화만으로 AI가 모든 맥락을 정확하게 이해하는 것은 아닙니다. 필요한 문서를 적절하게 참조하도록 지시하고 결과를 확인하는 과정은 여전히 중요했습니다. 이번 경험을 통해 Markdown 문서가 장기간의 AI 개발 작업에서 분석 결과와 의사결정을 유지하는 공통 작업 기준으로 활용될 수 있다는 점을 확인했습니다.
5. Claude와 Codex를 활용한 교차 검증
5.1. AI Coding Agent 간 역할 분리와 검증
이번 개발 작업에서는 Claude가 구현을 담당하고, Codex가 구현 결과를 검증하도록 역할을 분리했습니다. 동일한 AI가 구현과 검증을 모두 수행할 경우 잘못된 판단을 반복할 가능성이 있다고 생각했기 때문입니다.
Claude가 구현을 완료하면 먼저 자신이 작성한 코드를 검토하고, Codex가 수행할 검증 작업을 상세한 프롬프트로 작성하도록 했습니다. 이후 Codex는 해당 프롬프트를 바탕으로 코드를 검토하고 문제점과 개선 사항을 제시했습니다.
검증 프롬프트를 구현자인 Claude가 작성했기 때문에 검토 범위가 Claude의 관점에 영향을 받을 수 있다는 한계도 있었습니다. 따라서 Codex의 리뷰 결과를 그대로 수용하지 않고 추가적인 검토 과정을 거쳤습니다.
5.2. 리뷰 결과 분류와 개발자의 최종 판단
Codex의 리뷰 결과를 다시 Claude에게 전달하고, 각 항목을 수락, 거부, 개발자 판단의 세 가지 기준으로 분류하도록 했습니다. 이때 각 항목의 분류 이유와 판단 근거를 반드시 제시하도록 했습니다. 저는 해당 근거를 검토하고, 설명이 부족하거나 타당하지 않은 경우 재검토를 요청했습니다.
전체적인 검증 과정은 다음 그림과 같습니다.

이번 방식의 목적은 AI 간 교차 검증으로 코드의 정확성을 보장하는 것이 아니라, 서로 다른 AI의 검토 결과를 근거와 함께 비교하고 개발자가 최종적으로 판단할 수 있도록 하는 것이었습니다.
이를 통해 AI가 코드 작성과 검증을 지원하더라도, 결과의 타당성을 평가하고 최종 결정을 내리는 개발자의 역할은 여전히 중요하다는 점을 확인했습니다.
6. 개발 결과
이번 개발 작업은 2026년 8월 1주 차부터 11월 2~3주 차까지 약 15~16주 일정으로 계획했습니다. AI Coding Agent 활용을 전제로 산정한 기간이었으며, 충분한 검증 시간을 확보하도록 설정했습니다.
그러나 작업 도중 고객사로부터 완료 일정을 10월 중순으로 앞당겨 달라는 요청이 있었습니다. 다행히 예상보다 빠르게 개발이 진행되어 9월 말 기준 전체 작업의 약 90%를 완료한 상태였으며, 이후 PDF 출력 기능 구현과 화면 내부 컴포넌트 위치 조정 등 마무리 작업을 진행했습니다.
결과적으로 검증에 할애할 수 있는 기간은 당초 계획보다 다소 줄어들었지만, 앞서 확보한 일정적 여유 덕분에 변경된 일정에도 무리 없이 대응할 수 있었습니다. 최종적으로 기존 시스템의 기능을 신규 환경에서 정상적으로 구현하고, 추가 요구사항까지 반영하여 배포했습니다.
이번 경험을 통해 AI Coding Agent가 코드 작성뿐 아니라 레거시 분석과 작업 계획 수립에도 유용하며, 예상치 못한 일정 변경에 대응할 수 있는 여유를 확보하는 데에도 도움이 될 수 있음을 확인했습니다.
7. 마치며
이번 개발 작업을 통해 AI Coding Agent가 단순한 코드 작성 도구를 넘어, 레거시 시스템 분석부터 설계 지원, 구현 및 검증까지 다양한 개발 과정에서 활용될 수 있다는 점을 경험했습니다.
특히 실제 코드 작성의 대부분을 AI가 담당했음에도 개발자의 역할이 줄어들었다고 느끼지는 않았습니다. 오히려 AI가 제시한 분석 결과를 이해하고, 적절한 설계 방향을 결정하며, 구현과 검증 결과의 타당성을 판단하는 과정이 더욱 중요해졌습니다.
이번 경험을 통해 앞으로는 AI 도구를 효과적으로 활용하는 능력과 함께, 필요한 기술 및 도메인 지식을 빠르게 습득하고 이를 바탕으로 올바른 판단을 내리는 능력이 개발자에게 더욱 중요해질 것이라고 생각했습니다.
AI Coding Agent가 발전할수록 개발자가 직접 코드를 작성하는 방식은 달라질 수 있습니다. 그러나 무엇을 구현해야 하는지 이해하고, 그 결과가 올바른지 판단하는 책임은 여전히 개발자에게 있다고 생각합니다.
Yang