Разбор

Станет ли Siri AI агентом? Apple Intelligence, JSON, API, tool calling и App Actions

Siri учится выбирать инструмент, заполнять аргументы и смотреть на результат. Это похоже на агента. Это не станет открытым циклом, который вы собираете сами: каталог у системы, контракт — App Intents, форма — типизированные параметры, JSON появляется, когда действие доходит до вашего сервера.

В 2026 вопрос «станет ли Siri ИИ-агентом» почти всегда идёт вместе с «станет ли Siri ChatGPT». Оба неточны. Страница Apple для разработчиков теперь называет продуктовую поверхность Apple Intelligence: персональная система на следующем поколении Apple Foundation Models, с личным контекстом, app actions и пониманием экрана, которая подключает содержимое и действия вашего приложения к Siri AI. В инженерном смысле агент — это модель, которая в цикле выбирает инструменты, рантайм, который их исполняет, и структурированные данные, которые несут состояние. У Siri 2026 есть контур двух последних: она читает ваши App Entity, действует через Intent и понимает «это» на экране. Чего нет — знакомого открытого цикла: нельзя повесить произвольный OpenAI tools[] на системную Siri и нельзя дать ей править файлы в вашем репозитории. Статья опирается на наше определение ИИ-агента, разделяет Apple Intelligence, App Intents / App Actions, tool calling и JSON и стыкуется с агентами Apple и API, сравнением трёх и стратегией Gemini.

Короткий ответ: будет действовать, но не станет открытым агентом

Берите инженерное определение, не прилагательные с презентации. Агенту нужны цель, восприятие и действие: модель выбирает инструмент и аргументы; рантайм исполняет и записывает наблюдение. Старая Siri в основном слышала фразу и открывала команду или системную возможность — почти без цикла «посмотреть результат, потом решить». Siri AI 2026 начинает этот цикл замыкать: выбирает действие из каталога App Intents, разбирает «сохрани это в Заметки» по экранному контексту и передаёт сущность следующему Intent через приложения. По поведению она становится системным агентом.

Это всё ещё не открытый агент, которого вы ставите в IDE или на стойке поддержки. Разница не в уме модели, а в том, кто чертит границу инструментов. Каталог открытого агента — ваш: OpenAI tools[], Anthropic tool_use, MCP tools/list; аргументы почти всегда JSON. Каталог системной Siri — уже объявленные на устройстве Intent, по возможности подогнанные под App Schema; параметры — типы Swift, не свободный текст, который вы сами парсите. И забор приватности другой: устройство и Private Cloud Compute решают, какой контекст может уйти с машины — не строка в системном промпте «можно читать контакты». Читать Siri как «ещё один ChatGPT, на который вешают функции» — значит делать неверную миграцию: удалять App Intents или звать Gemini API из iOS «чтобы совпасть с Купертино».

Возможность Siri AI 2026 Открытый код / ops-агент
Выбор инструментаСистема выбирает из App Intents / App Schemastools[] или список MCP, который вы внедряете
Заполнение аргументовТипизированные параметры Intent, проверка на компиляцииJSON arguments, разбор в рантайме
Решение после результатаСистема выбирает следующий hop или стоп; между приложениями часто нужен экранВы пишете result JSON обратно в сообщения
Условия остановкиПодтверждение пользователя, политика системы, приватность и праваmaxSteps, провал Schema, политики, которые написали вы

Одно предложение: Siri AI станет агентом внутри системы, а не рантаймом агента, которым владеете вы. Вы контролируете форму действий, которые отдаёте системе, и JSON после того, как эти действия упали в HTTP. Следующие два раздела отделяют продукт от контракта, чтобы «умеет делать дела» не читалось как «открытый цикл инструментов».

Три вещи, которые Siri AI реально получила в 2026

Документация Apple и линия WWDC26 сворачивают работу Siri с App Intents в три возможности. Они объясняют, почему это похоже на агента — и почему вы всё равно пишете Intent, а не клеите JSON Schema и объявляете работу законченной.

  1. Добраться до вашего контента: смоделируйте бизнес-объекты как App Entity, подгоните под Entity Schema и отдайте в семантический индекс Spotlight. Только тогда Siri найдёт «тот оплаченный заказ» в личном контексте, а не просто откроет домашний экран.
  2. Выполнить действие: когда Intent совпадает с Intent Schema (торговля, фото, связь и другие предобученные области), естественный язык попадает в perform() без списка фраз на каждую формулировку. Это и есть app actions, которые повторяют официальные страницы.
  3. Понять экран: пометьте виды как сущности через View Annotations или NSUserActivity, чтобы можно было сказать «это» и «то». Межприложенческие запросы обычно начинаются здесь, а не в вашем многошаговом planner.

