首页 > Ai资讯 > Ai日报 > 苹果正式推出集成 Siri 和 Apple Intelligence新框架 Siri可以实时读取你屏幕信息并执行操作

苹果正式推出集成 Siri 和 Apple Intelligence新框架 Siri可以实时读取你屏幕信息并执行操作

发布时间:2024年11月18日

苹果正式推出集成Siri 和 Apple Intelligence新框架:App Intents ,允许开发者在 iOS 18.2+、macOS 15.2+ 等平台上,让其应用的屏幕内容可被 Siri 和 Apple Intelligence 访问读取并执行相应的操作。

App Intents 可以让开发者把应用的功能和内容更深地融入系统体验中,比如 Siri、Spotlight 搜索、快捷指令(Shortcuts)和小组件(Widgets)。通过这个框架,用户能够更轻松地访问应用的核心功能,而 Siri 也可以更智能地帮助用户。

使用 App Intents 后,你的应用可以做到以下几点:

  • 通过 Siri 直接控制应用:用户可以对 Siri 说“查找我的航班”或“添加待办事项”等命令,Siri 会直接与应用交互。
  • 让应用内容出现在 Spotlight 搜索中:用户无需打开应用就可以在 Spotlight 搜索到内容,比如从笔记应用中找到某个笔记内容。
  • 支持快捷指令和自动化操作:用户可以创建快捷指令,在特定情境下自动执行应用操作。
  • 使用硬件按钮触发操作:支持用户通过 iPhone 或 Apple Watch 上的按钮直接启动特定功能。

App Intents 的基本组成部分

  1. App Intent(应用意图):定义应用中用户可以触发的具体操作,比如“打开文档”或“发送消息”。当用户通过 Siri、快捷指令或 Spotlight 搜索时,这些意图可以被直接调用。
  2. App Entity(应用实体):表示应用中的具体内容,比如照片、联系人或文件。通过定义 App Entity,用户可以在 Spotlight 或 Siri 中搜索并访问这些内容。比如,一个食谱应用可以定义“食谱”实体,用户可以通过 Siri 搜索具体的菜谱。
  3. App Enum(应用选项):用于定义一组选项,例如照片应用中的“相册分类”或任务管理应用中的“任务状态”。这样,Siri 在识别用户请求时可以更好地理解内容的上下文。

使用快捷指令和自动化功能

App Intents 允许用户通过快捷指令应用(Shortcuts)设置自动化操作。例如,用户可以创建一个“早上好”快捷指令,让 Siri 在早上自动打开新闻应用,显示当天的新闻。

支持硬件交互

App Intents 还支持通过 iPhone 和 Apple Watch 上的物理按钮直接启动应用操作。例如,在 iPhone 的操作按钮或 Apple Watch 上,用户可以设置快捷方式,比如“一键打开相机”或“启动健身追踪”。

App Intents 的实际应用场景

举个更具体的例子,假设你开发了一款旅行助手应用:

  1. 查询航班信息:通过 App Intent 定义“查看航班”操作,用户可以对 Siri 说“查找我的航班”,Siri 会直接从应用中提取相关信息。
  2. Spotlight 搜索支持:用户在 Spotlight 中搜索航班号,就可以找到对应的航班信息,甚至不用打开应用。
  3. 快捷指令支持:用户可以设置一个快捷指令,例如“出差模式”,点击一下可以自动显示天气、航班和酒店信息。
  4. Apple Watch 操作按钮:用户可以设置 Apple Watch 的操作按钮,快速访问当前航班信息或行程安排。

让应用内容与 Siri 和 Apple Intelligence 交互

苹果同时正式推出全新的集成 API ,通过这项新功能,当用户在应用中查看某些内容(例如文档、图片或网页)时,可以直接使用 Siri 询问内容的具体信息或进行操作。也就是Siri 会时刻查看你的应用屏幕信息,读取你的屏幕内容,随时听从你的召唤来进行操作。

例如,用户在阅读一个文档时,可以对 Siri 说“这份文件的主要内容是什么?”然后 Siri 可以通过开发者提供的内容结构回答这个问题。

