← Все статьи

ИИ-агент написал драйвер для сканера и починил камеру ноутбука: как устроен метод и где в нём человек

Темы: ИИ, Автоматизация

Серый плёночный сканер на столе, рядом полоски фотонегативов и USB-кабель к закрытому ноутбуку, позади лампа и коробки с плёнками

Короткий ответ: в дайджесте эта новость пересказана так: «Учёные из проекта Uraeus показали, как нейросети могут анализировать микросхемы без документации и воссоздавать их архитектуру». Источник другой. Это запись в блоге разработчика Кристиана Шаллера от 15 октября 2026 года. Он с помощью ИИ-агента Claude Code сделал под Linux драйвер для плёночного сканера, у которого драйвера не было, и набор исправлений для камеры своего ноутбука. Для сканера метод простой по идее: записать, как устройство общается с компьютером под Windows с родным драйвером, записать то же со своим драйвером под Linux и дать ИИ сравнить две записи. Для встроенной камеры, к которой так не подключиться, ИИ изучал сведения о ней со стороны Windows и сравнивал записи с неё с записями подключённой рядом USB-камеры. Результаты автор проверял сам на настоящем оборудовании.

Откуда новость

Источник один: пост Кристиана Фредрика Калагера Шаллера в его блоге на сайте GNOME «Using Artificial Intelligence to reverse engineer hardware». В дайджесте источником назван Hacker News, где обсуждали этот пост; само обсуждение я не читал. Я читал сам пост и страницу его инструмента hw-harness на GitHub. Код и патчи я не запускал и не проверял.

С чего началось

После смерти матери у автора осталась коробка старых плёночных негативов. Он купил сканер Plustek OpticFilm 8200i, потому что модель с таким названием поддерживалась в Linux, и обнаружил, что в новой версии сканера стоит другой контроллер, Genesys GL128, который Linux не поддерживал. Он решил, что Claude поможет сделать драйвер для SANE, но, по его словам, надолго застрял и на несколько месяцев бросил эту затею.

Вернуться помог пост разработчика Тома Крайдера (Glorious Eggroll) в X: тот починил драйвер мыши, дав ИИ-агенту полный доступ к Windows, чтобы собирать нужные данные. Шаллер попросил Claude помочь так же настроить виртуальную машину с Windows, то есть отдельную копию Windows, которая работает внутри программы на его компьютере с Linux. Сам автор считает, что помогли и запись обмена с устройством, и, вероятно, улучшения в Claude Code. По его словам, через несколько часов у него был первый рабочий скан под Linux, с огрехами качества, но узнаваемый, а через несколько дней почти готовый драйвер с инфракрасным сканированием. Тут выяснилось, что за это время в проект SANE (набор драйверов сканеров для Linux) уже добавили поддержку этого сканера другие люди.

Как устроен метод

Автор описывает четыре шага своего инструмента hw-harness:

  1. Эталонная запись. Родной драйвер производителя работает под Windows в виртуальной машине, а настоящее устройство подключено к ней напрямую.
  2. Запись снаружи. Обмен данными по USB записывается на основной машине с Linux программой usbmon. Она стоит ниже слоя, через который устройство передаётся в виртуальную машину, поэтому Windows её не видит.
  3. Повтор. То же действие выполняется под Linux уже со своим драйвером и записывается тем же способом.
  4. Сравнение. Обе записи сделаны одним инструментом, поэтому их можно сравнивать напрямую. Различия, по словам автора, это и есть список ошибок драйвера.

Для устройств, к шине которых нельзя подключиться (например, встроенной камеры), инструмент вместо этого изучает сведения со стороны Windows: файлы установки драйвера, реестр, таблицы ACPI и свойства устройства.

Почему здесь подходит ИИ, автор объясняет так: писать драйвер для недокументированного устройства долго и нудно. Нужно смотреть шестнадцатеричные дампы, строить догадки о том, что делает каждый регистр, и проверять их по одной, обычно неделями. Модель может прочитать тысячи строк записи, заметить, что последовательность повторяется с изменением одного байта, предложить, что этот байт значит, и написать проверку. Решает, что строить, и проверяет на настоящем железе человек.

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

