WWDC26 в июне 2026 определила Siri AI как нового Siri: он читает экран, ищет личный контекст, делает работу между приложениями и ходит в сеть за знаниями о мире. К сентябрю iOS 27 в окне публичного выпуска, и разработчики уже могут гонять App Intents и App Schemas в бетах. Многие команды всё ещё слышат «Siri лучше болтает». Настоящее изменение — вход. Человек может не открывать иконку и всё равно дать системному агенту найти ваши объекты и выполнить действия. Без этого слоя приложение становится невидимым островом в Siri, Spotlight и кросс-приложенческих потоках. Статья не пересказывает каталог сессий. Она отвечает на вопрос плана: что стороннему приложению выставлять сейчас, какой слой первым и как принимать работу.
Почему iOS 27 впервые меняет работу над приложением
Конфликт старого и нового пути конкретен. Старый путь — UI первым: открыть приложение, нажать, пройти навигацию, которую вы спроектировали. Новый путь — intent первым: говорить системе или нажать результат Spotlight; Siri AI выбирает ваш AppEntity и App Intent и только потом, если нужно, показывает UI. Фразы Shortcuts, ограниченные домены SiriKit и старый путь «разбудить, потом открыть» никуда не делись. Их уже мало. Siri AI хочет категории, которые система уже понимает — события, сообщения, медиа, сессии навигации — а не частный словарь слов пробуждения.
Три факта сделали это темой плана 2026 года. Во-первых, следующее поколение Apple Intelligence сложило осведомлённость о экране, поиск личного контекста и кросс-приложенческие действия в одну агентную петлю: сторонние приложения больше не гарнир Shortcuts. Во-вторых, WWDC26 связала App Schemas, IndexedEntity, IntentValueQuery, Interaction Donations и OwnershipProvidingEntity в тестируемую поверхность, а не в эскиз кейноута. В-третьих, на сентябрь 2026 пользовательский раскат всё ещё поэтапный по языкам и регионам. Английский первым выходит в бету. iOS и iPadOS сначала недоступны в ЕС, тогда как Mac, Apple Watch и Apple Vision Pro могут использовать Siri AI на поддерживаемом языке. Материковый Китай остаётся в регуляторном процессе. Интеграцию можно строить сейчас. Текст магазина, что каждый пользователь iOS 27 на земле вызовет ваше приложение в первый день, писать нельзя.
Пороги устройств принадлежат листу приёмки. Siri AI и Apple Intelligence садятся на iPhone 16 и новее, iPhone 15 Pro и 15 Pro Max, iPad mini с A17 Pro, iPad и Mac с M1 и новее, и более новые парные Apple Watch. Если демо-телефон старше, вы меряете дыру в возможностях, а не провал продукта. Xcode, симуляторы и регрессии на устройстве по-прежнему требуют macOS. Как командам выбирать сборщик — в сравнении Xcode Cloud и удалённого Mac.
Как на самом деле складываются Siri AI, App Intents и агенты
Если сплющить три имени в один бэклог, план задергается. Идите в том порядке, в каком система реально вызывает. Пропустите слой — останется только демо.
| Слой | Что вы отдаёте | Что система с этим делает | Если его нет |
|---|---|---|---|
| Сущность | AppEntity: что это, как идентифицировать, какие свойства показывать | Понимает категорию; ведёт пикеры, подтверждения, карточки результата | Siri запускает приложение, но не может сказать, какая запись |
| Действие | Выровненные по схеме AppIntent, сгруппированные по домену | Кладёт естественный язык на исполняемое действие и уточняет | Остаются только свои фразы; кросс-приложенческие потоки не цепляются |
| Обнаружение | IndexedEntity / Spotlight или IntentValueQuery | Находит объекты по смыслу или по структурированным критериям | Нужно назвать внутренний id или сначала открыть приложение |
| Контекст и доверие | Осведомлённость о экране, Interaction Donations, OwnershipProvidingEntity | Продолжает с видимого и подтверждает до побочных эффектов | Агент гадает или меняет общие данные без контрольной точки |
Siri AI — системный агент. Ему принадлежат язык, уточнения, подтверждение и решение уйти из приложения за веб-знаниями. Ваше приложение не обучает частного Siri. Оно становится инструментальной поверхностью этого агента. Форма совпадает с облачным function calling — модель выбирает инструмент, рантайм применяет побочный эффект — но протокол это App Intents, а процесс ваш на устройстве пользователя. Межвендорное сравнение — в статье что такое Function Calling.
Не делайте обнаружение одним выключателем. Плейлисты, локальные события и черновики пользователя относятся к IndexedEntity, чтобы семантический индекс Spotlight находил их по смыслу, а не только по ключу. Большие каталоги, серверные витрины и быстро меняющиеся удалённые календари — в IntentValueQuery: система шлёт структурированный поиск, вы возвращаете сущности. Весь SKU не льётся на устройство. Системная поисковая схема из iOS 17 теперь называется .system.searchInApp. Даже если человек говорит только «покажи беговые плейлисты в этом приложении», его можно посадить на ваш поиск, а не на общую системную карточку.
Осведомлённость о экране говорит агенту, какой объект виден. Interaction Donations говорят, что человек только что сделал в 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. Принятие схем, свой диалог, ShowsSnippetView и полные / вспомогательные строки ProvidesDialog — во вторую итерацию. Не вяжите их с «система вообще может это найти».
Полировка релизов 27 настоящая и должна остаться вне первой карточки. Свои snippet-виды несут визуальную идентичность в Siri. Запросы диалога спрашивают недостающую необязательную метку вместо падения интента. Аннотации сущностей на уведомлениях, Now Playing и будильниках дают действовать с контентом, который уже виден в системе. Ничто из этого не заменяет верную модель сущности. Если объект нельзя опознать, самый красивый сниппет — тупик.
Четыре входа в одних и тех же колонках
Разлом во входе, а не в том, какая модель звучит умнее. Сторонние приложения сейчас смотрят на четыре пути сразу. Держите колонки одинаковыми, иначе таблица решений — театр.
| Путь | Вход | Исполнение | Контекст | Для кого |
|---|---|---|---|---|
| App Intents + App Schemas | Siri, Spotlight, Shortcuts, часть системных карточек | Открыть, создать, обновить, передать между приложениями; побочные эффекты в вашем процессе | Сущности, объекты на экране, личный контекст, семантический индекс | Потребительские и продуктивные приложения, которые должны появиться в системном агенте iOS 27 |
| Фразы Shortcuts / старые автоматизации | Команды, часть Lock Screen и виджетов | Цепочки действий, которые собрал пользователь | Слабая семантика; фразы и слоты параметров | Существующие пользователи Shortcuts, внутренние инструменты, совместимость на переходе |
| Старые домены SiriKit | Исторически открытые домены | Фиксированные интенты внутри домена | Белые списки домена; плохо для произвольных объектов | Голос, платежи или поездки уже на старых доменах — совместимость, не главный путь |
| Свой LLM function calling | Ваш чат-UI или серверный агент | Частные API, базы, computer use | Ваша память сессии и каталог инструментов | Продукты, которые уходят с устройств Apple, бьют в частную сеть или не-Apple модель |
Четыре пути складываются, они не отменяют друг друга. Системный агент покрывает «человек уже на iPhone и хочет проговорить задачу». Свой агент покрывает «браузер, рабочий стол или ваш бот». Считайте App Intents схемой инструментов экосистемы Apple, а облачный function calling — кроссплатформенной схемой. Направьте оба каталога на одни и те же бизнес-действия, чтобы iOS мог перенести событие, которое умеет переносить и веб.
Стоимость и права различаются, даже когда глаголы похожи. App Intents едут на квоте Apple Intelligence пользователя и на путях on-device или Private Cloud Compute; вы не платите Apple счёт за токены за create-event, но наследуете региональную доступность и дневные лимиты части генеративных функций. Своя петля считает токены, требует изолированный рантайм, если пишет диск или водит браузер, и может достать VPC, которую Siri никогда не увидит. Смешивать без allowlist — как агент «полезно» удаляет общий календарь, потому что у облачного инструмента глагол шире, чем у App Intent.
Как выбирать по сцене
| Если вы | берите | Почему |
|---|---|---|
| календарь, задачи или заметки с в основном локальными объектами | AppEntity + схема + IndexedEntity | Siri должен найти «ревью в следующий вторник», а не точный заголовок |
| торговля или медиа с огромным серверным каталогом | Тонкий индекс + IntentValueQuery + searchInApp | Нельзя вылить каждый SKU в Spotlight |
| мессенджер или коллаборация с социальными побочными эффектами | Схемные действия + донации + подтверждение владения | Отправка сообщения или правка общего события должна показать карточку подтверждения |
| уже зависите от пауэрюзеров Shortcuts | Оставить Shortcuts; тот же интент повесить на схему | Старый вход остаётся; новый переиспользует тот же perform() |
| ценность на Windows, в вебе или в частном API | Сначала function calling; iOS отдаёт только сущности на чтение | Системный агент не достанет ваш VPC; не обещайте одну голосовую команду везде |
| большая база iPhone в ЕС или материковый Китай как домашний рынок | Siri как усиление; UI остаётся главным путём | В сентябре 2026 эти пользовательские возможности всё ещё разрезаны политикой |
Рекомендуемые стеки
A — инди или вертикальное продуктивное приложение: идите вглубь одного домена схемы — календарь, заметки или медиа. Одна сущность, два действия (открыть и создать), локальный индекс, зелёный в Shortcuts, затем Siri. Свой ShowsSnippetView ждёт вторую итерацию. Принимайте на самом нижнем поддерживаемом iPhone 16 или 15 Pro. Голоса симулятора мало.
B — небольшая продуктовая команда: планируйте слой сущностей и слой действий разными карточками. Карточка один: Spotlight находит объект по смыслу, открытие садится на верную деталь. Карточка два: создание и обновление идут через схему и показывают подтверждение. Карточка три: осведомлённость о экране и UI-донации. Заморозьте порядок тестов: юнит App Intents, форма Shortcuts, индекс Spotlight, Siri из конца в конец. Гоняйте на одном образе Mac, чтобы «у меня на ноуте работает» не прятало отсутствующий entitlement индекса.
C — предприятие или несколько поверхностей: системный агент iOS отдаёт чтения и низкорисковые открытия. Записи идут через аудированный API-шлюз и вашего агента. Общие календари и публичные документы должны сообщать владение. Границы аккаунта и поставки — в центре поддержки; месячная цена узла — на ценах Mac mini. Нужен постоянный Xcode и регрессионный ящик — начните с подходит ли M6 Mac mini разработчикам.
Ловушки
- Считать Siri AI кожей чата: вы добавляете разговорный UI без сущностей, и «перенеси тот заказ на пятницу» не за что схватиться.
- Заменять схемы своими фразами: фразы могут сымитировать демо Shortcuts; они не прицепят кросс-приложенческий или экранный контекст к домену, который система уже знает.
- Выливать весь каталог в Spotlight: индекс раздувается, поверхность приватности растёт, переиндексация стопорит передний план. Удалённые данные — в IntentValueQuery.
- Никогда не донатить UI или донатить постоянно: система не узнает, что контакт предпочитает ваше приложение — или проигнорирует вас и испачкает политику подтверждения.
- Обещать голос всей планете: сначала английский, нет раннего EU iOS, незавершённый процесс Китая. Демо-железо и текст магазина должны быть региональными.
План действий: семь шагов
- Перечислите пять устных действий с реальными побочными эффектами. Удалите пустые глаголы вроде «открыть Настройки».
- Дайте каждому объекту
AppEntityсо стабильным id, заголовком и ключевой датой или состоянием.DisplayRepresentationнесёт картинку и подзаголовок. - Выровняйте открытие и создание по подходящей App Schema.
perform()только навигирует или пишет. Язык и уточнения остаются у системы. - Индексируйте локальные сущности в Spotlight и обновляйте при создании, правке и удалении. Удалённые списки смотрят в IntentValueQuery.
- Помечайте объекты на экране на деталях. Донатьте, когда UI действительно отправляет, создаёт или стартует навигацию.
- Включите подтверждение для записей и публичных сущностей. Докажите форму параметров в Shortcuts, прогоните Siri из конца в конец, закрепите логику App Intents Testing.
- Держите Xcode, самое нижнее поддерживаемое устройство и скрипт регрессии на воспроизводимом Mac-узле. Очистка DerivedData в конце сессии не даёт тёплому локальному кэшу притвориться проходом.
FAQ
Siri AI доступен на всех языках в день выхода iOS 27?
Нет. На сентябрь 2026 раскатка идёт по языкам и регионам. Английский первым выходит в бету. iOS и iPadOS сначала недоступны в ЕС. Материковый Китай ещё в регуляторном процессе. Стройте сейчас; обещания запуска режьте по регионам.
Siri всё ещё откроет приложение без App Intents?
Иконку — да. Понять объекты, провести кросс-приложенческие действия или продолжить с экрана — почти нет. Без сущностей и схем приложение остаётся островом в Siri и Spotlight.
App Intents и Shortcuts — это одно и то же?
Нет. Shortcuts — поверхность автоматизации для пользователя. App Intents — вызываемый протокол. Siri AI нужны интенты, выровненные по схемам, а не ещё одна стопка фраз.
Нужно ли класть все записи в Spotlight?
Индексируйте локальные, стабильные, личные сущности. Большие, серверные или часто меняющиеся данные отдавайте через IntentValueQuery, чтобы не заливать весь каталог на устройство.
Должны ли сторонние приложения обучать свою модель Siri?
Нет. Язык, уточнения и подтверждение остаются у системы. Вы отдаёте исполняемые сущности, действия, свежесть индекса и границы прав.
Заключение
Siri AI в iOS 27 меняет разработку приложений. Меняет вход и протокол, а не приказ пересобрать каждый экран как окно чата. Сначала опишите сущности и схемные действия; затем добавьте индекс, экранный контекст и подтверждение. Shortcuts и свой function calling складываются сверху — они не заменяют системного агента. Пишите пользовательские возможности по регионам. Кладите приёмку на устройство и Mac, который можно воспроизвести. Удалённые узлы — на странице аренды и странице цен; вопросы по аккаунту — в центр поддержки.
Читать дальше
- Командный iOS CI/CD: Xcode Cloud против удалённого Mac →
- Что такое Function Calling: OpenAI, Gemini, Claude →
- Подходит ли M6 Mac mini разработчикам? Xcode и локальный инференс →
SDK iOS 27 и проверка на устройстве требуют воспроизводимый Mac
Цепочка приёмки: Xcode, затем Shortcuts, Spotlight и Siri. Она привязана к macOS и устройствам. Удалённый Mac изолирует DerivedData на сессию, чтобы интеграцию Siri можно было перепроверить, а не только собрать.