Логотип

Как искусственный интеллект помог одному разработчику создать драйвер 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.

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

Читать  Риски браузеров с искусственным интеллектом растут

 

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

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

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

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

 

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

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

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

 

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

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

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

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

 

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

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

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

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

 

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

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

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

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

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

 

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

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

Читать  Что такое искусственный интеллект?

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

 

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

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

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

Редактор: AndreyEx

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

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

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


Загрузка...

Спасибо!

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

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