Siri с Apple Intelligence на Mac с русским языком: как система принимает это решение и как её переубедить
markkkkkk 15 минут назад Siri с Apple Intelligence на Mac с русским языком: как система принимает это решение и как её переубедить Средний 8 мин 306 Реверс-инжиниринг * macOS * Кейс Из песочницы Новая Siri с Apple...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
Значимый прорыв формирует отрасль ИИ: markkkkkk 15 минут назад Siri с Apple Intelligence на Mac с русским языком: как система принимает это решение и как её переубедить Средний 8 мин 306 Реверс-инжиниринг * macOS * Кейс Из песочницы Новая Siri с Apple Intelligence не работает на системе с русским языком. Не «работает хуже» — её просто нет в настройках. То же самое у поляков, чехов, греков, венгров, израильтян и ещё полутора десятков языков, которые Apple пока не поддерживает.
Я полез разбираться, где именно проходит эта граница, и выяснилось кое-что интересное: macOS проверяет язык системы ровно один раз — при загрузке. Загрузился с английским — Siri AI включилась. Вернул свой язык — она продолжает работать до следующей перезагрузки.
Технические детали
Никаких патчей, никаких системных файлов: одна загрузка на английском, а дальше живи как жил. Ниже — как я это проверял, где система прячет своё решение, и во что упирается попытка автоматизировать такой круг. Где лежит решениеПервый вопрос: как вообще узнать, поднялась Siri AI или нет.
Читаемого публичного признака нет — ни ключа в настройках, ни API. Пришлось идти в системный журнал. Нужные события пишут три процесса: Siri, Siri AI и generativeexperiencesd.
Предикат получился такой:(process == "Siri" OR process == "Siri AI" OR process == "generativeexperiencesd AND (eventMessage CONTAINS "Enhanced Siri" OR eventMessage CONTAINS "LanguageIsSupported" OR eventMessage CONTAINS "selectedSiriLanguageIneligible Сильные признаки выглядят так:Enhanced Siri computed state: available=true Enhanced Siri returning: unavailable Missing Linwood desired capabilities: LanguageIsSupported Linwood — внутреннее кодовое имя возможности. Когда язык системы не английский, в журнале ровно эта строка: не хватает LanguageIsSupported. После загрузки с английским — available=true.
Отраслевые последствия
И главное наблюдение: если после этого поменять язык обратно, available=true никуда не девается. Решение принято, и до следующей загрузки система к нему не возвращается. Есть ещё слабый признак — ChatInputViewModel.
isServiceAvailable changed to true. Он приходит от интерфейса и говорит только о том, что окно готово рисоваться. Я его учитываю, но как подтверждение, а не как доказательство: полагаться на него нельзя.
Как дождаться готовностиЗнать предикат мало — надо понять, когда можно возвращать язык. Слишком рано вернёшь, и есть риск, что система не успела зафиксировать решение; слишком поздно — человек сидит и смотрит на английский интерфейс. Машина состояний получилась такая:журнал читается потоком, параллельно каждые 15 секунд дочитывается с начала загрузки — на случай, если событие пришло раньше, чем мы подписались;события фильтруются по bootUUID: чужая загрузка нам не интересна;состояние ready должно продержаться 3 секунды — система успевает передумать, и я это видел;общий таймаут — 90 секунд, после чего один повтор с «подъёмом» Siri, чтобы она записала своё состояние;если не вышло — язык возвращается всё равно.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.






