Логотип

Как искусственный интеллект помог одному разработчику создать драйвер Wi-Fi для MacBook на базе FreeBSD

Как искусственный интеллект помог одному разработчику создать драйвер Wi-Fi для MacBook на базе FreeBSD

Краткое резюме

  • Разработчик успешно создал экспериментальный нативный драйвер WiFi для FreeBSD для чипа Broadcom BCM4350 (MacBook Pro 2016), выступив в роли «руководителя проекта» для агентов искусственного интеллекта.
  • После того как прямой перенос кода для Linux не увенчался успехом, он применил трёхэтапный процесс «вибрационного кодирования»: один ИИ сгенерировал техническую спецификацию из 11 глав, другой проверил её на наличие ошибок, а третий реализовал драйвер с нуля, используя эту спецификацию.
  • Получившийся драйвер поддерживает WPA2-PSK в диапазонах 2,4 ГГц и 5 ГГц, но пока находится на стадии тестирования.

 

Введение

Сегодня мы расскажем интересную реальную историю. У разработчика по имени Владимир Варанкин пылился старый MacBook Pro 2016 года выпуска. Он хотел установить на него FreeBSD, но столкнулся с большой проблемой: не работал Wi-Fi.

Большинство людей решают эту проблему, запуская небольшую систему Linux на виртуальной машине (ВМ) под названием wifibox. Но Владимиру нужен был родной драйвер, который работал бы напрямую с ядром FreeBSD.

Поскольку он не хотел писать тысячи строк кода вручную, он обратился к агентам-кодировщикам с искусственным интеллектом. Эта история показывает, как «вибрационное кодирование» может помочь в решении сложных аппаратных проблем.

Читать  NVIDIA выпускает Linux Display Driver v580 Beta

 

Как искусственный интеллект создал собственный драйвер Wi-Fi для FreeBSD

Первая попытка: простое копирование

Сначала Владимир попробовал реализовать очень простую идею. Он взял существующий код драйвера для Linux и попросил ИИ по имени Клод «перенести» его на FreeBSD. Он использовал инструмент под названием LinuxKPI, который выступает в роли вспомогательного слоя для запуска драйверов Linux на FreeBSD.

К сожалению, этот план быстро провалился. У ИИ возникли проблемы с недостающими функциями, а из-за кода система постоянно давала сбой или «паниковала». Владимир понял, что простое копирование кода — слишком ненадежный подход.

 

Акт 2: создание «книги»

Владимир решил изменить свою стратегию. Вместо того чтобы сразу писать код, он попросил ИИ-агента по имени Pi составить подробную спецификацию из 11 глав. В этом документе подробно, «по битам», объяснялось, как работает чип Wi-Fi.

Чтобы убедиться, что искусственный интеллект не допустил ошибок, Владимир использовал несколько других ИИ-моделей, таких как Codex и Opus, для вычитки спецификации. Он сравнил спецификацию с исходным кодом Linux, чтобы найти все ошибки. Это позволило заложить прочную основу для реальной сборки.

 

Акт 3: Рабочий процесс «Vibe Coding»

Имея на руках идеальную спецификацию, Владимир приступил к новому проекту. Он поручил искусственному интеллекту создать нативный драйвер для FreeBSD с нуля без использования вспомогательного уровня Linux.

Он разработал очень продуманный рабочий процесс:

  • Цикл сборки: ИИ имел доступ к тестовой виртуальной машине через SSH. Он писал код, собирал модуль и автоматически тестировал его.
  • Безопасность превыше всего: Владимир использовал для тестирования виртуальную машину. Это было крайне важно, потому что, если бы новый драйвер привёл к сбою системы, виртуальная машина перезагрузилась бы за считаные секунды, не причинив вреда основному компьютеру.
  • Журналы принятия решений: он заставил ИИ записывать все важные решения в файл под названием AGENTS.md. Это помогало ИИ не сбиться с пути во время длительных сеансов кодирования.
Читать  Nvidia и AMD выпускают новые драйверы, поддерживающие F1 2022

 

Результат: это действительно работает!

После множества попыток Владимир наконец-то получил работающий драйвер. Несмотря на то, что он не писал код сам, драйвер теперь может сканировать сети и подключаться к Wi-Fi на частотах 2,4 ГГц и 5 ГГц с использованием WPA2.

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

Разработчик добавил драйвер Wifi в свой репозиторий на GitHub. Можно даже заметить, что для проекта он использовал смесь C и нового языка под названием Zig.

 

Ключевая идея: контекстная инженерия важнее программирования

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

Вместо того чтобы просто «подсказывать», разработчик поддерживал постоянное состояние ИИ с помощью файлов AGENTS.md и decisions.md, в которых отслеживались выбранные архитектурные решения и прогресс.

Эта симуляция в «чистой комнате», где один ИИ пишет спецификацию, а другой ее реализует, позволила агенту разобраться в существенных различиях между API-интерфейсами ядра Linux и FreeBSD, не увязая в сложных механизмах совместимости, таких как LinuxKPI.

Более подробную техническую информацию об этой истории можно найти в блоге Владимира.

 

Удивительная деталь: ни одна строка кода не написана разработчиком-человеком!

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

Читать  TensorFlow - Установка

Кроме того, агенты ИИ самостоятельно приняли решение написать примерно 5% драйвера на языке Zig для чисто логических компонентов, а для взаимодействия с ядром использовать язык C. Это решение было зафиксировано и соблюдалось агентами на протяжении нескольких сессий кодирования.

 

«Отмывание» лицензий или «умная» инженерия?

Этот проект вызвал бурную дискуссию на hackernews о том, как мы создаем программное обеспечение. Некоторые разработчики беспокоятся о «отмывании» лицензий — идее о том, что искусственный интеллект может «отмыть» исходный код от соблюдения правовых норм. Другие утверждают, что использование ИИ для перевода аппаратной логики в новую операционную систему — это просто продуманная инженерия.

Как бы то ни было, Владимир доказал, что один разработчик может преодолеть огромный разрыв в аппаратном обеспечении с помощью агентов искусственного интеллекта. В будущем мы, возможно, будем относиться к программному обеспечению как к «скоту», а не как к «домашним питомцам», — создавать и выбрасывать пользовательские решения по мере необходимости.

Редактор: AndreyEx

Рейтинг: 5 (1 голос)
Если статья понравилась, то поделитесь ей в социальных сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала