Использование ИИ для переноса драйвера Wi-Fi с Linux на FreeBSD: Пример из практики

Прямая попытка портирования кода с помощью ИИ
У разработчика был MacBook Pro 2016 года с Wi-Fi чипом Broadcom BCM4350, который не имеет нативной поддержки в FreeBSD. Типичным обходным решением является wifibox — виртуальная машина Linux с PCI pass-through. Вместо этого они попытались портировать драйвер Linux brcmfmac (лицензия ISC) напрямую на FreeBSD с использованием ИИ.
Они склонировали поддерево brcmfmac и попросили Claude Code заставить его работать на FreeBSD, указав конкретно на драйвер iwlwifi в качестве примера использования LinuxKPI (слоя совместимости с ядром Linux в FreeBSD). Первоначальная попытка дала модуль, который компилировался, но не работал, потому что тестовая виртуальная машина не имела реального оборудования.
При тестировании с реальным PCI-устройством ядро паниковало. Claude Code пытался исправить паники, добавляя обертки #ifdef __FreeBSD__ и создавая специфичные для FreeBSD прослойки и обратные вызовы, но предупредил, что проект становится «очень сложным и запутанным». Получившийся diff оказался значительно больше ожидаемого, и драйвер остался нерабочим.
Подход «Сначала спецификация»
Вдохновившись опытом Армина Ронахера с Claude Opus и агентом Pi, разработчик сменил подход. Осознав, что их задача узкая (один чип, только PCI, только Wi-Fi клиент), они запустили новую сессию Pi и попросили агента написать подробную спецификацию того, как работает драйвер brcmfmac, с фокусом на BCM4350.
Они явно задали аудиторию как «читателей, которым поручено реализовать спецификацию в чистой среде» и попросили объяснений «до битов». Агент создал спецификацию из 11 глав, охватывающую:
- 00-overview.md
- 01-data-structures.md
- 02-bus-layer.md
- 03-protocol-layer.md
- 04-firmware-interface.md
- 05-event-handling.md
- 06-cfg80211-operations.md
- 07-initialization.md
- 08-data-path.md
- 09-firmware-commands.md
- 10-structures-reference.md
Разработчик отмечает, что спецификации, сгенерированные ИИ, требуют проверки, так как «нельзя просто доверять тому, что написал ИИ».
📖 Прочитать полный источник: HN AI Agents
👀 Смотрите также

Запуск нескольких Telegram-ботов на одном AI-агенте для параллельных задач
Разработчик решил проблему ожидания завершения ИИ-агентом одной задачи перед началом другой, настроив три Telegram-бота, которые все привязаны к одному базовому агенту. Каждый бот работает независимо со своей собственной перепиской и историей диалогов, при этом они используют общее рабочее пространство, память и накопленные знания.

Автоматизация рабочих процессов Claude Code с системой автопетли для увеличения пропускной способности в 10 раз.
Разработчик создал систему автоповтора, которая автоматизирует цикл планирования, реализации и тестирования с помощью Claude Code и Codex CLI, достигнув 10-кратного увеличения пропускной способности и создав готовое к производству приложение на 20 тысяч строк всего за чуть больше часа.

Конвейер TDD с ИИ: Как плохие инструкции породили 3 400 тестов и что это исправило
Разработчик создал многокомпонентный конвейер TDD с использованием Claude Code, где разные агенты занимаются тестированием, написанием кода и ревью. Исходная инструкция «написать тесты для всего» привела к созданию 3400 тестов, из которых только 44% были валидными, что вылилось в «театр покрытия», где тесты не выявляли реальные ошибки.

Радио Свободная Джемма: Искусственный интеллект катастроф через Meshtastic и локальную LLM
Разработчик запускает модель Gemma 4:26B локально на ячеистой сети с использованием Meshtastic и OpenClaw, предоставляя экстренную информацию на основе RAG по радио, когда сотовая связь недоступна.