2026 年 6 月的 WWDC26 把 Siri AI 定義成「全新一代 Siri」:它能讀螢幕、搜個人上下文、跨 App 辦事,也能去網上補世界知識。到 9 月,iOS 27 進入正式發布窗口,開發者已經能在 beta 裡測 App Intents 和 App Schemas。很多團隊仍把這件事理解成「Siri 更會聊天了」。真正變的是入口——使用者可以不點開你的圖示,也能讓系統級 Agent 找到你的物件、執行你的動作。沒接這一層,App 在 Siri、Spotlight 和跨 App 工作流裡會變成看不見的孤島。本文不複述 WWDC 片單,只回答一個排程問題:第三方 App 現在該接什麼、先接哪一層、怎麼驗收。
為什麼 iOS 27 才真正改變 App 開發
舊方式和新方式的衝突很具體。舊方式是 UI 優先:使用者打開 App,點按鈕,走完你設計的導航。新方式是 Intent 優先:使用者對系統說話或點 Spotlight 結果,Siri AI 選中你的 AppEntity 和 App Intent,必要時再打開介面。Shortcuts 短語、有限的 SiriKit 域、以及「先喚醒再打開」的舊路徑還在,但已經不夠。Siri AI 要的是系統已經認識的類別——日曆事件、訊息、媒體、導航工作階段——而不是你自己發明的喚醒詞表。
這件事現在才變成排程優先級,有三個原因。第一,Apple Intelligence 的下一代架構把「讀螢幕、搜個人上下文、跨 App 辦事」收成同一條 Agent 鏈路,第三方不再只是錦上添花的 Shortcuts 動作。第二,WWDC26 把 App Schemas、IndexedEntity、IntentValueQuery、Interaction Donation 和 OwnershipProvidingEntity 連成可測試的接入面,不再是概念片。第三,2026 年 9 月使用者側仍按語言和地區分階段開放:英文會先進入 beta;歐盟的 iOS / iPadOS 初期不可用,Mac / Watch / Vision Pro 在支援語言下可用;中國大陸仍在走監管。開發可以先做,上線文案必須按地區拆開,不能寫成「全球使用者打開 iOS 27 就能喊你的 App」。
裝置門檻也要寫進驗收:Siri AI 和 Apple Intelligence 落在 iPhone 16 及更新機型、iPhone 15 Pro / Pro Max,以及 M1 及更新的 iPad 和 Mac 等組合上。團隊如果還在用舊裝置做「能不能喊到 Siri」的演示,測到的是能力缺口,不是產品失敗。Xcode、模擬器和真機回歸仍然綁在 macOS 上;團隊打包機怎麼選,見 Xcode Cloud 與遠端 Mac 對比。
Siri AI、App Intents、AI Agent 怎麼分層
把三個詞攤平並列,排程一定亂。按系統實際呼叫順序分成四層,缺一層就只剩演示。
| 層 | 你交付什麼 | 系統拿它做什麼 | 缺了會怎樣 |
|---|---|---|---|
| 實體 | AppEntity:這是什麼、如何標識、哪些屬性可展示 | 理解物件類別,做選擇、確認和結果卡片 | Siri 只能打開 App,說不清「哪一條」 |
| 動作 | 對齊 App Schema 的 AppIntent,按域分組 | 用自然語言選中可執行動作,處理澄清 | 只有自訂短語,跨 App 工作流接不上 |
| 發現 | IndexedEntity / Spotlight,或 IntentValueQuery | 按語意或結構化條件找到物件 | 使用者必須精確說出內部 ID 或先打開 App |
| 上下文與信任 | 上屏感知、Interaction Donation、OwnershipProvidingEntity | 接著螢幕上的物件做,並在副作用前確認 | Agent 要麼瞎猜,要麼對共享資料誤操作 |
Siri AI 是系統 Agent:它負責語言、澄清、確認,以及要不要跳出 App 去網上補知識。你的 App 不是再訓練一個私有 Siri,而是成為這個 Agent 的工具面。這和雲端模型裡的 Function Calling 同構——模型選工具,執行時套用副作用——但協議換成了 App Intents,執行位置在使用者裝置上的你的行程裡。協議對照見 Function Calling 是什麼。
發現層不要一刀切。播放列表、本地日程、使用者自己的草稿,適合 IndexedEntity 寫入 Spotlight 語意索引,Siri 可以按意思找,而不只是關鍵字。曲庫、商品、遠端日曆這種體量大、在伺服器或更新很快的資料,用 IntentValueQuery 接收系統給的結構化檢索,避免把整庫提前灌進裝置。iOS 17 的系統搜尋 schema 在 27 裡改名為 .system.searchInApp:即使使用者只是說「在某某 App 裡找跑步歌單」,也可以落到你自己的搜尋頁,而不只是系統結果卡片。
上屏感知讓 Agent 看見目前介面上的物件;Interaction Donation 則告訴系統「使用者剛才在 UI 裡做了什麼」。Siri 和 Shortcuts 路徑系統已經知道,不必再捐一次。捐多了系統可能忽略。對會改資料、尤其是已經分享給別人的實體,用 OwnershipProvidingEntity 標明所有權,讓 Siri 在更新公開事件時強制確認。預設實體被當成私人的,系統可能跳過確認——這不是優惠,是風險。
import AppIntents
import CoreSpotlight
struct EventEntity: AppEntity, IndexedEntity {
static var typeDisplayRepresentation: TypeDisplayRepresentation = "Event"
static var defaultQuery = EventQuery()
var id: String
var title: String
var startDate: Date
var displayRepresentation: DisplayRepresentation {
DisplayRepresentation(title: "\(title)")
}
}
struct OpenEventIntent: AppIntent {
static var title: LocalizedStringResource = "Open Event"
@Parameter(title: "Event")
var event: EventEntity
@MainActor
func perform() async throws -> some IntentResult {
NavigationManager.shared.open(event)
return .result()
}
}
// After a local write, keep Spotlight's semantic index in sync
try await CSSearchableIndex.default().indexAppEntities([event])
這段程式碼不是完整工程。它只固定三件事:物件有穩定 id 和展示名;打開動作吃實體而不是自由文字;本地寫入後立刻同步 Spotlight。Schema 對齊、自訂對話、ShowsSnippetView、以及 ProvidesDialog 的完整句和輔助句,放到第二個迭代,不要和「能不能被找到」綁在同一張卡裡。
核心對比:系統 Agent 還是自建工具
真正差異在於入口,而不是模型誰更強。第三方 App 現在同時面對四條路,欄位必須對齊,才能做決定。
| 路徑 | 入口 | 執行能力 | 上下文 | 適合人群 |
|---|---|---|---|---|
| App Intents + App Schemas | Siri、Spotlight、Shortcuts、部分系統卡片 | 打開、建立、更新、跨 App 傳遞;副作用在你的行程 | 實體、上屏物件、個人上下文、語意索引 | 要出現在 iOS 27 系統 Agent 裡的消費級 / 效率 App |
| Shortcuts 短語 / 舊自動化 | 快捷指令 App、部分鎖定畫面與小組件 | 使用者自己編排的動作鏈 | 弱語意,靠短語和參數槽 | 已有 Shortcuts 使用者、內部工具、過渡期相容 |
| SiriKit 舊域 | 歷史上開放的有限域 | 域內固定意圖 | 域白名單,難擴展到任意物件 | 已在舊域裡的語音、支付、出行等,作相容而不是主路徑 |
| 自建 LLM Function Calling | 你的聊天 UI / 服務端 Agent | 任意私有 API、資料庫、電腦使用 | 你自己的會話記憶和工具目錄 | 需要出 Apple 裝置、接內網或非蘋果模型的產品 |
四條路可以疊加,不要互斥。系統 Agent 覆蓋「使用者已經在 iPhone 上、用自然語言辦事」;自建 Agent 覆蓋「使用者在瀏覽器、桌面或你們自己的機器人裡」。把 App Intents 當成 Apple 生態的工具 schema,把雲端 Function Calling 當成跨平台工具 schema,兩套目錄要對同一份業務動作,避免 iOS 能改日程、Web 卻改不了。
場景怎麼選
| 如果你是 | 就選 | 理由 |
|---|---|---|
| 日曆 / 待辦 / 筆記,物件主要在本機 | AppEntity + Schema + IndexedEntity | Siri 要按意思找到「下週二的評審」,不是精確標題 |
| 電商 / 媒體目錄很大、資料在伺服器 | 少量索引 + IntentValueQuery + searchInApp | 不能把全站 SKU 灌進 Spotlight |
| 即時通訊 / 協作,動作有社交副作用 | Schema 動作 + Donation + 所有權確認 | 發訊息、改共享事件必須讓使用者看見確認卡 |
| 已有 Shortcuts 重度使用者 | 保留 Shortcuts,把同一 Intent 接到 Schema | 舊入口不斷,新入口復用同一 perform() |
| 核心價值在 Windows / Web / 內網 API | 自建 Function Calling 為主,iOS 只接唯讀實體 | 系統 Agent 到不了你的內網;先別承諾跨端同一套口令 |
| 歐盟 iOS 使用者很多,或中國大陸是主市場 | 把 Siri 入口當成增強,主路徑仍是 UI | 2026 年 9 月這些地區的使用者側能力仍被政策切開 |
推薦組合
A — 獨立開發者 / 垂直效率 App: 選一個 Schema 域(日曆、筆記或媒體)做深。一個實體、兩個動作(打開 + 建立)、本地索引、Shortcuts 裡先跑通,再進 Siri。自訂 ShowsSnippetView 可以第二迭代。真機用最低支援的 iPhone 16 或 15 Pro 做驗收,不要只靠模擬器語音。
B — 小型產品團隊: 實體層和動作層分開排程。第一張卡:物件能被 Spotlight 語意搜到,打開能落到正確詳情。第二張卡:建立 / 更新走 Schema,帶確認。第三張卡:上屏感知和 UI Donation。測試順序固定為 App Intents 單測 → Shortcuts 形狀 → Spotlight 索引 → Siri 端到端。CI 用同一台或同一映像的 Mac 跑 Intent 測試,避免「我電腦能喊到、打包機喊不到」。
C — 企業或多端: iOS 系統 Agent 只暴露唯讀查詢和低風險打開;寫操作走你們已稽核的 API 閘道和自建 Agent。共享日曆、對外文件必須實作所有權狀態。帳號與交付邊界見 說明中心,節點月費見 Mac mini 定價。需要常駐 Xcode 與回歸機時,看 M6 Mac mini 是否適合開發者。
常見誤區
- 把 Siri AI 當成聊天框皮膚: 只加對話 UI、不建實體,使用者問「把剛才那個訂單改到週五」時系統沒有任何物件可抓。
- 用自訂短語代替 Schema: 短語能騙過 Shortcuts 演示,跨 App 和上屏上下文對不上系統已經認識的域。
- 把整庫塞進 Spotlight: 索引膨脹、隱私面變大、重索引把前景卡死。遠端資料走 IntentValueQuery。
- UI 路徑不捐、或捐得太勤: 系統學不到「這個聯絡人常用你的 App」;亂捐會被忽略,還會污染確認策略。
- 按全球使用者承諾口令能力: 忽略英語優先、歐盟 iOS 初期不可用、中國大陸監管未完成。演示環境和商店文案必須分區。
落地步驟:7 步
- 列出使用者會口頭完成、且帶副作用的 5 個動作,刪掉「打開設定頁」這種沒有物件的空動作。
- 為每個物件寫
AppEntity:穩定 id、標題、關鍵日期或狀態,DisplayRepresentation帶得上圖和副標題。 - 把打開和建立對齊到對應 App Schema;
perform()只做導航或寫入,語言和澄清留給系統。 - 本地實體寫入 Spotlight,並實作增刪改後的索引更新;遠端列表改用 IntentValueQuery。
- 在詳情頁補上屏標識;UI 裡真正傳送、建立、開始導航時做 Interaction Donation。
- 對寫操作和公開實體打開確認,先在 Shortcuts 驗證參數形狀,再在 Siri 做端到端,最後用 App Intents Testing 鎖業務邏輯。
- 把 Xcode、最低支援真機和回歸指令碼放到可重現的 Mac 節點,工作階段結束能清 DerivedData,避免本機快取冒充通過。
FAQ
iOS 27 的 Siri AI 已經對所有語言開放了嗎?
沒有。截至 2026 年 9 月,面向使用者仍按語言和地區分階段開放,英文會先進入 beta;歐盟的 iOS / iPadOS 初期不可用,中國大陸仍在走監管。開發接入可以先做,商店與市場承諾必須按地區拆開。
沒接 App Intents,Siri 還能打開我的 App 嗎?
能打開圖示,但很難理解物件、跨 App 執行,或根據螢幕繼續操作。沒有實體和 Schema,App 在 Siri 和 Spotlight 裡仍是孤島。
App Intents 和 Shortcuts 是不是同一件事?
不是。Shortcuts 是使用者可編排的入口;App Intents 是系統可呼叫的協議。Siri AI 要 Schema 對齊後的 Intent,而不是再堆喚醒詞。
所有內容都要寫進 Spotlight 索引嗎?
本地、穩定、使用者私有的實體應該索引。體量大、在伺服器或更新很快的資料,用 IntentValueQuery,避免把整庫灌進裝置。
第三方 App 要自己訓練一個 Siri 模型嗎?
不需要。自然語言、澄清和確認由系統處理。你交付可執行的實體、動作、索引新鮮度和權限邊界。
總結
iOS 27 的 Siri AI 會改變 App 開發,但改的是入口和協議,不是把每個頁面重做成聊天視窗。先描述實體和 Schema 動作,再補索引、上屏和確認;Shortcuts 與自建 Function Calling 是疊加,不是替代。 按地區寫清使用者側能力,按 7 步把驗收落到真機和可重現的 Mac 上。遠端節點從 租用頁 和 定價頁 查看,帳號問題走 說明中心。