Linuxカーネル開発の古参メンテナーとして知られるGreg Kroah-Hartman
GKHが今回表明した方針の概要は以下の通り。
- ここ最近、drivers/
staging/にLLMで生成されたカーネルパッチがめちゃくちゃ大量 (onslaught) に送られてくるので、こういうパッチに対する私の方針を明確にしておく - まず大前提として、drivers/
staging/とは新参のカーネル開発者が開発への参加方法を学ぶ場所であるということ。ここにはコードのクリーンアップやAPI変更など、新規開発者が手軽に取り組める課題 (low-hanging fruit) がたくさん含まれているので、彼らは安全かつ友好的な環境で、プレッシャーを感じる必要なく開発プロセスを学ぶことができる - drivers/
staging/内のコードをLLMでクリーンアップしたり修正したりする行為は、学びの場所であるはずのdrivers/ staging/の存在意義を損ねるものである。だから今後はdrivers/ staging/サブシステム向けにLLMで生成されたパッチは自動的に却下する (ただし例外がひとつだけある) - なお、LLMで作ったパッチかどうかは一目瞭然なので、もしLLM使用を明かさずに提出して
「うまく誤魔化せる」 などとは決して思わないように。ステージングエリアの目的は人々が学ぶことであり、メンテナーをだますことではない。もし意図的に我々をだまそうとしたと判断された場合は…まあ、これは事前の警告と思ってもらってかまわない - 現在のLLMはたしかにカーネル内の疑わしいセキュリティ上の問題を見つけるのが格段にうまくなっている。だがそれらが生成する結果の少なくとも3分の1は完全に間違っているか、あるいは有害なものだ
- だから、あなたがLLMを使ってdrivers/
staging/内の問題を特定/修正し、その内容が本当に妥当だと判断したなら、それを提出してもいいだろう。ただし、そのためにはまず、あなたが最初にそのドライバが対象とする実際のハードウェアでテストを行い、そのテスト手順を説明しなければならない。そこまでやってはじめて我々はその変更を受け容れるだろう - このテストの過程で、全体の3分の1を占める誤った報告を排除できることが期待されるが、必ずしもそううまくいくとは限らない。したがってあなたは自分が行った変更内容が、ユーザが遭遇するかもしれないバグを正しく修正するものであることを証明する覚悟をもたなくてはならない
- 言い換えれば、drivers/
staging/はスキルを学び、成長させるためのジムのようなものだ。たしかにLLMは負荷の高い作業をこなすためには有用なツールとなりつつある。しかしそれを使ってよいのは、どのような作業が可能で、どのように行うべきかを理解できるだけのスキルを適切に磨き上げた人だけだ。これについてはBruce Schneier (暗号/情報セキュリティの専門家) が非常にすぐれたエッセイで解説しているので、ぜひ参考にしてほしい
なお、GKHが紹介したSchneierのエッセイでは
AI使わない場所をあえて用意し、開発者の学びと成長を支援するジムとして機能する ーもともとdrivers/
