Siri AI 现在向所有开发者开放了。我会先为自己的 Mac 应用做这些
作者 Justinas Rolando,MacPip 的开发者
11月3日,Apple 在 macOS 27.3、iOS 27.3、iPadOS 27.3 和 visionOS 27.3 测试版中向所有开发者开放了 Siri AI Developer Preview。你的应用通过 App Intents 接入:给 intent 加上 @AppIntent(.tool),写好清楚的标题和说明,Siri 就能运行它。目前只能在开发构建和 TestFlight 内部测试中使用。提交到 App Store 的通道将在春天开放。
昨天(11月3日),Apple 发了一篇简短的帖子,叫 Siri AI is now open to all developers。它和 macOS 27.3 的第一个测试版同一天发布,对我这样做小型 Mac 应用的人来说,这是那个测试版里最有用的东西。于是我今天早上没干正事,而是在读新文档。
下面讲有什么变化、现在能做什么和不能做什么,以及我打算先做什么。
改动了什么
- 任何应用现在都能和 Siri AI 对话。此前,Siri 主要能理解符合 Apple 固定“schema”领域的操作,比如发消息或做笔记。新的 Siri AI Developer Preview 让 Siri 可以找到你自己的内容并运行你自己的操作,前提是你用 App Intents 把它们开放出来。
- 它在 27.3 测试版里。iOS 27.3、iPadOS 27.3、macOS 27.3 和 visionOS 27.3,需要支持 Apple Intelligence 的设备。测试版 1 的其他内容见 MacRumors 和 9to5Mac。
- 没有新的权限,也没有单独的计划。Apple 的文档说得很明确。你只需更新已有的 App Intents 代码,或者写一些新的。
- 技能。对于需要多个步骤的任务,你可以提供“应用技能”:用 Markdown 文件向 Siri 说明你的操作如何配合。
- 测试工具。Xcode 里的 Siri Integration Advisor 会对你的 intent 给出建议,新的 SiriEvaluations 框架可以让你把对 Siri 的请求写成脚本,并检查它如何处理。
- 一开始支持六种语言。英语、法语、日语、韩语、葡萄牙语和西班牙语,繁体中文、挪威语、土耳其语和越南语即将支持。
现在还做不到的事
这一部分比光鲜的部分更重要。
- 用户现在还用不了。预览功能可用于你用开发配置文件从 Xcode 运行的构建,以及 TestFlight 的内部测试员。Apple 说它不适用于外部 TestFlight 测试员,也不适用于 App Store 版本。提交到 App Store 的通道将在春天开放。
- 直接下载的情况不明确。我没有找到关于用 Developer ID 在 App Store 之外销售的应用的说明。在 Apple 另有说法之前,我假设它们处境相同:现在先做,以后再发布。
- 规则还没公布。Apple 说会稍后公布 Siri AI 体验的条款和使用政策。
- 限制。Siri AI 不向 13 岁以下的人开放。Apple 的说明称,它在 iOS、iPadOS 和 watchOS 上不适用于欧盟(macOS 不在这份名单里)。使用 Apple 服务器模型的功能,包括 Siri AI,都有每日使用上限,Apple 还说将来扩大使用范围会收费。
所以这周没人需要匆忙发布更新。你拥有的,是几个月的时间,在使用你应用的人能试用之前把它做好。
用大白话讲它怎么运作
一共有三部分,第一部分占了大部分工作。
- 工具 intent。你给应用 intent 加上
@AppIntent(.tool)宏,它就成了 Siri 可以调用的工具。Apple 的建议是给 intent 和它的每个参数写上真正有用的title和description,因为 Siri 会读它们来判断哪个工具符合用户说的话。如果你的 intent 已经使用了 Apple 支持 Siri 的某个 schema,就不用加这个宏。 - Siri 能找到的内容。Siri 只能找到你开放出来的东西。文档要求你把应用的实体放进 Spotlight,现在 Siri 可以显示 Spotlight 语义索引里的任何实体,而不只是符合 schema 的那些。
- 技能,只在需要时才用。你要在应用目标里加一个
Skills.skillsbundle。在它的Skills文件夹里,每个技能有自己的文件夹,名称用小写字母、数字和连字符,里面放一个SKILL.md文件。Apple 明确说技能是指引,不是脚本:Siri 不会按顺序执行你列出的步骤。
Apple 已经在自家应用里这样做了,包括访达、文件、备忘录、预览、提醒事项、Safari 和快捷指令。如果你有某个 Siri 现在能覆盖的习惯,比如“归档一年没打开过的文件”,这就能大致说明标准在哪里。
我会先做的事,按这个顺序
这些是我自己的看法,不是 Apple 的清单。
- 写下五件用户会要求的事。不是功能,而是用平常的话说的请求。“开始一个 25 分钟的专注时段。”“给我看今天早上复制的剪贴。”如果你想不出五个,说明你的应用现在可能还不需要这个,这也没关系。
- 检查你已有的 intent。很多 Mac 应用已经为快捷指令提供了 App Intents。把它们的标题和说明当成 Siri 来读一遍。没有说明的“Run Action”不会被选中。
- 把两三个标记为工具。从第 1 步的操作开始。不要全部标记:按文档的说法,只用来配置小组件、在
perform()里什么也不做的 intent 不应该成为工具。 - 把你的内容放进 Spotlight。如果人们会问起你应用里的东西(笔记、剪贴、项目、计时器),Siri 只能通过 Spotlight 找到它们。
- 用 Apple 的检查工具。用 Xcode 里的 Siri Integration Advisor,再用 SiriEvaluations 把你的五个请求中的几个写成脚本,这样某次改动让 Siri 变差时你就能发现。
- 只为真正的多步骤工作写技能。一个清楚的
SKILL.md胜过五个含糊的。 - 先别向用户承诺。在人们能在可下载的版本里真正用上之前,不要在你的列表页或发行说明里写“支持 Siri AI”。
如果你没法运行 27.3 测试版,第 1、2 和 3 步仍然可以做:主要是读你自己的代码、写更好的说明,这对今天的快捷指令也有帮助。
趁成本还低,去和 Apple 聊聊
Apple 今天(11月4日)太平洋时间上午 9 点到 10 点,以及明天(11月5日)太平洋时间下午 6 点到 7 点,会举办 Apple Intelligence Group Labs。报名链接在 Apple 的帖子里。这只是预览,Apple 说 API 可能会变,所以现在正是反馈仍能改变些什么的时候。
MacPip 的角度
我在 MacPip 上收录了很多 AI 应用和效率应用,其中大多数做的正是 Siri 现在可以运行的那种小而有名字的操作。我认为春天把这件事做好的应用,会多一种被发现的方式:人们向 Siri 提出一件事,而不是搜索应用名称。我会留意这一点。
如果你用编码代理,为下一个 macOS 做准备的提示词是在测试版之前读你项目的一个不错的起点。它不会替你写技能,但会告诉你 intent 在哪里。而且如果你自己应用的 AI 功能每次请求都要花钱,新的订阅或买断价格计算器会显示每种定价模式扣完手续费后还剩多少。
上线后,请在发行说明里说明,并更新你的列表页。如果你的应用还不在 MacPip 上,收录是免费的。
来源
- Apple Developer: Siri AI is now open to all developers
- Apple Developer: Siri AI Developer Preview
- Apple Developer: Bringing custom actions and content to Siri
- Apple Developer: Orchestrating complex actions with app skills
- MacRumors: Apple Releases First macOS Golden Gate 27.3 Beta
- 9to5Mac:macOS 27.3 Golden Gate 测试版 1 现已发布
继续阅读
- 触控屏 Mac 将于 11月6日 发货。我会在自己的 Mac 应用里检查这些Apple 的首批触控 Mac 将于 11月6日 到货。这篇文章讲有什么变化、Apple 建议开发者怎么做,以及一份可以在你自己的 Mac 应用里测试的简短清单。
- MacPip 简介MacPip 是什么、我为什么做它、收录和发布日如何运作、蓝色对勾真正意味着什么,以及它最初几天的真实数据。
- 如何发布 Mac 应用:一页纸的清单Mac 应用发布日前后该做什么:签名、你的页面、目录、Product Hunt、Show HN,以及该衡量什么。
- 如何写一句话描述你的 Mac 应用做什么一种朴实的写法,用来写你 Mac 应用名称下面那一行文字:说清它做什么,去掉夸大,并找一个从没见过这个应用的人来测试。
- 用朴实的语言讲解签名与公证,面向第一次制作 Mac 应用的人代码签名、公证和装订(stapling)各自做什么、按什么顺序进行、没有它们时用户会看到什么,以及如何检查你自己的构建版本。
- 一个提供 dofollow 链接的网站,坦白说这种链接值多少dofollow 的含义、Google 对链接的说法、为什么新目录的链接目前价值不高,以及不买链接时该怎么做。