Section 14/142 menit

14. Ringkasan & Decision Guide

14. Ringkasan & Decision Guide

Skenario Rekomendasi
Percakapan multi-turn Satu LanguageModelSession per conversation thread, hidup selama UI screen aktif
Task independen (summarize, extract) Session baru per task — tidak perlu retain
Banyak task paralel Buat session baru per task, jalankan dengan TaskGroup
Output harus konsisten dan type-safe @Generable + @Guide yang deskriptif
Output AI tidak perlu divalidasi tipenya respond(to:) biasa — tapi tambahkan validasi manual
Tool bisa gagal Kembalikan pesan error informatif dari ToolOutput — jangan throw dari call()
Session terlalu panjang Implementasi periodic reset dengan summary, atau gunakan context compaction alami
Testing fitur AI Protocol-based mocking + XCTSkip jika model tidak tersedia
Data sensitif (PII) Sanitasi sebelum kirim ke model, meski on-device
Latensi penting Decomposisi task, streaming untuk UX, paralel session untuk batch

Pola Arsitektur yang Direkomendasikan

swift
Lapisan UI (SwiftUI / UIKit)
    ↓ input dari user
@Observable ViewModel  ←→  AISessionManager (actor)
    ↑ result                    ↓
    ↑                   LanguageModelSession(s)
    ↑                           ↓
    ↑                   Tool implementations
    ↑                           ↓
    ↑               Foundation Models Framework
    ↑                    (on-device)
    └─── update state ──────────┘

Kunci desain: pisahkan LanguageModelSession dari ViewModel menggunakan protocol atau actor boundary. Ini memungkinkan testing, swapping implementasi, dan isolation yang bersih.

Langkah Belajar Selanjutnya

Setelah menguasai Foundation Models secara mendalam, langkah logis berikutnya:

  • App Intents (app-intents-guide.md) — integrasikan AI session dengan Siri dan Shortcuts agar pengguna bisa trigger fitur AI via suara
  • Core ML (coreml-guide.md) — untuk task yang butuh custom model (klasifikasi gambar, deteksi objek) yang tidak bisa dilakukan Foundation Models
  • SwiftData (swiftdata-guide.md) — simpan hasil analisis AI secara persisten dan efisien
  • Swift Testing (swift6-swift-testing.md) — bangun test suite yang robust untuk fitur AI Anda dengan strategi mocking yang sudah dibahas di file ini