Разработчик на Rust нашёл баг в Neural Engine Apple, который пропустил Claude Opus
Компания Apple не выпускала Neural Engine как новый продукт: речь о глубоком техническом разборе уже существующего аппаратного блока, который провёл независимый разработчик на Rust, попутно обнаружив критичный баг, пропущенный в предыдущих исследованиях с участием ИИ-ассистента.

Класс _ANEInMemoryModel, который ранее считался «святым граалем» прямого доступа к Neural Engine Apple без записи на диск, оказался обёрткой: он всегда пишет файлы, а после примерно 127 компиляций перестаёт работать. Предыдущее исследование, написанное в паре с Claude Opus, этот факт не выявило.
Разработчик под псевдонимом, автор публикации на Хабре, перепроверил серию статей Maderix с Substack. Те статьи описывали внутреннее устройство Apple Neural Engine (ANE, выделенный процессор для нейросетевых вычислений внутри чипов Apple Silicon) и были написаны в соавторстве с Claude Opus 4.6 от Anthropic. Код из исследования работал, но содержал системную ошибку, которую языковая модель протащила через весь контекст.
В чём именно ошибся ИИ-соавтор?
Claude Opus нашёл в приватном фреймворке AppleNeuralEngine.framework класс _ANEInMemoryModel и объявил его «путём в обход диска». На деле:
- Класс всегда вызывает saveModelFiles и записывает данные на диск
- После примерно 127 компиляций процесс падает с исключением в методе compileModel
- Класс _ANEInMemoryModel нигде в системе реально не используется, он просто существует в коде фреймворка
Автор подтвердил это, декомпилировав бинарники из dyld_cache на живой macOS 26.6.2 с помощью инструмента iaito и отладчика LLDB.
Как разработчик решил проблему?
Вместо Objective-C, на котором строилось предыдущее исследование, автор взял язык Rust с библиотекой objc2 для низкоуровневых вызовов. Ключевое решение: он отказался от класса-обёртки _ANEInMemoryModel и обратился напрямую к нижележащим классам _ANEModel и _ANEClient, вручную создавая нужные файлы.
Результат: код заработал не 119, не 127 и не 1024 раза, а в бесконечном цикле (loop в терминологии Rust), пока автор сам его не остановил. Тесты с рандомными числами и формами тензоров (многомерных массивов данных) подтвердили, что компиляция происходит каждый раз заново, а не берётся из кэша.
Почему ИИ-ассистент не нашёл баг?
Автор описывает механизм так: модель увидела нестабильность после 119 компиляций, вывела закономерность «много компиляций на процесс это плохо» и вместо поиска причины придумала костыль с перезапуском процесса (checkpoint-exec). Позже, через две статьи на Substack, модель пришла к передаче изменяемых данных как входных параметров вместо вшитых весов. Это убрало накладные расходы на перекомпиляцию, но не устранило корневую проблему.
Сам автор формулирует это так: галлюцинация (когда ИИ уверенно выдаёт за факт то, чего нет) возникла один раз, когда модель увидела слово «InMemory» в названии класса и решила, что данные действительно хранятся в памяти. Дальше эта ошибка прошла через весь контекст, и каждое последующее решение строилось поверх ложного допущения.
| Что | Когда | Кто провёл | Цена |
|---|---|---|---|
| Независимый реверс-инжиниринг Apple Neural Engine на Rust | Июнь 2025 (публикация на Хабре) | Анонимный разработчик, перепроверивший исследование Maderix/Claude Opus | Бесплатно, исходный код на GitHub |
Как попробовать самому?
- Найдите на GitHub оригинальный репозиторий Maderix и форк от dev-erik с pull-запросами
- Установите Rust и библиотеку objc2 для вызовов к приватным фреймворкам Apple
- Используйте LLDB и Instruments в Xcode для трассировки вызовов к _ANEModel и _ANEClient напрямую, минуя _ANEInMemoryModel
Для работы нужен Mac на Apple Silicon и macOS с доступом к приватному фреймворку AppleNeuralEngine.framework. На Windows и Linux Neural Engine Apple физически отсутствует.
Есть ли аналоги в России?
Прямого аналога Neural Engine Apple в российском железе нет. Но для тех, кто работает с нейросетевыми вычислениями в РФ, ближайшие доступные варианты это:
- YandexGPT и GigaChat как облачные сервисы инференса (инференс, это когда обученная модель обрабатывает ваш запрос), не требующие локального железа
- Карты Nvidia с CUDA для локальных задач, хотя с поставками бывают сложности
Сравнение некорректно по сути: Neural Engine Apple это аппаратный блок внутри процессора для локальных вычислений на устройстве, а YandexGPT и GigaChat это облачные сервисы с готовыми моделями. Общее одно: и там, и там нейросетевые вычисления, но уровни абстракции совершенно разные.
Что делать с этим прямо сейчас, по ролям
Автору Дзена и копирайтеру. История показывает конкретный сценарий, где ИИ-соавтор протащил ошибку через целую серию публикаций. Если вы используете Claude, ChatGPT или другую модель для технических текстов, перепроверяйте каждое утверждение, которое модель подаёт как факт, особенно когда она «находит» что-то в коде или документации.
Разработчику. Если вы работаете с Apple Neural Engine напрямую, не используйте класс _ANEInMemoryModel. Работайте через _ANEModel и _ANEClient. Лимит в 127 компиляций это не ограничение железа, а баг обёртки.
Предпринимателю. Пока Apple не документирует ANE публично, строить на нём продукт рискованно. Каждое обновление macOS может сломать приватные API.
Эта история ценна не столько техническими деталями Neural Engine Apple, сколько наглядным разбором того, как именно ИИ-ассистент ошибается. Claude Opus не «соврал» намеренно. Он увидел слово InMemory в названии класса, построил логичную, но ложную гипотезу и дальше подгонял под неё каждое наблюдение. Для нас, тех кто ежедневно работает с нейросетями, это конкретное напоминание: модель не проверяет себя. Автор статьи потратил меньше часа на прототип, который опроверг выводы, к которым ИИ шёл через две длинные публикации. По моим наблюдениям, главная зона риска не генерация текста, а технический анализ: там модель звучит убедительнее всего и ошибается незаметнее всего. Сегодня стоит взять любой свой материал, написанный с помощью ИИ, где есть технические утверждения, и проверить хотя бы одно из них вручную.
Частые вопросы
Neural Engine Apple доступен только на новых устройствах?
Neural Engine (ANE) встроен во все чипы Apple Silicon, начиная с M1 и A11 Bionic. Но приватные API фреймворка AppleNeuralEngine.framework не документированы Apple и могут меняться между версиями macOS без предупреждения. На устройствах с процессорами Intel этого блока нет.
Можно ли использовать находки из этого исследования в продакшене?
Технически код работает, но Apple не поддерживает приватные API и может заблокировать доступ к ним в любом обновлении. Для продуктов в App Store использование приватных фреймворков запрещено правилами Apple. Исследование полезно для экспериментов и понимания архитектуры, не для коммерческих решений.
Почему Claude Opus не нашёл эту ошибку сам?
Модель работает с текстом, а не с живым железом. Она не может поставить точку останова в отладчике, запустить бесконечный цикл компиляций или декомпилировать бинарник. Когда название класса содержало слово InMemory, модель приняла его за описание поведения. Это типичная галлюцинация: уверенный вывод из названия, а не из проверки.
Лучший способ избежать таких ошибок при работе с ИИ-ассистентами: относиться к каждому техническому утверждению модели как к гипотезе и проверять на практике, а не в следующем промпте.

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».
Читайте также

Markdown редактор MarkMello v0.4.0: папки, вкладки и поиск без потери скорости
Почему это важно Markdown-редактор MarkMello остался таким же быстрым при открытии одного файла, но теперь умеет работать с папками, вкладками и поиском, и всё…

Фреймворк ICO собирает пайплайн машинного обучения в единый граф без «швов»
Компания PyTorch и её экосистема давно стали стандартом для инженеров, занимающихся машинным обучением, но типичный пайплайн обучения модели по-прежнему…

Безопасность ИИ-агентов под угрозой: три реальные атаки 2025 года и бесплатный щит
ИИ-агенты всё чаще получают доступ к почте, платёжным данным и файлам пользователей, а список реальных атак на такие системы в 2025 и 2026 годах растёт…
Комментарии