- BrainTools - https://www.braintools.ru -

Торвальдс: ИИ — замечательный инструмент, если воспринимать его как инструмент

На конференции Open Source Summit Europe создатель Linux Линус Торвальдс высказался [1] по поводу ИИ. Однако он оговорился, что инструмент становится полезным, если использовать его именно как инструмент.

Торвальдс: ИИ — замечательный инструмент, если воспринимать его как инструмент - 1

По словам Торвальдса, можно применять ИИ, чтобы сделать работу над любительским проектом более увлекательной, но совсем другое — ответственно использовать его при разработке ядра Linux, где сгенерированные ИИ патчи и отчеты об ошибках могут перегрузить мейнтейнеров. «Я считаю, что при работе над чем‑то реальным и важным нужно проявлять большую осторожность в использовании ИИ», — отметил разработчик. Он пояснил, что не всегда так относился к программированию с помощью ИИ: «Раньше я думал, что это не слишком эффективно, но теперь пришел к выводу, что мне действительно нравится использовать ИИ».

«Справедливости ради, — продолжил он, — я не так уж много занимаюсь непосредственным написанием кода ядра. Я — мейнтейнер. Ядро Linux — это проект, где основную работу выполняют другие люди, а я выступаю в роли координатора, собирающего результаты воедино. Но я по‑прежнему получаю огромное удовольствие от программирования. Я считаю ИИ замечательным инструментом, если использовать его правильно и относиться именно как к инструменту; по‑моему, он делает процесс программирования гораздо более приятным».

Торвальдс вспомнил: «Я начал программировать примерно в 1981 году. Тогда компьютеры были гораздо проще, можно было понять, что именно они делают; да и программы, с которыми ты сравнивал свой код, тоже были куда проще».

«Сегодня ситуация совсем иная. Планка в разработке программного обеспечения поднялась так высоко, что собственные скромные усилия кажутся незначительными — ведь мы привыкли к отполированным профессиональным программам», — заключил он. 

Отдельно Торвальдс высказался относительно вайб‑кодинга: «Многие посмеиваются над „vibe coding“, но я считаю, что это прекрасный способ получать удовольствие от процесса. Это даёт ощущение, что ты занимаешься чем‑то действительно важным. Новичку такой подход позволяет делать вещи, которые в противном случае давались бы с огромным трудом». Сам разработчик применяет этот подход тогда, когда ему не даются определённые задачи. Так, он смог написать [2] и внести изменения в драйвер графического ядра Intel Xe.

Также Торвальдс заметил, что ИИ может быть полезен для поиска и исправления ошибок в ядре Linux. Так, Sashiko — система для проверки кода ядра Linux, использующая автономных ИИ‑агентов — даёт результаты, которые теперь публикуются в списке рассылки разработчиков ядра Linux (LKML). Как пояснил разработчик, некоторые сопровождающие требуют проверки запросов со стороны ИИ, и вполне вероятно, что со временем эта практика станет обязательной для всех.

Инструменты на базе ИИ способны выявлять реальные проблемы безопасности. Они также могут обнаруживать недочеты в старых, уже не используемых драйверах, которые оставались незамеченными годами. Торвальдс видит ценность в исправлениях, полученных таким образом, но признаёт и сопутствующие трудности: «Думаю, это улучшает нашу кодовую базу… Хотя это также создаёт нагрузку на сопровождающих, что становится проблемой».

Поскольку недавно отмечалось 35-летие Linux, Торвальдс также рассказал о том, как с годами менялся процесс разработки системы. На начальном этапе у Linux практически не было никакой инфраструктуры разработки. Вместо этого он отслеживал изменения с помощью патчей в архивах (tarball) и регулярно распространял обновлённый исходный код.

«Я каждый день создавал патчи для внутреннего использования и выпускал…»

«…как минимум раз в неделю, — вспоминал он. — И для небольшого проекта это работало на удивление хорошо».

Это продолжалось до 2002 года, когда Linux превратился в гораздо более масштабный проект. 

Нежелание Торвальдса использовать существующие инструменты контроля версий объяснялось не просто упрямством. Он хотел, чтобы разработчики трудились независимо, в собственных локальных средах. «Я был твердо убеждён, что у каждого должна быть своя локальная рабочая среда», — пояснил основатель Linux.

Система контроля версий BitKeeper обеспечила такое улучшение, хотя её проприетарная лицензия вызвала раскол в сообществе разработчиков ядра. Некоторые из них отказались ею пользоваться. Торвальдс же обнаружил, что распределённая система контроля версий значительно упрощает слияние наработок из различных подсистем, таких как сетевой стек и архитектура ARM. 

Затем, в 2005 году, спор вокруг лицензии BitKeeper лишил его инструмента, к которому он уже привык. Попробовав в деле распределённую систему контроля версий, Торвальдс больше не хотел возвращаться к прежним методам. Его ответом стал Git.

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

Успех, которого в итоге добился Git, до сих пор удивляет самого Торвальдса. Сегодня, согласно опросу разработчиков Stack Overflow 2022 года, он стал де‑факто стандартом контроля версий: его используют почти 94% респондентов и почти 97% профессиональных разработчиков. Торвальдс всего лишь хотел получить инструмент для Linux, а не перекраивать весь процесс разработки программного обеспечения.

Примерно через полгода он передал сопровождение проекта другим. Торвальдс исходил из того, что последующие десятилетия развития — это уже заслуга других людей. 

Процесс выпуска релизов Linux претерпел ещё одно серьёзное изменение: отказ от разделения на долгоживущие ветки (стабильную и ветку разработки) в пользу частых релизов, окна слияния и выпуска кандидатов в релиз (release candidates).

В рамках старой модели изменения накапливались в ветке разработки, а дистрибьюторы самостоятельно переносили (бэкпортировали) нужные исправления в стабильные версии ядра. Релизы, которые должны были выходить ежегодно, порой затягивались на годы, что затрудняло планирование. Торвальдс предложил радикально сократить цикл разработки. Реакция [3] была сдержанной. «Люди смотрели на меня так, словно у меня выросла третья голова». 

Его первоначальный план уложиться в пять недель был намеренно амбициозным. В итоге процесс стабилизировался в привычном ритме: от девяти до десяти недель. Результатом стала модель разработки, которую Торвальдс по‑прежнему считает исключительно эффективной: «Вот уже 20 лет у нас действует по‑настоящему надёжная и рабочая модель».

Он также отверг идею о том, что развитие Linux должно строиться вокруг громких релизов с масштабными нововведениями: «Я твердо убеждён в эффективности постепенных, небольших изменений, которые со временем перерастают в крупные функции». 

Летом Торвальдс написал [4] пост рассылки, подтверждающий позицию разработчиков ядра Linux о том, что они не против ИИ, и отвечающий на критику некоторых мейнтейнеров, выступающих против использования LLM в проекте. Он заявил, что ядро ​​Linux не является «анти‑ИИ» и что ИИ/LLM следует рассматривать лишь как инструмент, помогающий разработчикам. При этом разработка не обязывает использовать такие инструменты, но сам Торвальдс выступает против тех, кто критикует подобные решения.

Автор: maybe_elf

Источник [5]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/36865

URLs in this post:

[1] высказался: https://www.zdnet.com/tech/linus-torvalds-ai-coding-programming/

[2] смог написать: https://habr.com/ru/news/1073386/

[3] Реакция: http://www.braintools.ru/article/1549

[4] написал: https://habr.com/ru/news/1059730/

[5] Источник: https://habr.com/ru/news/1093620/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1093620

www.BrainTools.ru

Rambler's Top100