
AI已经深入了我们生活,我们使用豆包、元宝、千问来问答,使用豆包、WorkBuddy来办公,使用Codex、Claude Code来写代码。
不知道大家有没有发现一个问题:这些AI能力仍旧在手机或电脑的应用里。我们要想使用AI能力,还是得解锁手机、打开某个应用,才能使用。
有没有一种可能,我们拿起手机,就直接使用其AI能力?
比如,我们想给朋友转个账,直接对着手机说用微信给我的朋友A转2000元,然后手机自动调用微信的服务,开始转账,需要身份确认时手机会让你确认。整个过程不需要我们点击打开App、不需要输入任何东西。
再比如
约课,我们直接对着手机说“在xx软件里约一节周日10:00-11:00的某个老师的课”,系统就会自己去操作,遇到某些错误时自动提醒,比如该老师该时间段已经有课,该时间段可选的老师还有...。订餐:直接对着手机说“在xx软件里给我定一杯昨天喝过的咖啡”。
让手机真正成为人的助手,需要什么只要说一句就可以,当不需要它的时候,甚至感受不到它的存在。
上述的能力,利用Agent其实完全可以做到。每个App开放自己的服务能力给系统Agent,当系统收到用户的指令时,交给Agent处理,Agent调用相关App暴漏的服务,自动完成用户的需求,最终告知用户结果。
其实,iOS和Android系统已经在给开发者提供类似的接口了。
iOS的App Intents
把 App 的操作和数据声明给 iOS 系统,让 Siri、Spotlight、快捷指令、Widget、控制中心等系统功能可以发现并调用。
AppIntent / AppEntity↓系统生成元数据↓Siri / Spotlight / Shortcuts / Widget↓perform()
Apple 官方把 App Intents 定义为一个用于“让 App 的内容和操作在 App 外部可用”的框架。”
App Intent:描述一个可执行动作
例如:
开始一次健身训练
播放一首歌
创建一条笔记
发送一条消息
打开某个页面
将商品加入购物车
一个 App Intent 通常需要:
一个本地化标题和描述
必要的参数
一个 perform() 方法
成功或失败的返回结果
import AppIntentsstructCreateNoteIntent: AppIntent {static var title: LocalizedStringResource = "Create Note"@Parameter(title: "Content")var content: Stringfunc perform() async throws -> some IntentResult {// 调用应用自己的业务逻辑try await NoteStore.create(content: content)return .result()}}
这里的 AppIntent 并不是单纯的 UI 快捷方式,而是 App 对外暴露的一个“结构化动作”。
App Entity:描述 App 中的数据
如果动作需要操作某个具体对象,就需要使用 AppEntity。
例如:
一首歌
一张照片
一条笔记
一个日历事件
一个旅行目的地
AppEntity 通常需要:
唯一标识符
可展示的标题和描述
查询对象,用于根据名称或 ID 找到实体
关键属性
例如用户说:“播放专辑《Kind of Blue》”
Siri 需要先通过 AppEntity 和查询逻辑找到对应专辑,再把它传给 App Intent。
App Enum:描述有限选项
AppEnum 用于定义有限的枚举选项,例如:
任务优先级:高、中、低
邮件状态:已读、未读
播放模式:单曲、列表、随机
商品尺码:S、M、L
它的重点是告诉系统每个选项应该如何展示和解析。
可以接入哪些系统能力?
根据 Apple 官方文档,App Intents 可以用于:
Siri
Apple Intelligence
Spotlight
Shortcuts
Widget、Controls、Live Activities
Action Button
Focus 模式
Visual Intelligence
后台 App Intent Extension
其中:
App Intent 是基础动作;
App Entity 是基础数据;
App Shortcut 是为用户提供更直接、更易发现的 Siri 或快捷指令入口;
Donation 可以把用户过去执行过的动作和使用过的实体反馈给系统,用于后续推荐。
前台和后台执行
Apple 官方还区分了:
必须打开 App 执行的 Intent;
可以在后台执行的 Intent;
需要通过 App Extension 执行的 Intent。
因此,App Intent 的实现最好和 UI 层、业务逻辑层解耦。可以把共享逻辑放到 Swift Package 或独立模块中,让主 App 和 Extension 共用。
iOS 版本
App Intents 框架从 iOS 16 开始提供,另外支持:
iPadOS 16+
macOS 13+
watchOS 9+
tvOS 16+
visionOS 1+
但 Apple Intelligence 相关能力还依赖具体系统版本、设备、地区和功能开放状态,不能简单理解为“iOS 16 设备都支持 Apple Intelligence”。
关于iOS的App Intents我们今天先聊到这里,在下一篇文章中我们来看Android的AppFunctions。
1
END
1

球分享

球点赞

球在看
夜雨聆风