AIはただの道具、それを使うなら使った人に責任があるという考え

LinuxカーネルはAI生成コードを受け入れるが、問題を起こした場合はコード提出者の責任に

Munenori Taniguchi

Image : Claudio Borquez Arias / Shutterstock

Linuxカーネル開発プロジェクトのコミュニティは、カーネルコードのメンテナンスにおけるAI生成コードによる貢献を明示的に許可する正式なプロジェクト全体の方針を策定した。

このガイドラインでは、開発者証明書(DCO)を法的に認証できるのは人間のみであることを明記し、AI生成コードには法的拘束力のある「Signed-off-by」タグの使用を厳格に禁止、その代わりに透明性を確保するための新たな「Assisted-by」タグの使用が義務付けられることになった。

具体的には、AI生成コードを提出する者は、以下の項目に関して責任を負うようになった。

・AIが生成したすべてのコードをレビューする
・ライセンス要件への準拠を確保する
・DCOを証明するために、独自の署名タグを追加する
・貢献に対する全責任を負う

要するに、AI生成コードを提出する場合は、指定されたタグを追加するとともに、そのコードを自分で書いたコードと同様に取り扱わなければならないということだ。

オープンソース界隈はいま、各コミュニティが「AIスロップ」と呼ばれる、AI生成による低品質でバグだらけのコードへの対応に追われる状態となっている。たとえばcURLの開発者らは、AI生成のバグを含むコードが大量に送られてきたせいで、バグ報奨金プログラムを停止して対応しなければならなくなった。Node.jsやOCamlといったプロジェクトでも、1万行を超えるようなAI生成パッチが提出され、疲弊したメンテナーらの間でプロジェクトの存亡に関わるような議論になっている。

昨年末、Linuxカーネルv6.15に対し、NVIDIAのエンジニアでLinuxカーネルメンテナーでもあるサシャ・レヴィン氏は、完全にAIで生成したことを明確にしないままパッチを提出したことが明らかになり、コミュニティから猛烈な反発を受ける騒ぎとなった。問題のコードは一応機能はしていたものの、全体のパフォーマンスを低下させる微妙な不具合を含んでおり、レヴィン氏はそれを見落としていた。

この問題に対し、Linuxカーネルの生みの親であるリーナス・トーバルズ氏は、その変更が完全にAIツールによって生成されたものと知っていたなら、より慎重に精査していただろうと述べた。

Linuxカーネルの新しいポリシーは、「Assisted-by」タグの義務付けと、人的責任の厳格化によって感情的な要素を排除することで、開発者コミュニティにおけるAI生成コードを取り巻く開発者の不誠実な振る舞いへの苛立ちを抑えようとするものだ。

トーバルズ氏をはじめとするカーネルメンテナーは、AI生成コードを闇雲に禁じるよりも、きちんと動作し問題がないなら受け入れることにした。ただし、もしカーネルをクラッシュさせるようなお粗末なコードを提出すれば、その提出者がトーバルズ氏からしっかりお目玉をくらうことが明確になったということだ。

関連キーワード: