Проблема была не просто в неправильном арифметическом округлении. В коде значение обрабатывалось так, будто это начальный адрес, хотя по смыслу оно было ограничителем — отметкой, где заканчивается доступная память. Именно поэтому итоговый патч оказался крошечным, а поиск нужной строки занял столько времени.
Торвальдс назвал этот процесс «отладочной сессией из ада». Вместе с ИИ-ассистентом он добавлял и перерабатывал точечное инструментирование, отслеживал расчёты памяти в драйвере и сопоставлял положение CCS, сообщаемое аппаратурой, с границей, которую видел распределитель VRAM. Всего потребовались 24 версии отладочных патчей и 18 циклов перезагрузки ядра и повторного тестирования, прежде чем стала очевидной ошибка в направлении округления.
Перезагрузки были важны: сбой проявлялся на уровне оборудования и графической подсистемы, а не только выглядел как подозрительная строка исходного кода. Каждый эксперимент помогал отделить поведение распределителя памяти от других возможных причин проблем с изображением.
Торвальдс использовал ассистента как интерактивного партнёра по отладке. ИИ помогал предлагать диагностические проверки, прослеживать пути выполнения в драйвере и разбирать результаты последовательных экспериментов. Это сократило объём механической работы при проверке гипотез.
Однако надёжным источником истины ассистент не был. По словам Торвальдса, несколько раз ИИ приходил к выводу, что проблема невозможна или неразрешима, и предлагал просто написать отчёт. Расследование продолжалось потому, что сам разработчик выбирал следующий эксперимент, отбрасывал неверные трактовки и понимал смысл смещения в модели работы распределителя памяти.
В этом и заключается главный урок истории. ИИ генерировал варианты и выполнял механику, а эксперт обеспечивал контекст, настойчивость, проверяемые гипотезы и окончательное решение.
Торвальдс самостоятельно подготовил и закоммитил исправление драйвера Intel Xe в основной репозиторий ядра Linux. Согласно имеющимся сообщениям, затронутые поддерживаемые стабильные ветки должны получить изменение в рамках обычного процесса обратного портирования, однако предоставленные источники не позволяют надёжно назвать конкретные версии стабильного ядра или даты их выпуска.
Поэтому преждевременно утверждать, в каких именно сборках патч уже присутствует. Владельцам соответствующего оборудования стоит ориентироваться на объявления разработчиков дистрибутива или сопровождающих ядро Linux.
Эта история не означает безоговорочной поддержки ИИ-сгенерированного кода в ядре. Она показывает более узкий и убедительный сценарий: специалист может ускорить сложный цикл отладки с помощью ИИ, сохраняя за собой ответственность за гипотезу, постановку эксперимента, проверку и итоговый патч.
Это совсем не то же самое, что отправлять сопровождающим непроверенные и непрошеные патчи или отчёты о уязвимостях, созданные языковой моделью. Разработчики ядра описывали «натиск» машинно сгенерированных предложений, а сопровождающие подсистем staging и сетевого кода говорили о растущем раздражении из-за малополезных или плохо понятых патчей.
Часто повторяемую цифру о росте числа отправок на 2700% следует воспринимать осторожно. Имеющиеся материалы не объясняют надёжно методику измерения, период и точную категорию, к которой относится этот показатель. Гораздо лучше подтверждён общий вывод: ИИ снизил стоимость создания кода и отчётов, но их проверка и сортировка по-прежнему требуют времени людей — сопровождающих, и без того перегруженных работой.
Торвальдс также заявлял, что Linux не настроен категорически против ИИ-инструментов, особенно когда они используются, например, для проверки кода. Отладка Intel Xe показывает практическую границу применимости: ИИ может быть полезен внутри дисциплинированного инженерного процесса, но не заменяет знания подсистемы, воспроизводимые тесты и личную ответственность человека за результат.
Финальный патч состоял из одной строки. Настоящим достижением стало понимание того, какую именно строку нужно изменить, — и готовность продолжать поиск после того, как ассистент решил, что ответа не существует.