LFZ 的技术笔记

标签: App Intents

  • 🔥 WWDC 2026 深度解读:Siri AI 时代到来,开发者如何迁移到 App Intents?

    🔥 WWDC 2026 深度解读:Siri AI 时代到来,开发者如何迁移到 App Intents?

    WWDC 2026 上,Apple 正式发布了由 Google Gemini 1.2T 模型驱动的全新 Siri AI,同时宣布弃用运行了十年的 SiriKit,强制开发者迁移到 App Intents 框架。这是自 2016 年 SiriKit 推出以来最大的一次架构变革。本文为开发者解读技术细节,并提供可操作的迁移指南。


    🔥 Siri AI 的技术架构

    新的 Siri AI 采用混合处理架构:简单请求在设备端由 Apple Foundation Models 处理,复杂查询则路由到 Google Cloud 上的 Nvidia Blackwell B200 GPU 运行 Gemini 模型。

    • 设备端:Apple 自研 Foundation Models,处理本地语音/文本指令
    • 云端:1.2T 参数 Gemini 专版,支持多步推理、跨设备对话历史、图片/文档附件
    • 隐私保护:Nvidia 硬件级机密计算加密,Apple 合同禁止 Google 用 Siri 数据训练模型
    • 成本:小开发者可免费使用 Private Cloud Compute(App Store Small Business Program 成员且应用首次下载<200万)

    对开发者来说,最核心的变化是:Siri 不再是”我说你听”的单轮问答,而是支持多轮对话、跨 App 链式操作的智能代理


    ⚠️ 关键变化:SiriKit 退役,App Intents 成为唯一入口

    这是本次 WWDC 对开发者影响最大的决策。

    Apple 给了 2-3 年迁移窗口期,但最终所有 Siri 交互必须通过 App Intents。未迁移的应用在 Siri AI 中将”功能不可见”——Siri 无法发现和调用它们的任何能力。

    SiriKit vs App Intents 对比

    维度SiriKit(已弃用)App Intents(强制迁移)
    定义方式XML Intent 定义文件纯 Swift,编译器生成元数据
    处理流程独立的 Intent Extension 进程直接向 App 发起 perform 请求
    发现机制有限的固定 Intent 域OS 读取元数据,无需启动 App
    对话能力单轮,以 Siri 卡片结束流式多轮,支持后续追问
    跨 App 链式不支持Siri AI 可自动编排多个 App Intent

    💻 App Intents 代码实战

    以下是一个最小可用的 App Intent 示例——让 Siri AI 能发现并执行”记录健身”操作:

    // 导入 App Intents 框架
    import AppIntents
    
    // 定义一个 Siri AI 可自动发现的动作
    struct LogWorkoutIntent: AppIntent {
        // 意图标题(Siri 用它匹配用户自然语言)
        static let title: LocalizedStringResource = "记录健身"
    
        // 参数:活动类型
        @Parameter(title: "活动类型")
        var activity: String
    
        // 参数:持续时间(分钟)
        @Parameter(title: "时长(分钟)")
        var minutes: Int
    
        // 执行逻辑
        func perform() async throws -> some IntentResult & ProvidesDialog {
            // 调用你的业务逻辑
            try await WorkoutStore.shared.log(activity, minutes: minutes)
            // 返回对话式反馈给 Siri
            return .result(dialog: "已记录 \(minutes) 分钟 \(activity)")
        }
    }

    关键要点:

    • 使用 @Parameter 声明参数,Siri AI 会自动提取用户话语中的信息填充
    • 返回 ProvidesDialog 可实现对话式回复,支持多轮交互
    • 所有 Intent 必须在 Info.plist 中注册(Xcode 27 支持自动发现)

    🧠 Foundation Models Framework:直接调用 Apple Intelligence

    WWDC 26 新引入的 Foundation Models Framework 让开发者可以直接在 App 中调用 Apple 的设备端和云端 AI 模型——不仅是 Siri 功能,而是任何 AI 场景。

    import FoundationModels
    
    // 创建模型实例(设备端优先,自动降级到云端)
    let model = try await LLM.shared.createModel()
    
    // 多模态提示——传图片+文字
    let response = try await model.generate(
        prompt: .text("描述这张图片中的场景"),
        attachments: [.image(screenshot)]
    )
    print(response.text)

    该框架还提供了 fm CLI 命令行工具和 Python SDK,可以在构建脚本或 CI 流程中调用 Apple AI。配合新的 Evaluations 框架,可以编写自动化测试来验证 AI 功能的正确性。


    ⚙️ Xcode 27:设备端 AI 编程助手

    Xcode 27 内置了 Apple Intelligence 驱动的代码补全,支持预测性多行补全,全部在设备端 Apple Silicon 上运行,不泄露代码。同时开放第三方模型接口——开发者可以配置 Xcode 将补全请求路由到外部 AI 模型。


    📋 开发者迁移清单

    1. 审计 SiriKit:盘点所有语音功能,评估迁移影响范围
    2. 实现 App Intents:优先覆盖 3-5 个核心用户操作,支持流式多轮
    3. 配置隐私清单:用新 API 声明哪些 Intent 可上云、哪些必须留在设备端
    4. 适配折叠屏 API:新增 Adaptive Layout,处理铰链状态检测
    5. 迁移 UI:过渡到 Liquid Glass 2 设计语言(新设计 Token + 透明度滑块)
    6. 注册 App Intents Testing:用新测试框架验证 Siri/Shortcuts/Spotlight 集成

    💡 快速参考卡片

    操作关键命令/API
    定义 App Intentstruct XxxIntent: AppIntent
    声明参数@Parameter(title: "参数名")
    执行 + 对话回复func perform() -> ProvidesDialog
    调用设备端 AILLM.shared.createModel()
    CLI 调用 AIfm prompt "你的指令"
    调试 AI 性能Xcode 27 Instruments→ AI Profiling
    测试 App IntentsApp Intents Testing Framework

    WWDC 2026 标志着 Siri 从”语音助手”进化为”AI 代理”——而 App Intents 就是开发者接入这个新生态的钥匙。建议团队现在就开始迁移计划,2-3 年的窗口看似充裕,但 Core 功能的 Intents 设计和测试需要时间迭代。