使用场景举例

假设有一个文档阅读应用和一个邮件客户端,用户在这两个应用中都可以直接通过 Siri 获取帮助:

  • 文档阅读应用:用户正在阅读一份报告,他可以问 Siri“这份报告的结论是什么?” Siri 会读取应用提供的文档内容,并总结结论。
  • 邮件客户端:用户收到一封长邮件,但没有时间阅读,可以对 Siri 说“总结一下这封邮件的内容。” Siri 会通过应用的邮件内容为用户提供简要的概述。

通过为 Siri 和 Apple Intelligence 提供应用的屏幕内容,开发者可以提升用户体验,使他们能够更直观地使用 Siri 进行查询、获取内容信息和执行操作。此外,这种集成支持第三方服务,使应用在 Apple 的生态系统中更具互动性和便捷性。

如何实现

开发者需要通过 AppEntity(应用实体)来定义应用内的内容。AppEntity 是一种数据结构,它可以描述特定的内容类型,例如照片、文档或网页链接。创建 AppEntity 后,开发者需要将它与应用的 NSUserActivity 对象关联,使系统可以识别并跟踪这些内容。

例如,开发者在图片查看应用中创建一个表示照片的 AppEntity,然后将它与用户的“正在查看照片”这个活动关联,这样 Siri 就能理解用户正在查看的具体内容。

使用 Transferable 协议以支持多种内容格式

为了让 Siri 可以将应用内容与其他服务共享或显示,AppEntity 需要符合 Transferable 协议。该协议允许开发者定义内容的多种表示形式(如富文本、纯文本、PDF、图片等)。这样,无论用户是在发送邮件、保存文件,还是需要内容的不同形式,Siri 都可以处理这些请求。

例如,一个邮件应用可以将一封邮件的内容定义为富文本、纯文本和 PDF 三种形式,Siri 可以根据用户的需求选择最合适的格式来显示或分享内容。

集成操作至 Siri 和 Apple Intelligence

苹果还为开发者提供了将应用操作和内容与 Siri 和 Apple Intelligence 集成的方式,从而让用户通过 Siri 更便捷地与应用交互。

也就是Siri 和 Apple Intelligence 不仅可以读取屏幕信息,还可以根据用户的要求来和应用互动,执行相应的操作和完成任务。

使用特定领域的助手架构(Assistant Schema)实现功能

Apple 提供了多个助手架构(Assistant Schema),每个架构都对应不同的内容领域(例如浏览器、文档阅读器、文件管理等)。这些架构帮助 Siri 根据内容的类型提供定制化的响应。例如:

  • 浏览器架构:如果一个应用是浏览器,开发者可以使用 .browser.tab 这个架构,用户可以询问 Siri 有关当前网页的问题。
  • 文件管理架构:对于文件管理应用,开发者可以使用 .files.file 架构,用户可以请求 Siri 总结文件内容。
  • 照片架构:对于照片应用,使用 .photos.asset 架构,用户可以让 Siri 回答关于照片中的对象问题(例如描述照片中的内容)。

通过使用这些助手架构,开发者可以确保 Siri 能够理解不同内容领域的请求,提供更加智能和上下文相关的回答。

什么是助手架构(Assistant Schema)?

助手架构可以理解为一组标准化的“模板”,Apple 设计这些模板是为了帮助 Siri 识别应用的具体功能。比如,如果你的应用是图片管理类的,那么使用 photos.openAsset 这样的架构,可以让 Siri 理解你要展示一张照片。

关键组成部分

  • AppIntent:定义用户可以通过 Siri 触发的功能(比如打开一张照片)。
  • AppEntity:表示应用中的特定内容(比如一张具体的照片或一个文件)。
  • AppEnum:用于定义可选项(比如图片分类的不同选项)。
 如何开始集成 Siri 和 Apple Intelligence?

要开始,开发者需要创建符合这些助手架构的代码。Apple 提供了一些 Swift 代码的“快捷方式”,称为“宏”,来帮助开发者快速生成符合架构要求的代码。

