2026年6月の WWDC26 は Siri AI を「まったく新しい Siri」と定義した。画面を読み、個人コンテキストを探し、アプリをまたいで用事を済ませ、ウェブで世界知識を補える。9月時点で iOS 27 は正式公開の窓に入り、開発者はすでにベータで App Intents と App Schemas を試せる。多くのチームはこれを「Siri が上手に雑談する」と聞く。本当に変わるのは入口だ。アイコンを開かなくても、システム Agent がオブジェクトを見つけ、動作を実行できる。この層を飛ばすと、Siri、Spotlight、アプリ横断フローの中でアプリは見えない孤島になる。本稿はセッション目録の复唱ではない。サードパーティが今何を出し、どの層を先にし、どう受け入れるかという計画の問いだけに答える。
なぜ iOS 27 でアプリ開発が本当に変わるのか
旧経路と新経路の衝突は具体的だ。旧経路は UI 優先:アプリを開き、ボタンを押し、設計したナビを歩く。新経路は Intent 優先:システムに話し、または Spotlight をタップする。Siri AI が AppEntity と App Intent を選び、必要なら UI を出す。Shortcuts のフレーズ、限られた SiriKit ドメイン、「起こしてから開く」旧経路は残る。もう足りない。Siri AI が欲しいのは、イベント、メッセージ、メディア、ナビゲーションセッションなど、システムがすでに知る種別であり、私有の起動語彙ではない。
2026年の計画問題になった理由は三つ。第一に、次世代 Apple Intelligence が画面認識、個人コンテキスト検索、アプリ横断動作を一つの Agent ループに折り畳み、サードパーティは Shortcuts の飾りではなくなった。第二に、WWDC26 が App Schemas、IndexedEntity、IntentValueQuery、Interaction Donation、OwnershipProvidingEntity をテスト可能な面に結び、基調講演のスケッチで終わらせなかった。第三に、2026年9月のユーザー向け展開は言語と地域で段階的だ。英語が先にベータへ入る。EU の iOS / iPadOS は当初対象外で、Mac、Apple Watch、Apple Vision Pro は対応言語なら使える。中国本土は規制対応中。実装は今できる。地球上の全 iOS 27 ユーザーが初日にアプリを呼べると書くことはできない。
デバイス条件も受け入れ表に書く。Siri AI と Apple Intelligence は iPhone 16 以降、iPhone 15 Pro / Pro Max、A17 Pro の iPad mini、M1 以降の iPad / Mac、対応する新しい Apple Watch に載る。デモ機が古いなら、測っているのは能力の穴であり製品の失敗ではない。Xcode、シミュレータ、実機回帰は今も macOS が要る。ビルダーの選び方は Xcode Cloud とリモート Mac の比較 を参照。
Siri AI、App Intents、Agent をどう積むか
三つの名前を一つのバックログに潰すと計画は暴れる。システムが実際に呼ぶ順に従う。一层欠けるとデモしか残らない。
| 層 | 出すもの | システムがすること | 欠けたとき |
|---|---|---|---|
| 実体 | AppEntity:何か、どう識別するか、どの属性を見せるか | 種別を理解し、選択、確認、結果カードを駆動 | Siri は起動できても、どのレコードか言えない |
| 動作 | ドメインごとにまとめた Schema 準拠の AppIntent | 自然言語を実行可能な動作へ写し、聞き直しを処理 | カスタムフレーズだけになり、横断フローが繋がらない |
| 発見 | IndexedEntity / Spotlight、または IntentValueQuery | 意味または構造化条件でオブジェクトを見つける | 内部 ID を正確に言うか、先にアプリを開く必要がある |
| 文脈と信頼 | オンスクリーン認識、Interaction Donation、OwnershipProvidingEntity | 見えているものから続け、副作用の前に確認する | Agent が当て推量するか、共有データを無確認で変える |
Siri AI はシステム Agent だ。言語、聞き直し、確認、ウェブ知識のためにアプリを離れる判断はそちらが持つ。アプリは私有 Siri を訓練しない。その Agent のツール面になる。形はクラウドの Function Calling と同じ——モデルがツールを選び、ランタイムが副作用を適用する——が、プロトコルは App Intents、プロセスはユーザー端末上のあなたのものだ。ベンダー横断の比較は Function Calling とは を見る。
発見を一つのスイッチにしない。プレイリスト、ローカル予定、自分の下書きは IndexedEntity に載せ、Spotlight の意味索引がキーワード以外でも見つけるようにする。巨大カタログ、サーバ店頭、変化の速い遠隔カレンダーは IntentValueQuery:システムが構造化検索を送り、一致エンティティを返す。SKU 全件を端末に流さない。iOS 17 のシステム検索 schema は .system.searchInApp に改名された。「このアプリでランニング用プレイリストを見せて」だけでも、汎用カードではなく自前の検索 UI に落とせる。
オンスクリーン認識は、今見えているオブジェクトを Agent に伝える。Interaction Donation は、UI で今何をしたかを伝える。Siri と Shortcuts 経路は既知なので、もう一度寄付しない。寄付し過ぎると無視される。書き込み、とくに所有者が共有したエンティティには OwnershipProvidingEntity を付け、公開イベントの更新で確認を強制する。既定は私有であり、確認が飛ばされることがある。得ではなくリスクだ。
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 の全文と補助文は次イテレーション。『そもそも見つかるか』と同じカードに束ねない。
四つの入口を同じ列で比べる
分岐は入口であり、どのモデルが賢く聞こえるかではない。サードパーティは今、四経路を同時に見る。列を揃えない判断表は演劇になる。
| 経路 | 入口 | 実行 | 文脈 | 向く人 |
|---|---|---|---|---|
| App Intents + App Schemas | Siri、Spotlight、Shortcuts、一部のシステムカード | 開く、作る、更新、アプリ間転送。副作用は自プロセス | エンティティ、画面上の対象、個人コンテキスト、意味索引 | iOS 27 のシステム Agent に出る必要のある消費・生産性アプリ |
| Shortcuts フレーズ / 旧自動化 | ショートカット、一部のロック画面とウィジェット | ユーザーが組む動作列 | 意味は弱い。フレーズとパラメータ枠 | 既存 Shortcuts ユーザー、内部ツール、移行期の互換 |
| 旧 SiriKit ドメイン | 歴史的に開かれたドメイン | ドメイン内の固定インテント | ドメイン許可リスト。任意オブジェクトに弱い | 旧ドメインの音声、決済、移動。主経路ではなく互換 |
| 自前 LLM Function Calling | 自前チャット UI またはサーバ Agent | 私有 API、データベース、コンピュータ操作 | 自前のセッション記憶とツール目録 | Apple 端末を離れ、私有網や非 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 は VPC に届かない。一つの音声コマンドを全域に約束しない |
| EU の iPhone 基盤が大きい、または中国本土が本市場 | Siri は強化、主経路は UI | 2026年9月、それらのユーザー向け能力は政策で切られている |
推奨構成
A — 個人または垂直生産性アプリ: カレンダー、ノート、メディアなど一つの Schema ドメインを深くする。エンティティ一つ、動作二つ(開くと作成)、ローカル索引、Shortcuts で緑、それから Siri。カスタム ShowsSnippetView は次。受け入れはサポート下限の iPhone 16 か 15 Pro。シミュレータ音声では足りない。
B — 小さな製品チーム: 実体層と動作層を別カードにする。カード1:Spotlight が意味で見つけ、詳細に着地。カード2:作成と更新が Schema を通り、確認を出す。カード3:オンスクリーンと UI Donation。試験順を固定する。App Intents 単体、Shortcuts 形状、Spotlight 索引、Siri 端到端。一つの Mac イメージで走らせ、「自分のノートでは呼べる」を隠さない。
C — 企業または多面: iOS システム Agent は読み取り照会と低リスクのオープンだけ。書き込みは監査済み API ゲートウェイと自前 Agent。共有カレンダーと公開文書は所有状態を返す。アカウントと引き渡しは ヘルプセンター、月額は Mac mini 料金。常設の Xcode と回帰箱が要るなら M6 Mac mini は開発者向きか から始める。
よくある落とし穴
- Siri AI をチャットの皮と思う: 会話 UI だけ足し、エンティティが無い。「あの注文を金曜に」に掴む対象が無い。
- Schema をカスタムフレーズで置き換える: Shortcuts デモは騙せる。横断や画面文脈は、システムが知るドメインに付かない。
- カタログ全体を Spotlight に流す: 索引が膨らみ、プライバシー面が広がり、再索引で前景が止まる。遠隔データは IntentValueQuery。
- UI を寄付しない、または常時寄付する: 連絡先がこのアプリを好むことを学べない。無視され、確認方針が汚れる。
- 地球全体に音声を約束する: 英語先行、EU の初期 iOS なし、中国の未完了プロセス。デモ機とストア文案は地域で分ける。
受け入れ 7 手順
- 副作用のある口頭動作を五つ列挙する。「設定を開く」のような空の動詞は消す。
- 各オブジェクトに安定 id、題名、日付または状態を持つ
AppEntityを与える。DisplayRepresentationに画像と副題を載せる。 - 開くと作成を対応 Schema に揃える。
perform()は遷移か書き込みだけ。言語と聞き直しはシステム。 - ローカルエンティティを Spotlight に載せ、作成・更新・削除で更新する。遠隔リストは IntentValueQuery。
- 詳細画面でオンスクリーン対象を印す。UI が本当に送信、作成、ナビ開始したときに Donation する。
- 書き込みと公開エンティティで確認を入れる。Shortcuts でパラメータ形を証明し、Siri で端到端、App Intents Testing で業務を固定する。
- Xcode、下限実機、回帰スクリプトを再現可能な Mac ノードに置く。セッション終了で DerivedData を消し、温かいローカルキャッシュが合格を装わないようにする。
FAQ
iOS 27 発売日に Siri AI は全言語で使えるか?
使えない。2026年9月は言語と地域の段階公開。英語が先にベータ。EU の iOS / iPadOS は当初対象外。中国本土は規制中。今実装し、公開約束は地域で分ける。
App Intents なしでも Siri はアプリを開けるか?
アイコン起動はできる。オブジェクト理解、横断動作、画面からの継続は難しい。エンティティと Schema が無いと孤島のまま。
App Intents と Shortcuts は同じか?
違う。Shortcuts はユーザーが組む自動化面。App Intents は呼べるプロトコル。Siri AI が欲しいのは Schema に揃えた Intent であり、起動フレーズの追加ではない。
すべてのレコードを Spotlight に入れるべきか?
ローカルで安定した私有エンティティは索引する。大規模・サーバ・変化が速いデータは IntentValueQuery。カタログ全体を端末に置かない。
サードパーティは独自の Siri モデルを訓練するか?
しない。言語、聞き直し、確認はシステム。渡すのは実行可能なエンティティ、動作、索引の鮮度、権限境界。
まとめ
iOS 27 の Siri AI はアプリ開発を変える。変えるのは入口とプロトコルであり、全画面をチャットに作り直す命令ではない。先にエンティティと Schema 動作を記述し、索引、画面文脈、確認を足す。Shortcuts と自前 Function Calling は上に積むものであり、システム Agent の代わりではない。 ユーザー向け能力は地域で書く。受け入れは実機と再現できる Mac に置く。リモートノードは レンタル と 料金。アカウントは ヘルプセンター。