Что получилось и какие цифры

  • Драйвер сканера. Цветной, серый, инфракрасный режимы, разрешение от 300 до 7200 точек на дюйм, удаление пыли и царапин по инфракрасному каналу. Автор сравнил его с драйвером, который появился в SANE в сентябре 2026 года: оба различают одинаково мелкие детали на 3600 точках на дюйм, его драйвер быстрее на полном разрешении (34,6 секунды против 54,4), у драйвера SANE больше шагов разрешения. Сам автор предупреждает, что это один экземпляр сканера и один кадр, то есть одна точка данных, и рассчитывает, что все, включая его, будут пользоваться драйвером SANE, когда тот догонит по возможностям.
  • Камера ноутбука. В ThinkPad X1 Carbon Gen 14 камера под Linux давала тёмную картинку с затемнёнными краями и жёлто-зелёным оттенком. Задание агенту автор дал утром, к вечеру были готовы исправления для ядра Linux и библиотеки libcamera. В списке исправлений пять пунктов, среди них неверный предел усиления, который стоил около 1,8 ступени чувствительности, и полностью отсутствующая коррекция затемнения краёв, из-за которой углы были темнее примерно на 2,7 ступени. В проверке при слабом свете средняя яркость кадра выросла с 31,1 до 90,9. Синего в слабом свете всё ещё не хватает примерно на 17%. Исправления для ядра автор отправил разработчикам, исправления для libcamera, по его словам, на рассмотрении.

Что автор не утверждает

Шаллер прямо пишет, что не считает сканы и камеру идеальными: сканер даёт приличные сканы, а камера выглядит намного лучше, чем раньше. Инструмент hw-harness в нынешнем виде он сам в этих проектах не использовал: это попытка сделать из его разовых скриптов общий инструмент. И главный его вывод про роль человека: ИИ хорош в нудной части, а держать в руках железо и проверять результат приходится человеку, «настоящее оборудование единственный судья».

Что это значит, если у вас оборудование без драйверов

Это мой вывод из поста, а не слова автора.

Если у компании есть сканер, станок или датчик, который работает только со старым драйвером под Windows, такой подход может сократить ручной труд. Но в посте описан опыт одного человека с инженерными навыками и двумя устройствами, а не проверенный способ для любого оборудования. Сначала спросите производителя, нет ли драйвера для вашей системы: это дешевле любой собственной разработки. Если драйвера нет, а в компании есть разработчик, который умеет настроить виртуальную машину и запись USB, он может попробовать метод автора на отдельном компьютере, не на рабочем: агент в такой схеме управляет виртуальной машиной и драйверами. Готов ли новый драйвер, проверяют на настоящем устройстве по трём пунктам. Первый: обычная рабочая операция, например скан плёнки, проходит без сбоев несколько раз подряд. Второй: качество устраивает тех, кто пользуется результатом, по их собственным требованиям (разрешение, цвет, шум). Третий: результат доходит туда, где он нужен, например файл открывается в программе, с которой работает отдел. Если хотя бы один пункт не выполнен, драйвер не готов, и устройство остаётся работать как сейчас, на компьютере с Windows и родным драйвером.

Как читать такие новости. Посмотрите, кто источник: здесь это личный блог разработчика, а не исследование. Цифры автор приводит с оговорками и сам предупреждает, что они получены на одном экземпляре; я их не проверял.

Итог

Кристиан Шаллер с помощью Claude Code сделал под Linux драйвер для сканера, сравнивая записи обмена с ним под Windows и под Linux, и исправления для камеры ноутбука по сведениям со стороны Windows и сравнению с USB-камерой. По словам автора, ИИ взял на себя нудную часть: расшифровку записей, пробные запросы к устройству и сверку констант. Что делать, решал автор, и результат на настоящем железе проверял тоже он. Результаты описаны на одном экземпляре каждого устройства, и автор называет их не идеальными, а заметно лучше прежних.

См. также другой разбор раздела: Локальный ИИ на своём компьютере.

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

Источники