Представлены правила для AI-ассистентов, применяемых при разработке ядра Linux

Саша Левин (Sasha Levin) из компании NVIDIA, занимающийся сопровождением LTS-веток ядра Linux и входящий в консультативный совет организации Linux Foundation, выставил на обсуждение разработчиков набор правил и документацию, которые должны учитываться AI-ассистентами при генерации изменений для ядра Linux. Ссылки на инструкции отмечены в файлах конфигурации, подготовленных для AI-платформ Claude, GitHub Copilot, Cursor, Codeium, Continue, Windsurf и Aider.

Определены следующие ключевые принципы для AI:

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

Для выделения изменений, подготовленных с использованием AI, к коммиту предписывается прикреплять тег "Co-developed-by: $AI_NAME $AI_MODEL $AI_VERSION". Например: "Co-developed-by: Claude claude-3-opus-20240229", "Co-developed-by: GitHub-Copilot GPT-4 v1.0.0" и "Co-developed-by: Cursor gpt-4-turbo-2024-04-09". При этом AI-ассистент не должен добавлять себя в тег "Signed-off-by". Данный тег должен добавляться только человеком для юридически значимого подтверждения права на передачу кода под открытой лицензией.

Документация, которую должен учитывать AI-ассистент: