Apple Intelligence 개발자 가이드 — on-device AI의 현재
Apple Intelligence 아키텍처, Foundation Models, Core ML 통합, App Intents, Private Cloud Compute까지. iOS 18.x 개발자가 알아야 할 AI API 전체 정리.
한 줄 요약: Apple Intelligence는 온디바이스 Foundation Model과 Private Cloud Compute를 결합한 아키텍처로 동작하며, Core ML·App Intents·Writing Tools API를 통해 iOS 18 이상 앱에 AI 기능을 통합할 수 있다.
- iOS/macOS 앱에 Apple Intelligence 기능을 연동하려는 개발자
- Core ML과 Foundation Models 프레임워크의 차이가 궁금한 경우
- Private Cloud Compute가 실제로 무엇을 보호하는지 이해하고 싶은 경우
- App Intents와 Siri AI 통합 방법을 실무 수준으로 파악하려는 경우
Apple Intelligence 아키텍처 전체 구조
Apple Intelligence는 단일 모델이 아니라 여러 계층이 협력하는 시스템이다. 핵심 구조는 세 개의 레이어로 나뉜다.
온디바이스 레이어(On-Device Layer): iPhone·iPad·Mac에서 직접 실행되는 소형 언어 모델. Apple Silicon의 Neural Engine을 활용해 약 3B 파라미터 규모의 모델을 로컬에서 추론한다. 응답 속도는 빠르고, 인터넷 연결 없이도 동작하며, 사용자 데이터가 기기 밖으로 나가지 않는다.
Private Cloud Compute(PCC) 레이어: 온디바이스로 처리하기 어려운 복잡한 요청이 들어오면 Apple의 PCC 서버로 올라간다. 이 서버는 Apple Silicon 기반의 전용 하드웨어에서 실행되며, 요청 처리 후 데이터가 서버에 남지 않도록 설계됐다. Apple은 PCC의 소프트웨어 스택을 외부 보안 연구자들이 검증할 수 있도록 공개(Transparency Log)했다.
클라우드 모델 레이어: 사용자가 직접 선택한 경우에 한해 ChatGPT(GPT-4o) 등 서드파티 모델로 요청이 전달된다. 이 경우 사용자에게 명시적인 동의를 요청한다.
Foundation Models 프레임워크 — 앱에서 직접 모델 호출하기
iOS 18.1부터 Apple은 FoundationModels 프레임워크를 공개했다. 이 프레임워크를 사용하면 앱에서 온디바이스 언어 모델을 직접 호출할 수 있다. 외부 API 키가 필요 없고, 네트워크 요청도 발생하지 않는다.
주요 클래스:
LanguageModelSession: 모델과 대화하는 세션 객체LanguageModelSession.Response: 스트리밍 또는 단일 응답Instructions: 시스템 프롬프트 역할을 하는 컨텍스트 설정
지원 기기는 iPhone 15 Pro 이상(A17 Pro), iPhone 16 전 라인업, M1 이상의 iPad·Mac이다. 기기가 지원되지 않거나 iOS 버전이 낮으면 LanguageModelSession 초기화가 실패하므로 반드시 가용성 확인이 필요하다.
Foundation Models — Swift 기본 사용 예시import FoundationModels // 가용성 확인 guard LanguageModelSession.isAvailable else { print("이 기기에서는 Foundation Models를 사용할 수 없습니다.") return } // 세션 생성 (시스템 프롬프트 포함) let session = LanguageModelSession( instructions: Instructions("당신은 코드 리뷰 전문가입니다. 간결하게 한국어로 답변하세요.") ) // 단순 요청 (async/await) let response = try await session.respond(to: "이 함수에서 메모리 누수가 발생할 수 있나요?") print(response.content) // 스트리밍 응답 let stream = session.streamResponse(to: "Swift concurrency의 structured concurrency를 설명해줘") for try await token in stream { print(token, terminator: "") }
제약사항 주의: Foundation Models 프레임워크의 온디바이스 모델은 범용 LLM이 아니다. 긴 코드 생성, 복잡한 수학, 최신 정보 조회 같은 작업에는 적합하지 않다. Apple이 의도한 주요 사용 사례는 짧은 텍스트 분류, 요약, 감정 분석, 간단한 질의응답이다.
Core ML과의 관계 — 커스텀 모델 통합 방법
Foundation Models는 Apple이 제공하는 모델을 그대로 쓰는 것이고, Core ML은 개발자가 직접 학습시킨 모델을 앱에 배포하는 프레임워크다. 두 가지는 목적이 다르다.
Core ML 사용 흐름:
- Python에서 PyTorch/TensorFlow로 모델 학습
coremltools로.mlpackage포맷 변환- Xcode에서 모델 파일 추가 → 자동으로 Swift 클래스 생성
MLModel·VNCoreMLRequest등으로 추론 실행
Apple은 Xcode 16부터 Core ML 모델 변환 워크플로우를 개선했다. Xcode 내에서 직접 .mlpackage 파일을 열면 모델 메타데이터, 입출력 스펙, 성능 프로파일을 바로 확인할 수 있다.
coremltools — PyTorch 모델을 .mlpackage로 변환import coremltools as ct import torch # PyTorch 모델 로드 (예: 텍스트 분류기) model = MyTextClassifier() model.load_state_dict(torch.load("classifier.pth")) model.eval() # 입력 스펙 정의 example_input = torch.zeros(1, 128, dtype=torch.int32) traced = torch.jit.trace(model, example_input) # Core ML 변환 mlmodel = ct.convert( traced, inputs=[ct.TensorType(name="input_ids", shape=(1, 128), dtype=int)], outputs=[ct.TensorType(name="logits")], minimum_deployment_target=ct.target.iOS17, compute_precision=ct.precision.FLOAT16, # Neural Engine 최적화 ) mlmodel.save("TextClassifier.mlpackage")
App Intents로 Siri AI 통합하기
Apple Intelligence에서 가장 실질적인 개발자 진입점은 App Intents 프레임워크다. App Intents를 구현하면 Siri가 앱의 기능을 AI로 호출할 수 있고, Shortcuts 앱과도 연동된다. iOS 18부터는 App Intents에 "Parameter Extraction" 기능이 강화돼 자연어 요청에서 파라미터를 자동으로 추출한다.
App Intents 구현 시 고려할 사항:
@AssistantIntent어노테이션으로 Siri AI에 노출할 인텐트 표시AppEntity로 앱 내 데이터 타입을 Siri가 이해할 수 있는 형태로 등록EntityQuery로 Siri의 검색 요청 처리IntentResultValue로 Siri가 결과를 음성/화면으로 표시하는 방식 정의
App Intents — 태스크 생성 인텐트 구현 예시import AppIntents // 앱 엔티티 정의 struct TaskEntity: AppEntity { static var typeDisplayRepresentation = TypeDisplayRepresentation(name: "작업") static var defaultQuery = TaskEntityQuery() var id: UUID var title: String var isCompleted: Bool var displayRepresentation: DisplayRepresentation { DisplayRepresentation(title: "\(title)") } } // 인텐트 정의 struct CreateTaskIntent: AppIntent { static var title: LocalizedStringResource = "작업 만들기" static var description = IntentDescription("새 작업을 추가합니다.") @Parameter(title: "작업 제목") var taskTitle: String @Parameter(title: "마감일", optionsProvider: DeadlineOptionsProvider()) var deadline: Date? func perform() async throws -> some IntentResult & ReturnsValue<TaskEntity> { let task = try await TaskManager.shared.create(title: taskTitle, deadline: deadline) return .result(value: TaskEntity(id: task.id, title: task.title, isCompleted: false)) } }
Writing Tools API와 텍스트 처리 기능
iOS 18.1의 Writing Tools는 UITextView·WKWebView에서 자동으로 활성화된다. 별도 구현 없이도 사용자가 텍스트를 선택하면 "교정", "재작성", "요약" 옵션이 나타난다. 개발자가 할 일은 Writing Tools의 동작 방식을 커스터마이즈하는 것이다.
커스터마이즈 옵션:
writingToolsBehavior = .limited: 전체 재작성 비활성화, 교정만 허용 (코드 에디터에 적합)writingToolsBehavior = .none: Writing Tools 완전 비활성화writingToolsBehavior = .complete: 기본값, 모든 기능 활성화
WKWebView에서는 WKWebViewConfiguration의 writingToolsBehavior 프로퍼티로 제어한다. 특히 코드 블록이나 마크다운 에디터를 만들 때는 .limited로 설정해 AI가 코드를 임의로 수정하지 못하도록 막는 것이 중요하다.
writingToolsBehavior = .none을 반드시 적용해야 한다.Private Cloud Compute — 보안 모델의 실제 의미
PCC는 Apple이 클라우드 AI를 운영하면서도 사용자 데이터를 보호한다는 주장의 기술적 근거다. 핵심 보안 속성은 세 가지다.
1. Stateless Processing: 각 요청은 독립적으로 처리되며, 이전 요청의 데이터가 다음 요청에 영향을 주지 않는다. 서버는 요청 처리 후 메모리를 초기화한다.
2. Enforceable Guarantees: Apple 직원도 PCC 서버에서 실행 중인 코드를 임의로 변경할 수 없다. 서버는 서명된 소프트웨어만 실행하며, 이 서명 목록은 Transparency Log에 공개된다.
3. No Privileged Access: PCC는 사용자 데이터(iCloud, 연락처, 사진 등)에 접근할 수 없다. 처리에 필요한 최소한의 데이터만 요청 본문에 포함돼 전달된다.
Apple은 보안 연구자들이 PCC 소프트웨어 스택을 검증할 수 있도록 Apple Security Research 사이트에서 관련 자료와 가상 환경(Virtual Research Environment)을 제공한다.
개발자 관점의 실무 의미: 앱이 Apple Intelligence 기능을 쓰더라도 사용자 데이터를 개발자의 서버로 전송하지 않아도 된다. Apple의 인프라가 데이터를 처리하므로, GDPR·개인정보보호법 컴플라이언스 측면에서 앱의 개인정보 처리방침 작성이 단순해진다. 단, PCC로 전달되는 데이터의 내용과 조건은 Apple의 Apple Intelligence 개발자 문서에서 확인해야 한다.
Xcode 16의 AI 기능 — 실무 활용 포인트
Xcode 16은 Apple Intelligence와 별개로 내장 AI 기능을 여러 가지 추가했다.
Swift Assist (베타): 코드 편집기 내에서 자연어로 코드 수정을 요청한다. "이 함수에 에러 처리 추가해줘", "이 루프를 async/await로 변환해줘" 같은 요청이 가능하다. Apple Silicon Mac 전용이며, 처리는 PCC에서 이루어진다.
Predictive Code Completion: Xcode 15까지의 단순 자동완성과 달리, 현재 파일 컨텍스트를 분석해 여러 줄에 걸친 코드 완성을 제안한다. GitHub Copilot과 유사한 경험이지만 완전히 온디바이스에서 동작한다.
Smart Rename: 변수·함수 이름 변경 시 관련된 주석, 문서, 스트링 리터럴까지 자동으로 업데이트 제안을 한다.
주의할 점은 Swift Assist가 현재 베타 기능이라 정확도가 일정하지 않다는 것이다. 특히 SwiftUI 프리뷰 코드 생성이나 복잡한 제네릭 타입 추론에서 오류가 발생하는 경우가 있다. 생성된 코드는 반드시 컴파일·실행 테스트를 거쳐야 한다.
iOS 18.x에서 달라진 AI 관련 API 정리
Apple Intelligence 관련 API가 iOS 18 출시 이후 마이너 버전마다 지속적으로 추가·변경됐다. 버전별 주요 변경 사항을 정리한다.
iOS 18.0: Apple Intelligence 미포함 (기반 인프라만 준비). App Intents 강화, Control Center 커스터마이즈 API 추가.
iOS 18.1: Apple Intelligence 첫 출시 (미국 영어 한정). Writing Tools, Siri 자연어 개선, Image Playground, Clean Up(사진 앱). Foundation Models 프레임워크 비공개 베타.
iOS 18.2: ChatGPT 통합, Genmoji, Image Playground 개선, Visual Intelligence(iPhone 16 카메라 버튼), Siri 화면 컨텍스트 인식. Apple Intelligence 영어권 국가 확대.
iOS 18.3~18.4: 추가 언어 지원 로드맵. 한국어 지원은 2026년 중 예정으로 알려져 있으나, Apple 공식 발표에 따라 달라질 수 있다. 현재 한국 App Store 앱에서도 Writing Tools는 영어 텍스트에 한해 동작한다.