Линус Торвальдс использовал ИИ для исправления ошибки в ядре Linux.

Это редкий случай. Дело не в том, что Торвальдс обратился к ИИ. На прошлых рождественских каникулах он впервые использовал ИИ в личном проекте. Поначалу он относился к ИИ настороженно, но затем примирился с этой технологией и даже допустил вклад в ядро с участием ИИ.

Событие редкое потому, что Торвальдс уже давно не пишет код для ядра Linux. Он работает в режиме maintainer: просматривает код и принимает pull request от контрибьюторов.

Поэтому его собственный патч в ядро выглядит заметным событием. И подготовил он его с помощью ИИ.

Исправление ошибки в одну строку с помощью ИИ

Не стоит недооценивать правку в одну строку. Любой разработчик подтвердит: зачастую сами ошибки простые, и исправление занимает пару строк. Время и усилия уходят на поиск первопричины.

Ошибка, с которой столкнулся Торвальдс, находилась в графическом драйвере Intel Xe для карт Battlemage G21. Из-за неё дисплейный менеджер GDM перезапускался бесконечно.

Отслеживание проблемы с помощью ИИ потребовало 24 отладочных патча (возможно, с printf) и 18 перезагрузок ядра. В итоге виновником оказалась одна строка: вместо round_up() нужно было вызвать round_down().

И это была отладочная сессия из ада, в которой ИИ сильно помог, взяв на себя большую часть черновой работы.

ИИ выполнял для Торвальдса черновую работу: добавлял отладочную инструментовку, анализировал данные и даже написал итоговое сообщение коммита. С сообщением коммита всё понятно: это скучная, но необходимая часть работы.

Но сессия не была простой. Торвальдс не ограничился подсказками вроде “не делай ошибок”. Наоборот, ИИ несколько раз заявлял, что проблема “невозможна и нерешаема”. Торвальдс отказался сдаваться.

Торвальдс предположил, что такие модели обучали люди, которые не такие упрямые, как он.

ИИ нужно использовать как инструмент

Это понимают многие в software-индустрии. ИИ остаётся инструментом. Пользу от него можно получить, когда процессом управляет человек с нужными знаниями.

Пример с Торвальдсом показателен. Разработчик, который не понимает, что происходит в коде, оставил бы решения за ИИ. Тот назвал бы ошибку неисправимой и отступил.

Но у Линуса Торвальдса есть опыт. Он понимал, в чём ИИ прав, а в чём ошибается. Он проявил настойчивость и исправил ошибку.

Патч войдёт в Linux 7.3. Его также пометили для переноса в стабильные ветки ядра.

Создателю Linux потребовалось 18 перезагрузок, чтобы найти исправление одной строки. ИИ помог ему дойти до результата. Впрочем, он наверняка справился бы и самостоятельно, пусть и потратил бы больше времени.

Информации о том, какой моделью или инструментом он пользовался, нет. В личном проекте, где Торвальдс впервые применил ИИ, он использовал Google Gemini. Судя по всему, к локальным ИИ-моделям он пока не перешёл. Остаётся надеяться, что после Linux и Git он подарит миру ещё один проект. Впрочем, это уже из разряда мечтаний.