GitHub Copilot, Anthropic Claude 및 ChatGPT Codex와 같은 AI 프로그래밍 도구가 개발 환경에서 점점 인기를 끌면서 대규모 조직에서도 엔터프라이즈 수준 소프트웨어에 AI 지원 코드를 대규모로 채택하기 시작했습니다. 예를 들어, Microsoft는 AI Copilot이 매달 수십만 건의 풀 요청을 검토하고 영향을 미치는 데 관여했다고 내부적으로 주장합니다. 이제 커뮤니티에는 AI 생성 또는 지원 생성 코드를 Linux 커널에서 규정에 맞게 사용할 수 있는 방법에 대한 보다 명확한 서면 지침이 있습니다.

최근 Hacker News에서는 AI 지원 코드 요구사항에 관한 문서가 주목을 받았습니다. 이 문서는 Linus Torvalds라는 이름으로 RST 형식으로 공식 Linux 저장소에 공개적으로 호스팅되어 있으며, 특히 AI 도구를 사용하여 Linux 커널에 코드를 제공하려는 개발자에게 지침과 제약 조건을 제공합니다.

문서에 따르면, 우선 모든 AI 지원 생성 코드는 development-process.rst, Coding-style.rst, submitting-patches.rst 및 기타 파일에 지정된 프로세스 및 스타일 요구 사항을 포함하여 기존 인간 개발 프로세스를 완전히 따라야 합니다. 동시에 코드는 GPL-2.0 전용 라이선스와의 호환성 유지, SPDX 라이선스 식별자의 올바른 사용, License-rules.rst에 나열된 모든 규칙 준수 등 기존 규정 준수 요구 사항도 충족해야 합니다.

서명 및 책임 식별 측면에서 규칙에서는 AI 에이전트 자체가 서명자 라벨을 사용해서는 안 된다는 점을 강조합니다. 인간만이 DCO(원산지 개발자 인증서)를 합법적으로 인증할 수 있으므로 이 라벨은 인간 검토자만을 위해 예약되어 있습니다. 패치를 제출하는 인간 개발자는 모든 AI 생성 코드를 직접 검토하여 라이센스 요구 사항을 충족하는지 확인하고 패치에 자체 승인자 표시를 사용하여 모든 기여에 대해 전적인 책임을 져야 함을 분명히 해야 합니다.

또한 이 문서에서는 커뮤니티가 Linux 커널 개발에서 AI가 차지하는 비중의 진화를 추적할 수 있도록 AI 지원 참여에 대한 명시적인 귀속을 요구합니다. 이는 풀 요청에 "Assisted-by" 태그를 사용하고 일관된 형식을 따르면서 수행됩니다.AGENT_NAME:MODEL_VERSION [도구1] [도구2]. 그 중 AGENT_NAME은 사용된 AI 도구나 프레임워크의 이름이고, MODEL_VERSION은 특정 모델 버전이며, 대괄호 안의 TOOL1과 TOOL2는 선택적인 특수 분석 도구(coccinelle, sparse, smatch, clang-tidy 등)입니다.

Linux 커널 개발자와 주요 조직이 계속해서 AI를 수용하고 이를 사용하여 코딩 및 검토 효율성을 향상시키는 배경에 대해 Linus Torvalds가 유지 관리하는 이 사양은 실제로 AI 지원 코드를 Linux 커널에 "조건부로 환영"합니다. 이는 효율성 이점을 부정하지 않을 뿐만 아니라 인간의 책임, 라이센스 준수 및 통합 귀속 형식과 같은 엄격한 요구 사항을 통해 AI 참여에 대한 명확한 경계를 설정합니다. 이전에 Torvalds 자신도 일부 프로젝트에서 소위 "바이브 코딩"과 같은 새로운 개발 방식을 채택하려고 시도한 것으로 보고되었으며, 이는 또한 새로운 도구에 대한 그의 실용적이고 신중한 태도를 확인시켜 줍니다.

자세히 알아보기:

https://github.com/torvalds/linux/blob/master/Documentation/process/coding-assistants.rst