I Let One AI Agent Ship My Entire iOS Portfolio. Here's What Broke.
개요
Claude Code 에이전트가 승인된 네 가지 주요 단계에서만 작동하여 4개의 iOS 앱을 구축하고 App Store 출시 준비를 완료했으며, 이 과정에서 4시간의 인간 결정 시간과 에이전트의 지속적인 작업이 소요되었습니다.
주요 내용
* autonome 에이전트의 성과: 단일 Claude Code 에이전트가 2주 동안 4개의 오프라인 우선 iOS 앱 (AutoChoice, AltitudeNow, DaysUntil, PromptVault)을 스캐폴딩, 폴리싱 및 출시 준비했습니다.
* 앱의 공통 특성: 모든 앱은 오프라인 우선, 2.99달러의 일회성 IAP, 분석 SDK 미사용, 소스 코드에서 검증 가능한 Privacy Manifest 준수를 특징으로 합니다.
* 네트워크 통신 미사용: 개발된 4개의 앱 바이너리는 nm -gU <app>.app/<app> | grep -iE 'URL|HTTP|Network' 명령어로 확인할 때 어떠한 네트워크 호출도 수행하지 않습니다.
* Privacy Manifest: Privacy Manifest는 데이터 수집이 없음을 선언하며, 소스 코드에서 이를 확인할 수 있습니다.
* 오케스트레이션 레이어의 중요성: 에이전트의 작동을 위해 인간이 구축해야 하는 오케스트레이션 레이어가 핵심 병목 현상으로, 메모리 시스템, state.yml, ADR (decisions.md), RESUME.md를 포함하여 에이전트가 컨텍스트를 효율적으로 유지하고 세션을 재개할 수 있도록 합니다.
* 에이전트의 강점:
* 저장소 스캐폴딩: 새 프로젝트에 작업 템플릿을 복제하고 검색 및 바꾸기 작업을 수행하며 Swift 네이밍 충돌을 해결하는 데 시간을 단축합니다.
* 크로스 플랫폼 추론: Xcode, fastlane, match, StoreKit 2, Privacy Manifest, ASC API 등 복잡한 iOS 빌드/서명/릴리스 프로세스에 대한 이해를 통합합니다.
* 크로스 플랫폼 데이터 수집: Bilibili 및 Xiaohongshu에서 데이터를 수집하고 분류하여 PromptVault 앱의 기반이 되는 사용자 행동 신호를 도출합니다.
* 에이전트의 한계:
* 감각적 판단: 앱 아이콘과 같은 미적 결정은 인간보다 뛰어나지 않습니다.
* 도메인 전문성 부족: 학습 데이터 외의 새로운 클라이언트 측 요청 서명 스킴과 같은 경우, 외부의 명확한 지침 없이는 문제를 해결하지 못합니다.
* 가역적/비가역적 행동 구분: 명확한 게이트가 없으면 가역적 행동에 대해 과도하게 질문하고 비가역적 행동에 대해서는 덜 질문합니다.
* 가격 책정 가설: 유틸리티 앱의 경우 2.99달러의 일회성 IAP가 2026년에 더 나은 수익 모델이 될 수 있다는 가설을 테스트합니다.
* 에이전트가 수행하지 않은 작업: 자체 개인정보처리방침 작성, 가격 책정/카테고리/출시 여부 결정, Apple Developer 계정/결제 정보 접근, 인간의 명시적 승인 없는 App Store 배포.
* 에이전트가 수행한 작업: 사소한 구현 결정 (변수명, 파일 구조, 오류 처리 등), 4개 앱 스캐폴딩 결정 (인간 승인 하), 브랜드 아이덴티티 선택 (아이콘, 색상 팔레트, 톤), 제약 조건 협상 (Swift 6 엄격 동시성 경고 수정).
* 후속 내용 예고: Xiaohongshu 컬렉션 API 수집 과정 및 CORS 문제, Claude Code 에이전트의 메모리 레이어에 대한 후속 기사가 예정되어 있습니다.
시사점
이 실험은 AI 에이전트가 iOS 앱 개발의 상당 부분을 자동화할 수 있는 잠재력을 보여주지만, 효율적인 작동을 위해서는 인간이 구축하는 정교한 오케스트레이션 레이어가 필수적이며, 이는 향후 개발의 주요 과제가 될 것입니다.
댓글
GitHub Discussions