举个例子,如果你的应用中有“查看图片”这一功能,可以用以下代码告诉 Siri 这是一个照片查看的功能:

@AssistantIntent(schema: .photos.openAsset)
struct OpenAssetIntent: AppIntent {
var target: AssetEntity // 表示具体的图片对象
// 其他代码...
}

这段代码会生成“查看图片”的意图,使 Siri 可以识别到应用中的“查看图片”功能,并自动帮用户打开图片。

满足助手架构的要求

每种架构都有自己的规则,必须遵守。常见规则包括:

  • 不允许添加额外的必填参数:比如,如果“查看图片”只需要一个图片 ID,不能强制用户提供额外的信息。
  • 可选参数只能在快捷指令中使用:这意味着一些扩展的选项(比如图片标题或描述)只能在快捷指令应用中看到,而不会影响 Siri 的基本操作。

这样做是为了确保 Siri 能流畅地理解并执行应用的操作。

创建应用意图并符合架构

要创建一个应用意图并符合架构,开发者可以按照以下步骤操作:

  1. 确定应用的功能领域:每个应用意图都有自己对应的功能领域(例如,照片、文件、邮件等)。
  2. 在 Xcode 中创建新的 Swift 文件:使用代码补全工具,选择合适的架构,例如,输入 photos_ 就会显示与照片领域相关的所有操作,比如 openAsset
  3. 使用宏来符合架构:添加 @AssistantIntent(schema:) 宏来告诉 Siri 这是一个特定功能,例如打开照片。
  4. 构建和调试:通过编译代码,确保没有架构不匹配的错误。

这样 Siri 就能理解你的应用意图,并在执行过程中不出错。

确保内容和选项符合架构

在一些操作中,应用可能有特定内容或选项。例如,图片应用中有“照片”这种内容(AppEntity),还可能有“分类”这样的选项(AppEnum)。如果这些内容和选项需要用在 Siri 操作中,也需要符合架构。

例如,定义照片实体可以这样做:

@AssistantEntity(schema: .photos.asset)
struct AssetEntity: IndexedEntity {
var id: String // 照片的唯一标识
var title: String? // 照片的标题
// 其他属性...
}

这样,Siri 可以识别到“照片”这个内容类型,并理解它的属性(比如标题、分类等),从而能更好地回答用户的问题。

更新和迁移现有意图

如果你的应用已经有一些现成的意图,更新时需要特别注意,因为用户可能已经在快捷指令里用了这些意图。要避免影响用户的使用体验,可以为新意图设置 isAssistantOnly = true,让它只被 Siri 识别,而不显示在快捷指令列表中。

例如:

@AssistantIntent(schema: .photos.createAssets)
struct CreateAssetsIntent: AppIntent {
static let isAssistantOnly: Bool = true // 仅供 Siri 使用
// 其他代码...
}

这样可以确保用户的快捷指令不会因更新意图而被中断。

通过集成 Siri 和 Apple Intelligence,应用的操作变得更加自动化,用户可以用语音轻松控制应用。开发者只需要定义好符合 Siri 要求的操作和内容,就可以使 Siri 识别并执行这些操作,让用户体验到更智能、便捷的服务。

App Intents框架文档:https://developer.apple.com/documentation/appintents

相关内容:

苹果发布 Ferret-UI 2 专门理解和与移动用户界面交互的模型 让手机成为通用UI助手

Ferret-UI:苹果开发出能“看懂”手机屏幕上并能执行任务的多模态模型

苹果开发出能 “看 “懂屏幕上下文的人工智能 不需要依赖屏幕截图

WWDC 2024 发布会Apple Intelligence中文介绍完整视频

苹果发布 Apple Intelligence 智能助手 深度个性化 支持跨应用交互操作

Apple Intelligence背后基础模型:一个约30亿参数的设备端模型和一个服务器端大模型

苹果 Apple Intelligence 为用户提供详细的隐私报告 供用户查看AI调用情况

如果你想要了解关于智能工具类的内容,可以查看 智汇宝库,这是一个提供智能工具的网站。
在这你可以找到各种智能工具的相关信息,了解智能工具的用法以及最新动态。