Chapter 02

개발 계획
— 어떻게 만들까

구상 단계에서 방향이 결정됐습니다.
이제 AI가 기술 격차를 분석하고,
이를 메울 에이전트 아키텍처를 설계합니다.

1단계 · 기술 격차 파악

AI가 무엇을 모르는지 먼저 정리했다

Android/iOS 모바일 개발은 처음입니다. AI에게 "이 기능을 구현하려면 어떤 지식이 필요하고, 우리 팀에 무엇이 없는가?"를 물었습니다.

AI에게 던진 핵심 질문
"Android Kotlin + MVVM 코드베이스에 이 기능을 추가하려면 어떤 기술 격차가 있는가?
iOS Objective-C 84.7% 레거시 코드베이스에 Swift로 동일 기능을 포팅하려면?"
AI가 기술 격차를 6개 영역으로 분류하고, 각각에 전담 에이전트를 배치하는 전략을 제안했습니다.
기술 격차 플랫폼 담당 에이전트
Kotlin · MVVM 패턴 이해 부족 Android 🤖 KotlinDroid
Swift · PhotoKit API 경험 없음 iOS 🦅 SwiftKit
Obj-C 레거시 코드 84.7% — 해독 불가 iOS 🔓 ObjCDecoder
Android → iOS 포팅 전략 없음 iOS ⚗️ PortingAlchemy
10,000장 3초 처리 최적화 방법 불명 공통 ⚡ MobilePerf
EXIF · GPS 데이터 파이프라인 설계 공통 📷 PhotoPipeline
2단계 · 커스텀 에이전트 설계

격차마다 전담 에이전트를 배치했다

범용 AI로 모든 격차를 채우는 것은 비효율적입니다. AI가 제안한 전략은 각 기술 격차에 특화된 에이전트를 설계하는 것이었습니다. 에이전트는 .claude/agents/에 정의됩니다.

코드 생성
🤖
KotlinDroid
Kotlin · MVVM 패턴
결과물 기존 패턴 100% 호환 Kotlin 구현체
코드 생성
🦅
SwiftKit
Swift · PhotoKit
결과물 Xcode 빌드 가능한 Swift 구현체
코드 생성
📷
PhotoPipeline
EXIF · GPS 파이프라인
결과물 클러스터링 입력용 통합 파이프라인
분석 전용
🔓
ObjCDecoder
Obj-C 레거시 84.7%
결과물 레거시 손상 없는 안전 수정 맵
분석 전용
⚗️
PortingAlchemy
Android → iOS 포팅
결과물 Kotlin ↔ Swift API 매핑 테이블
분석 전용
MobilePerf
10,000장 3초 성능
결과물 성능 진단 보고서 + 최적화 전략

// 분석 에이전트 → 코드 생성 에이전트 의존성

🔓 ObjCDecoder🦅 SwiftKit안전 수정 맵 전달
⚗️ PortingAlchemy🦅 SwiftKitAPI 매핑 테이블
⚗️ PortingAlchemy🤖 KotlinDroidAPI 매핑 테이블
⚡ MobilePerf🤖 KotlinDroid성능 전략 전달
⚡ MobilePerf🦅 SwiftKit성능 전략 전달
📷 PhotoPipeline🤖 KotlinDroidPhotoMetaDto 전달
★ 에이전트 설계 원칙
"분석 에이전트가 먼저 판단하고,
그 결과를 코드 생성 에이전트에 전달한다."
분석(ReadOnly)과 생성(CodeGen)을 분리함으로써 레거시를 손상시키지 않고 안전하게 새 코드를 추가할 수 있습니다.
3단계 · 로드맵 수립

AI가 실행 순서를 결정했다

에이전트 아키텍처가 완성된 후, AI가 "어떤 순서로 실행할 것인가"를 결정했습니다. 의존성이 낮은 Android를 먼저, iOS는 Android에서 검증된 패턴을 이어받아 포팅합니다.

Phase 1 · Android
1~2주차
Android

기존 코드베이스 분석부터 시작합니다. MediaStore API로 EXIF 파이프라인을 구축하고, 이벤트 클러스터링과 UI, 서버 연동을 완성합니다.

기존 코드베이스 분석
🤖 KotlinDroid
MediaStore API 연동 — EXIF 추출
🤖 KotlinDroid📷 PhotoPipeline
이벤트 클러스터링 구현
📷 PhotoPipeline⚡ MobilePerf
포토북 후보 UI 구현
🤖 KotlinDroid
서버 API 연동
🤖 KotlinDroid
Phase 2 · iOS 포팅
3~4주차
iOS

분석 에이전트(ObjCDecoder, PortingAlchemy)가 먼저 레거시를 해독하고 매핑 테이블을 만든 후, SwiftKit이 동일 기능을 Swift로 구현합니다.

iOS 코드베이스 분석 — Obj-C 레거시 해독
🔓 ObjCDecoder
Android → iOS 포팅 전략 수립
⚗️ PortingAlchemy
PhotoKit API 연동
🦅 SwiftKit
동일 클러스터링 로직 완성
🦅 SwiftKit⚡ MobilePerf
Phase 3 · 고도화
5주차~
선택

EXIF 기반으로 빠른 사용자 경험을 확보한 뒤, 백그라운드 심층 분석으로 품질을 높입니다.

백그라운드 분석 (WorkManager / BGTaskScheduler)
🤖 KotlinDroid🦅 SwiftKit
NIMA 품질 분석 연동
📷 PhotoPipeline
🗺️
이 단계의 산출물
에이전트 아키텍처 + 3단계 개발 로드맵
6개 커스텀 에이전트 정의 파일과 Phase별 실행 계획입니다. 이제 실제 개발을 시작할 준비가 됐습니다. 다음 단계에서는 이 계획을 어떻게 실행하는지, 즉 Claude Desktop과 Claude Code를 어떻게 협업시키는지를 설명합니다.