![[의존성의 방향을 따라 3/5] OpenRewrite와 Claude가 코드를 변환한다](https://cdn.sanity.io/images/v31psllp/production/513466e8841f7be5ac64a4a39112acafe4a63c6d-1684x1030.png)
15
AI 요약
이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.
이 게시물은 OpenRewrite와 Claude를 분업해 50개 레포의 안전한 버전업을 반복 가능하게 만드는 구조를 소개합니다.
Updater가 의존성/마이그레이션 등 규칙 기반 변환은 OpenRewrite AST 변환으로 결정론 적용하고, 빌드 실행 후 실패 시 Claude가 빌드 로그를 분석해 예외적 수정을 생성합니다.
OpenRewrite 변환은 sed나 정규식이 아닌 AST 기반으로 메서드 호출과 인자 단위만 정확히 치환하며, recipe(YAML 또는 코드)로 구성하고 조합해 큰 마이그레이션을 만듭니다.
각 레포의 build.gradle.kts 수정 없이 init script로 OpenRewrite를 주입해 rewriteRun에서 in-place로 변환을 적용하고, 동일 recipe의 재현성과 idempotency를 확보합니다.
recipe만으로 어려운 비즈니스 판단(예: nullable 처리 선택지)은 Claude가 제안하되 빌드 가드레일과 테스트로 검증합니다.
recipe는 테스트 가능하며 조건부/조건 만족 시에만 적용해 여러 번 실행해도 동일 결과를 내도록 설계해야 함을 정리합니다.
![[미래를 담아낸 뼈대 7/7] 의존성의 방향을 따라](https://cdn.sanity.io/images/v31psllp/production/85a2456afffb0f96fb7c09ce89e31b7ad3400ab7-1684x1030.png)
![[의존성의 방향을 따라 2/5] 의존 그래프를 읽는 Planner](https://cdn.sanity.io/images/v31psllp/production/cfc2fee7bc9a333e841c5c5cf5cc07721137979c-1684x1030.png)
![[AI가 읽을 수 있는 코드베이스 1/5] Agentic Engineering: 빌드가 에이전트를 가르친다](https://cdn.sanity.io/images/v31psllp/production/8c8e4c82ffacf0453ef46f35bdbe0b0d828d9082-1684x1030.png)