Сложите три — пользователь чувствует: «Siri умеет делать дела». Разработчик чувствует, что его приложение стало ящиком инструментов системного агента. Сессия WWDC26 Build intelligent Siri experiences with App Schemas фиксирует и порядок тестов: сначала логика Intent отдельно, затем Команды на форму параметров, затем Spotlight на индекс, и только потом Siri от конца до конца. Пропустить первые три и отлаживать только голосом — дорого.

Слой модели тоже движется; не читайте это как замену продукта. Совместное заявление января 2026 повесило основу следующего AFM на технологию Gemini; в июне Private Cloud Compute расширился на Google Cloud под более тяжёлый agentic tool-use. Пользователь по-прежнему видит Siri / Apple Intelligence — не значок Gemini и не Google Assistant. Разбор стратегии: почему Apple опирается на Gemini; как это лежит рядом с расширением ChatGPT — сравнение трёх. Для вас меняется то, насколько смело облачная модель склеит несколько действий, а не фамилия вашей таблицы параметров.

Три слоя: Apple Intelligence, модели, поверхности разработчика

Сплющить «Siri стала агентом» в один слой — и все следующие решения поедут. Делите минимум на три: продукт, который видят люди, где крутится вывод, и какой контракт реализует ваш код.

Слой Что вы видите Что стоит предполагать
ПродуктApple Intelligence / Siri AI; в Настройках по-прежнему бренд AppleОпыт и подтверждения остаются в системе, не в вашем chat UI
МодельAFM на устройстве плюс PCC; самое тяжёлое может идти на расширенный облачный ярусТорговая марка модели ≠ протокол запроса; аргументы при откате всё равно должны быть валидны
Поверхность разработчикаСистема → приложение через App Intents; модели внутри приложения — Foundation Models ToolДва контракта параллельно — не натягивайте один набор JSON-полей на оба

Foundation Models — вторая линия. Приложение может гонять LanguageModelSession на устройстве (и на пути PCC, который описывают документы), вызывать Tool и ограничивать структурированную генерацию. Это «ваше приложение — рантайм агента», а не «системная Siri — агент и бьёт в ваш Intent». Многие приложения сделают оба: App Intents, чтобы их нашли Siri / Spotlight / Команды; Tool, чтобы он-девайс модель проверила склад или заполнила форму. Как это стыкуется с HTTP — в как агент Apple доходит до приложений и API.

Команды склеивают слои. Apple Intelligence может собрать многошаговую автоматизацию из естественного языка; после App Intents ваши действия входят в эту экосистему рядом с возможностями вроде Use Model. Пользователь может сказать «найди оплаченные заказы и запиши в Заметки» — оркестратор по-прежнему система, не planner на ваших серверах. Параметры каждого Intent должны держаться сами: система может выполнить только один hop или переставить порядок.

App Intents, App Schemas и App Actions

App Intents — это не «добавить голос Siri». Это контракт стороннего приложения с Apple Intelligence: вы объявляете, какой контент отдаёте и какие действия умеете; система решает, когда звать. С iOS 18 и к 2026 это одновременно кормит Siri, Spotlight, виджеты, Команды и системного агента. Команды разработчиков, которые всё ещё считают App Intents необязательными, неправильно читают вход в системный ИИ.

App Schema — предобученная форма этого контракта. Entity Schema говорит системе, что это заказ, фото или переписка, чтобы попасть в семантический индекс. Intent Schema говорит, что это поиск, открытие или шаринг, чтобы естественный язык попал в действие без корпуса фраз, который вы поддерживаете. Макросы Xcode генерируют подходящие заготовки и проверяют их на компиляции. Промахнётесь с доменом — Siri может по-прежнему считать действие обычной командой, а не предпочтительным инструментом агента. WWDC26 добавила более долгие Intent, отмену и сущности, синхронизируемые между устройствами — больше похоже на цикл, но расписание всё ещё у системы.

«App Actions» — слово, которое чаще всего улетает не туда. На страницах Apple app actions — это возможности, которые App Intents отдаёт Siri AI и другим системным поверхностям. Это не исторический протокол App Actions у Google Assistant и не Android intent filter. Оба продукта «дают ассистенту вызвать приложение»; поля, каталоги и модели приватности не совпадают. Во внутренних документах пишите «App Intents / App Schema», а «App Actions» оставьте пользовательским формулировкам. Смешаете имена — бэкенд начнёт искать несуществующий JSON-RPC в стиле Google.

Tool calling: системный агент и Tool внутри приложения

Отраслевой tool calling / function calling — один механизм: модель не трогает базу, а выдаёт «вызови такую-то функцию с такими аргументами», рантайм исполняет. В 2026 оболочки разные, arguments по-прежнему JSON-объект. На стороне Siri та же идея становится типизированным Intent: системная модель выбирает findOrders, заполняет email / status / limit и входит в perform(). Если perform() бьёт в ваш HTTP API, вы уже там кодируете эти поля в JSON. Не делите один путь «просто распарсить» на оба hop.

