2026年4月、Hacker Newsのトップページにひとつの投稿が上がりました——AI assistance when contributing to the Linux kernel。Linuxカーネルが正式に公開した coding-assistants.rst というドキュメントが、開発者コミュニティに大きな反響を呼んでいます。
世界最大のオープンソースプロジェクトが、AI時代の開発にどんなルールを定めたのか? そしてなぜ、このルールが私たちすべての開発者にとって重要なのか? その核心に迫ります。
Hacker Newsとコミュニティの反応
この話題がHacker Newsに投稿されると、コメント欄は活発な議論で溢れました。多くの開発者がこのルールを 「refreshingly normal(驚くほどまとも)」 と評価しています。過剰にAIを排除するわけでもなく、無条件に受け入れるわけでもない——その「地に足のついた」姿勢が支持を集めました。
一方で、Linus Torvalds氏自身はこのルール制定に先立ち、2026年1月に興味深い発言をしています——「ドキュメントでAI Slopは防げない。悪意のある人間はルールを無視するのだから」。ルールは善意の開発者のためのガイドラインであり、品質を最終的に守るのはコードレビューという人間の営みだ——この現実主義的な姿勢が、今回のルールの土台にあります。
Linuxカーネルが定めたLLMルールの核心
では、coding-assistants.rst の中身を見ていきましょう。ルールは明快で、3つの柱から成り立っています。
柱1:開示義務——Assisted-by タグ
AIを使ってコードを書いた場合、以下の形式でコミットメッセージに明記する必要があります:
Assisted-by: AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2]
たとえば:
Assisted-by: Claude:opus-4-6 [Claude Code]
「使ったこと」を隠すのではなく、堂々と開示する。これが信頼の出発点です。
柱2:署名は人間だけ——Signed-off-by の意味
Linuxカーネルの Signed-off-by タグは、Developer Certificate of Origin(DCO)への法的な署名です。AIエージェントはこのタグを使用できません。理由はシンプルで、AIには法的責任を負う能力がないからです。
Signed-off-by: Taro Yamada <taro@example.com> ← 人間のみ
Assisted-by: Claude:opus-4-6 [Claude Code] ← AIの貢献を記録
柱3:あなたのコードは、あなたの責任
ドキュメントは明確に述べています——AI生成コードはあなたのコードです。AIが書いたコードであっても、提出した人間がすべての責任を負います。「AIが書いたから」は言い訳になりません。
なぜこのルールが必要だったのか
このルールは理想論から生まれたものではありません。実際に問題が起きていたからです。
LinuxカーネルのメモリサブシステムメンテナーであるDan Williams氏は、2025年3月のメーリングリストで、AI生成と見られるパッチの拒否が増えていると報告しました。もっともらしいが中身のないコミットメッセージ、安定したコードへの不要なリファクタリング、目的不明なヘルパー関数の追加——こうしたパッチが、人間の十分なレビューなしに提出されていたのです。Williams氏は「AIツールに反対しているのではない。レビュアーの時間を浪費するパッチに反対しているのだ」と述べています。
さらに、カーネル開発にはLLMが特に苦手とする領域が多くあります:
- 厳格なメモリモデル:ロックの順序やバリアの使い方を間違えれば、再現困難なバグが生まれます
- リアルタイム要件:レイテンシの保証が必要なコードパスでは、「だいたい動く」では済みません
- 数十年にわたる後方互換性:なぜそのコードがそう書かれているのか、暗黙の知識がなければ理解できない箇所が無数にあります
LLMは「動くコード」を生成できますが、「正しいコード」を保証することはできません。この差を埋めるのが、人間のレビューです。
手綱を握るのは人間——ハーネスという考え方
この「人間が最終責任者」という原則を、どう理解すればよいでしょうか。
以前の記事「ハーネスエンジニアリング完全ガイド」で紹介した比喩がまさに当てはまります:
「ハーネス」とは、もともと馬を御すための馬具を指す言葉です。どれだけ優秀なサラブレッドでも、手綱なしでは暴走してしまいます。AIエージェントも同じです。
Linuxカーネルの coding-assistants.rst は、まさにこの手綱です。AIという強力なサラブレッドの走力を活かしつつ、暴走を防ぐ仕組み。Assisted-by タグは手綱の存在を明示し、Signed-off-by の人間限定ルールは「手綱を握るのは必ず人間」という原則を制度化しています。
Kent Beck氏の言葉も思い出されます:
「コードは豊富、判断力は希少。希少な存在になれ」
LLMがコードを大量に生成できる時代だからこそ、それを評価し、判断し、責任を取る人間の役割がより重要になっています。
開発者として実践すべきこと
Linuxカーネルのルールから、すべての開発者が学べることを3つにまとめます。
やるべきこと
- 理解してから署名する:AIが生成したコードを一行ずつ読み、なぜそう書かれているか説明できる状態にする
- AIの利用を開示する:チームのコミット規約にAI利用の記録方法を追加する
- AIが苦手な領域を知る:セキュリティ、並行処理、ライセンス互換性など、人間の判断が特に重要な領域を意識する
やってはいけないこと
- AIの出力をそのまま提出する:コピー&ペーストは「利用」ではなく「責任の放棄」
- 理解できないコードに署名する:「AIが書いたから大丈夫」は最も危険な思考
- AIをレビューの代替にする:AIはレビューの補助にはなるが、代替にはならない
まとめ——AI時代に「希少な存在」であるために
Linuxカーネルが定めたルールは、決してAIを敵視するものではありません。AIをツールとして正しく活用し、人間が責任を持つという、当たり前だが重要な原則を制度化したものです。
Linus Torvalds氏が言うように、このルールは「善意の開発者」のためにあります。そして善意の開発者であるならば、AIの力を借りながらも、最終的な判断と責任は自分が引き受ける——その覚悟を持つことが、AI時代のプロフェッショナルの条件ではないでしょうか。
手綱を握るのは、常にあなた自身です。
参考資料
- AI Coding Assistants — The Linux Kernel documentation
- coding-assistants.rst (GitHub)
- Linus Torvalds Just Told AI Coders The Rules
- The Linux Kernel Just Published AI Coding Guidelines (DEV Community)
- Linus Torvalds: The AI Slop Issue Is NOT Going To Be Solved With Documentation (Phoronix)
- AI assistance when contributing to the Linux kernel (Hacker News)