Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

В ядре Linux могут появиться специальные каталоги для навыков ИИ-ассистентов

В ядре Linux могут появиться специальные каталоги для навыков ИИ-ассистентов

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

Предложение оформил один из мейнтейнеров долгосрочных стабильных веток Саша Левин. Пулл патчей, отправленный в почтовые рассылки workflows и ksummit, затрагивает проблему точности тегов Fixes, которые часто указывают на коммит, лишь переместивший код, но не содержащий саму исходную ошибку.

Новая директория в дереве исходного кода

Первый патч предусматривает добавление каталога agents/ в корневую директорию исходного кода ядра. Эта папка создается специально для размещения навыков, промптов и сопутствующих ресурсов, ориентированных на кодинг-ассистентов. Одновременно с этим в проект добавляется запись MAINTAINERS, которая закрепляет ответственность за данный раздел.

Реклама

Каждый отдельный навык получает обособленную подпапку внутри agents/skills/, где в качестве основной точки входа используется файл SKILL.md, оформленный в соответствии со стандартом Agent Skills. Инструкции для ИИ-ассистентов предполагают прямое чтение ресурсов по их путям в репозитории, а все внутренние ссылки привязываются к конкретной папке навыка. Описание этой структуры планируется зафиксировать в обновленном документе ядра, посвященном ассистентам программирования.

Первым компонентом, который должен занять свое место в этой структуре со вторым патчем, станет навык find-fixes, предназначенный для автоматизации поиска исходных причин багов.

Почему теги Fixes часто указывают неверно

Поводом для создания инициативы послужило обсуждение с Тедом Цо, который обратил внимание на проблему некорректных меток при поддержке стабильных веток. Вопрос возник после общения с Ханнесом Райнеке, по оценкам которого от 15 до 20 процентов тегов Fixes содержат ошибки. Это создает трудности не только для ведения документации: от точности тегов зависит корректность распределения исправлений по веткам дистрибутивов.

Появившийся в рамках инициативы навык find-fixes анализирует историю Git и формирует предложение по тегу с приведением собранных доказательств, оставляя сам коммит неизменным. Согласно файлу guide.rst, ни один отдельный признак не может служить гарантией правильности выбора коммита. Ассистент последовательно изучает сценарий возникновения ошибки, прослеживает цепочку кандидатов и сравнивает каждый из них с родительским состоянием.

Механизм разделяет коммит, добавивший код, версию, сделавшую его дефектным, и последующие изменения, которые лишь обнажили скрытую проблему. Для бэкпортируемых исправлений проверяется, порожден ли баг оригинальным изменением или особенностями его адаптации под старое ядро. Ситуации слияний, откатов и неполной истории обрабатываются по отдельным алгоритмам. Если происхождение сбойного участка установить не удается, инструмент не проставляет метку, а выводит список кандидатов и перечень недостающих данных, оставляя исправление в статусе черновика.

Текущий статус и перспективы проекта

Второй патч вносит коррективы в официальную документацию по кодинг-ассистентам. Согласно документу, ИИ-помощник обязан следовать инструкциям нового руководства перед фиксацией исправления, формированием сообщения к нему или проверкой уже существующей метки. На этапе коммита система будет запрашивать верифицированный тег вместо прежней проверки на наличие произвольного поля Fixes.

Авторы инициативы подчеркивают, что сам навык не занимается написанием сообщений для коммитов, автоматическим применением тегов или решением вопросов о целесообразности переноса патча в стабильную ветку. Идея продолжает серию шагов Саши Левина по формированию единой политики использования искусственного интеллекта в разработке ядра.

Точное расположение файлов пока остается предметом обсуждений. В описании вводного патча отмечается неопределенность относительно того, стоит ли размещать эти материалы в стандартном разделе Documentation или выделить их в отдельный корень под именем agents. В ходе обсуждения разработчик Грег Кроха-Хартман поднял вопрос о том, не приведет ли нововведение к игнорированию инструкций утилитами из-за отсутствия файла AGENTS.md, на что автор ответил, что эта задача относится к отдельному патчу для симлинков.

01.