Храните эталонные нагрузки на слое намерения, не под торговой маркой модели. JSON ниже говорит только: кто начал, какая schema, какое действие, какие аргументы. runtime.onDevice годится в логах. Не кладите его в бизнес-проверку — откат на устройстве и полный облачный ярус должны принимать одни и те же arguments.

{
  "source": "siri-ai",
  "schema": "commerce.findOrders",
  "intent": "findOrders",
  "arguments": {
    "email": "ada@example.com",
    "status": "paid",
    "limit": 5
  },
  "runtime": {
    "surface": "siri",
    "onDevice": false
  }
}

Те же бизнес-поля в открытом агенте, которым владеете вы, носят оболочку vendor tool_calls. arguments часто строка: сначала JSON.parse, затем та же Schema. Когда входит Siri, этой оболочки нет — только типизированные параметры. JSON снова появляется, когда вы уходите с устройства на свой API.

{
  "id": "call_8f3a",
  "type": "function",
  "function": {
    "name": "findOrders",
    "arguments": "{\"email\":\"ada@example.com\",\"status\":\"paid\",\"limit\":5}"
  }
}

Контраст резкий: имя в обоих случаях findOrders; ключи должны быть из одной Schema. У системного пути нет tool_call id; у открытого нет домена App Schema. Не делайте Gemini generateContent, OpenAI tools[] и таблицу параметров App Intent значениями по умолчанию друг для друга. Structured Output управляет формой финального ответа, не входами этого hop; зачем разделять файлы — в AI Structured Output.

JSON, API и локальная проверка

Чем больше Siri похожа на агента, тем больше похожи и отказы: лишние hop, заполненные необязательные поля, сорванные перечисления, два ключа пропали на откате на устройстве. Более сильная модель не отменяет проверку — она делает пропуски дороже. Каждый исходящий hop по-прежнему parse → Schema → бизнес-правила.

  1. Соберите параметры Intent в JSON и сразу распарсите; при ошибке запишите имя intent и сырые поля и верните ошибку, которую можно повторить — не бросайте пользователю текст исключения Swift.
  2. Закрепите типы, перечисления и required одной Schema Draft 2020-12. Лучше additionalProperties: false, чтобы лишние ключи облачного яруса не утекли вниз.
  3. Бизнес-ворота: права, внешние ключи, диапазоны дат. Только потом сервис заказов. Если системный агент повторяет вызов, ваш API должен быть идемпотентным.

Поставьте рядом три куска: объект параметров от Siri / Команд, HTTP body, который вы шлёте, объект, который сервер реально использовал. Расхождение почти всегда в адаптере. В браузере: форматтер JSON чтобы увидеть поля; Проверка JSON Schema чтобы закрепить типы; JSON Diff чтобы увидеть, какие ключи теряет откат на устройстве против облачного яруса. Делите фикстуры valid / missing-field / wrong-enum между CI и отладкой Siri на устройстве.

Дальше: агенты Apple и JSON, что такое ИИ-агент, ошибки JSON от ИИ, MCP и JSON Schema.

Частые вопросы

Siri уже ИИ-агент?

По инженерному определению у неё уже контур системного агента: выбирает действия приложений, заполняет параметры и снова решает по экранному контексту. Это не открытый рантайм агента — каталог, условия остановки и забор приватности принадлежат системе, а не списку tools[], который вы внедряете.

App Actions в этой статье — это набор Google Assistant?

Нет. На страницах Apple app actions — возможности, которые App Intents отдаёт Siri AI. Исторические App Actions Google — другая интеграция ассистента. Контракты, поля и каталоги не взаимозаменяемы. Внутри пишите App Intents / App Schema.

Нужно ли звать tool calling OpenAI или Gemini из iOS, чтобы «совпасть» с Siri?

Когда входит система — оставляйте App Intents. Для он-девайс модели внутри приложения — Foundation Models Tool. API этих вендоров — только если ваши собственные серверы нуждаются в их моделях. Три набора JSON-полей не смешивайте.

Siri сможет вызвать моё приложение без App Intents?

Открыть приложение — да. Надёжно сделать работу — нет. Без Entity / Intent Schema у Siri нет индексируемого контента и исполняемых действий, а межприложенческое «это» не к чему привязать. В 2026 считать App Intents голосовым украшением — значит выйти из ящика инструментов системного агента.

Итог и следующие шаги

Siri AI станет ИИ-агентом — внутри забора системы. Apple Intelligence даёт личный контекст, app actions и понимание экрана; слой модели может взять технологию Gemini и более тяжёлый ярус PCC; разработчики по-прежнему отдают действия через App Intents и крутят циклы внутри приложения через Foundation Models Tool. Открытая JSON-оболочка tool calling не появится на системном запросе. Она появится на вашем собственном API.

Дальше конкретно: перечислите App Schema, которые примете, напишите параметры Intent и HTTP body по одной Schema и прогоните valid / нет поля / неверное перечисление в JSONVue. Торговые марки моделей сдвинутся. Форма действий — не должна.