Claude теперь нативный вариант для iOS-приложений: разбор для разработчиков

На WWDC26 Apple сделала шаг, которого от неё не особо ждали: открыла Foundation Models framework для сторонних облачных моделей. Теперь iOS-разработчик может вызвать Claude через тот же код, что и встроенную on-device модель Apple Intelligence — не через отдельный SDK, не через собственный HTTP-слой, а через тот же самый объект LanguageModelSession.

Anthropic отреагировал оперативно: выпустил официальный Swift-пакет ClaudeForFoundationModels (Apache-2.0, beta). После добавления пакета и API-ключа Claude становится одним из провайдеров внутри единого фреймворка.

Claude теперь нативный вариант для iOS-приложений: разбор для разработчиков

Как это выглядит в коде

Создаёшь ClaudeLanguageModel вместо SystemLanguageModel и передаёшь его в ту же сессию:

let model = ClaudeLanguageModel(name: .sonnet4_6, auth: auth) let session = LanguageModelSession(model: model) let response = try await session.respond(to: "Summarize this document.")

Стриминг, structured outputs через @Generable, tool calls — работают по тем же API, что для локальной модели. Переключение между on-device и Claude — замена одной строки. Dynamic Profiles из WWDC26 позволяют делать это прямо в рантайме: приложение может начать разговор на локальной модели, а при сложном запросе автоматически перейти на Claude и обратно. Пользователь выбирает «приватность» или «мощность» — сессия подхватывает выбор на следующем запросе.

On-device vs Claude: когда что выбирать

Это ключевой вопрос для архитектуры приложения.

On-device (Apple) подходит, когда данные не должны покидать устройство, задача простая (автодополнение, классификация, краткое резюме), нужна работа офлайн. Для приложений с менее чем двумя миллионами установок в рамках App Store Small Business Program — ещё и бесплатно через Private Cloud Compute.

Claude подходит, когда задача требует сложного рассуждения, длинного контекста (до 1M токенов на Opus 4.6), доступа к актуальным данным или выполнения кода. Важно: запросы идут напрямую от приложения на api.anthropic.com — Apple не видит ни промпты, ни ответы. Биллинг стандартный, по тарифам Anthropic API.

Claude теперь нативный вариант для iOS-приложений: разбор для разработчиков

Server tools: web search прямо из приложения

Отдельная особенность — server tools конфигурируются прямо на модели. Web search, web fetch, code execution работают на инфраструктуре Anthropic в рамках одного round trip:

let model = ClaudeLanguageModel( name: .sonnet4_6, auth: auth, serverTools: [.webSearch(maxUses: 5), .codeExecution] )

Для приложения это значит: больше не нужен отдельный слой для внешних запросов. Попросил найти актуальную информацию — модель сходила в сеть и вернула ответ.

Что пока ограничивает

Пакет — бета, привязан к iOS/macOS/visionOS/watchOS 27 бета. Anthropic честно указывает: пакет поддерживается «по возможности», внешние PR не принимаются. Для продакшена сейчас рекомендуется .proxiedauth — собственный бэкенд, который прикрепляет API-ключ, чтобы он не лежал в бандле. Режим автоматической аутентификации через App Attest анонсирован, но ещё не выпущен.

Почему это архитектурно важно

До WWDC26 интеграция нескольких AI-провайдеров в iOS-приложение означала несколько SDK, несколько API-клиентов, разные форматы ответов и свою логику переключения. Foundation Models framework меняет это: один протокол LanguageModel, за которым стоят любые провайдеры. Anthropic и Google (через Firebase) уже реализовали его. Apple обещает открыть исходный код фреймворка ближе к осени. Это означает, что экосистема будет расти — инструменты тестирования, evaluation framework, сообщество вокруг единого API.

Для разработчиков это снижает стоимость поддержки нескольких моделей в одном приложении. Пока бета — но направление задано чётко.