top of page

Linus Torvalds、AIによってLinuxカーネルの大規模更新が新たな常態になったと語る

8月11日
読了時間: 20分

Linus Torvaldsは、難しい新たな現実を受け入れている。AI支援レビューによって、リリースサイクル終盤にメンテナーが従来扱ってきた量を超えるLinuxカーネルの修正が生み出されているのだ。この変化はLinux 7.2のテスト期間に再び明らかになり、第6、第7リリース候補まで異例の規模の更新が続いた。

Google Newsで広がっている話題は、単にAIがLinuxのバグを見つけたというだけではない。AIツールは提案される修正の量とタイミングを変え、バグ発見の拡大と統制されたリリースエンジニアリングとの間に摩擦を生んでいる。

この摩擦が重要なのは、Linuxがクラウドプラットフォーム、Android端末、サーバー、ネットワーク機器、開発環境、組み込みシステムを支えているためだ。見つかる欠陥が増えればこれらのシステムは改善し得るが、受け入れられる変更の一つひとつがリグレッションの新たな機会にもなる。

そのためTorvaldsは、反AIの立場も、無制限な自動化の立場も取っていない。彼が示しつつある原則は、より厳しいものだ。AIを使い、その発見を理解し、有用な作業を提出し、プロセス全体で人間の責任を維持することである。

Linux 7.2が新たな作業負荷を可視化した

Linux 7.2のリリース終盤の候補版の規模は、AI支援レビューが将来の議論ではなく、すでに運用上の課題になっていることを示している。

Torvaldsは8月2日の更新でLinux 7.2-rc6を「巨大」と表現した。コミット数で測ると、ここ数年で最大の第6リリース候補に見えると述べた。

リリース候補、すなわちRCは、安定版カーネルのリリース前に公開されるテスト版である。通常、後半の候補版では、残る作業はリグレッションや重大な欠陥へと絞り込まれていくべきだ。

その1週間後も、更新量は見慣れた水準に戻らなかった。Linux 7.2-rc7を発表するメッセージで、Torvaldsはその規模に満足していないと述べた。

それでも彼は、この更新を「新たな常態」と説明し、多くの修正はさまざまなAIツールによるレビューから生じたものだとした。Linux 7.2 reportも、修正がドライバー、ファイルシステム、ネットワーキング、アーキテクチャ固有のコードにまたがっていたと報じている。

変更の大半は小規模だった。Torvaldsは、s390の暗号化サポート、Btrfsのインフラストラクチャ、Netfilter IPセットに関する3つのより大きな領域を挙げたが、この候補版を危険だとは表現していない。

この区別は重要である。大規模なパッチセットが自動的に悪いパッチセットになるわけではなく、AIが発見した欠陥が自動的にAIが書いた修正を意味するわけでもない。

当面の懸念は累積リスクだ。個々にはささやかな数百件の変更でも、広範なレビュー、テスト、取り込み、フォローアップ作業を必要とし得る。

Linux開発では、この負担をサブシステムメンテナーに分散している。メンテナーは特定領域を理解し、パッチを集め、評価したうえで、メインラインカーネルへ向けてプルリクエストを送る。

AIは、この人間によるレビュー体制を同じ速度で拡張することなく、発見を加速させられる。メンテナーの注意力とリリース期限には限りがある一方で、AIは24時間体制で手がかりを生み出せる。

Torvaldsは、Linux 7.2の変更をリリース延期が必要なほど深刻だとは考えなかった。重大な新問題が現れない限り、安定版は翌週末に登場すると見込んでいた。

この判断は、量と深刻度を切り分けている。Linux 7.2は大規模だったが、既知の変更は確立されたリリースプロセスで扱える範囲にとどまっていた。

また、このリリースは有用なテストにもなる。AIの影響を受けた大規模な候補版が深刻なリグレッションなしに出荷されれば、支持者はワークフローがより多くの発見を吸収できる証拠を得る。

後になって問題が現れれば、議論はより厳格なタイミングと受け入れ管理へ向かう。中心的な問いは、もはやAIがカーネル開発に属するかどうかではない。AIが生み出した作業がリリーススケジュールのどこに位置づくべきかだ。

AIレビューがカーネル変更を増やしている理由

AIは疑わしいコードを見つけるコスト構造を変えるが、修正を検証して統合するために必要な高コストの作業をなくすわけではない。

かつて開発者は、見慣れないコードを調べ、制御フローを追い、見落とされたエッジケースを探すのに相当な時間を要した。AIツールは現在、はるかに大規模なコードベース全体で問題のある条件を提案できる。

一部のシステムはコードレビュー支援ツールのように動作する。別のシステムは、予期しない入力をソフトウェアに送り込んでクラッシュやメモリーエラーを露出させるテスト手法であるファジングと、言語モデルを組み合わせている。

これらのツールは、特に小さな不整合の発見に適している。欠けているチェック、異例のエラーパス、繰り返し現れるパターン、関連する関数間で食い違う前提を見つけられる。

Linuxには、非常に多様なハードウェアとワークロードをサポートするため、この種の機会が数多くある。ドライバー、ファイルシステム、ネットワークコンポーネント、プロセッサ固有のコードには、数十年にわたるエンジニアリング上の判断が反映されている。

AIは、パッチ量を増やすために新しいサブシステムを発明する必要はない。既存コンポーネントの多くで、見落とされていた条件を一つずつ見つけるだけで十分だ。

この仕組みは、現在の更新が巨大でありながら主に小さな修正で構成されている理由を説明する。自動化は探索対象を広げ、その後、より多くの潜在的欠陥を既存の人間中心のワークフローへ送り込む。

Linux安定版カーネルのメンテナーであるGreg Kroah-Hartmanは、具体例を示している。彼がローカルで運用するAI支援バグハンターは、4月以降、マージされた約2ダースのパッチに貢献したと報じられている。

このシステムは、AMD Ryzen AI Max+プロセッサを搭載したFrameworkデスクトップ上で動作した。local bug hunterについての説明によると、コードをクラウドサービスへ送るのではなく、カーネルコンポーネントをローカルでテストしていた。

この導入形態は、機密コードや未公開コードを扱うプロジェクトにとって重要だ。ローカルモデルはデータ露出を減らせるが、学習データ、ライセンス、出力品質に関する疑問を解決するものではない。

Kroah-Hartmanのワークフローは、役割分担も示している。このツールは候補となる問題を見つけ、彼が結果をレビューし、修正を準備し、提出への責任を負ったとされる。

彼のパッチ開示には「Assisted-by」タグが使われた。このタグは、不適切な変更の結果をソフトウェアが引き受けられるかのように装うことなく、自動化の関与を記録する。

この手法は、チャットボットにパッチを生成させ、その回答を手を加えずに転送することとは大きく異なる。AIを非常に生産性の高いテスト手段として扱っている。

AIコーディングに関するGoogle Newsの見出しでは、この区別がしばしば消えてしまう。「AI生成コード」は、リスクプロファイルが大きく異なる複数の活動を指し得る。

モデルはパッチを要約し、疑わしいコードを指摘し、再現手順を生成し、修正案を提示し、あるいは新しいコンポーネントの大部分を書くことがある。これらの活動を一つのラベルにまとめると、実際のエンジニアリング上の統制が見えなくなる。

Linuxにとって、初期段階で最も有力なユースケースは、範囲を限定した支援に見える。メンテナーが対象を選び、ツールを実行し、証拠を調べ、修正を書き起こすか検証し、通常のレビューに通す。

より弱いユースケースは、通りすがりの発見だ。誰かが汎用モデルを公開コードに向け、報告された内容をそのまま転送し、問題が実在するかをメンテナーに判断させる。

どちらのワークフローもメッセージ数を増やす。機械による観測を信頼できるソフトウェアへ変えるために必要な文脈と責任を一貫して加えるのは、一方だけだ。

メンテナーの対応能力が今や本当のボトルネックだ

主な制約は、潜在的な欠陥を見つけることから、どの発見が限られたメンテナーの注意を受けるに値するかを決めることへ移っている。

Linuxは長年、一人で全ての変更を評価できないため、階層的なレビュープロセスを採用してきた。コントリビューターはサブシステムメンテナーと協働し、メンテナーがTorvaldsに届く前のパッチを絞り込み、統合する。

AIは、この階層が経験豊富なレビュー担当者を確保できる速度を上回って発見を生成できる。その結果生じる不一致は、初期出力を作るモデルではなく、メンテナーに圧力をかける。

この圧力は、リリースサイクル終盤に最も明確になる。カーネル開発は通常、計画された作業のためのマージウィンドウで始まり、その後、安定化への重点を次第に強めたリリース候補が続く。

正当ではあっても緊急ではない修正は、後半の候補版では依然として不適切であり得る。長年のエッジケースに対処するため安定コードを変更すれば、リリース直前にリグレッションを招く可能性がある。

TorvaldsはLinux 7.1の開発中にこの点を指摘した。異例に大規模な第5候補版の後、低優先度の修正を含むプルリクエストについて、より選別的になると述べた。

複数のパッチシリーズはAIレビューによって引き起こされていた。彼の懸念は、特定された欠陥が架空のものだということではなく、そのタイミングが不必要な混乱を生んでいたことだった。

late-cycle warningは、些細な修正であってもリスクがゼロではないと強調している。Torvaldsはメンテナーに対し、リグレッションと、次のマージウィンドウまで待てる古い問題を区別するよう求めた。

これは、従来とは異なる発見数の増加に、従来のリリースエンジニアリングを適用したものだ。正しい対応は必ずしも修正を減らすことではない。より良いスケジューリングである。

同じ原則は、AIレビューを導入する企業のエンジニアリングチームにも重要なはずだ。ツールに追加の問題を見つける能力があるからといって、全ての結果を現在のリリースに入れるべきだとは限らない。

チームには、深刻度のしきい値、責任分担のルール、重複排除、重要度の低い変更に対する締め切りが必要だ。こうした統制がなければ、発見率の上昇はデリバリーの予測可能性を弱めかねない。

AIベンダーは、タスク完了の指標を通じてコーディングツールを評価することが多い。メンテナーが直面する成果は異なる。レビュー時間、誤検知、重複作業、リグレッション、未解決のフォローアップだ。

これらの運用指標が、AIレビュー担当が正味の価値をもたらすかを決める。10件の実在する欠陥を特定しても、専門家の注意を数週間消費するツールは、より狭い範囲のシステムより劣る可能性がある。

Linuxの経験は、AIコーディングによる生産性が個々の開発者に帰属するという前提にも疑問を投げかける。共有の統合キューが過負荷になれば、個人のローカルでの速度はあまり意味を持たない。

一人のコントリビューターはより多くのパッチを生成できるが、プロジェクトには依然として、それらを精査できる信頼された人物が必要だ。生産性向上が現実のものになるのは、レビューシステム全体が作業を処理した後に限られる。

これは難しいインセンティブの問題を生む。自動化された報告を提出する人は発見に対する目に見える評価を受ける一方、メンテナーは検証コストの多くを負担する。

プロジェクトは、より強い提出要件を設けることで対応するかもしれない。有用な報告には、再現手順、影響を受けるバージョン、技術的分析、提案パッチ、報告者が重複を確認した証拠が必要になる可能性がある。

AIは、これらの作業も支援できる。重要な要件は、未処理の機械出力をボランティアに渡すのではなく、提出者が関わり続けることだ。

Google Newsを通じてこの話題を追う読者にとって、「修正が増える」ことは無条件の改善に聞こえる。成熟したソフトウェアプロジェクトの内部では、修正が増えることは、リスク、タイミング、責任に関する判断も増えることを意味する。

Google Newsの見出しは二面性のあるAI方針を隠している

Torvaldsは、AIを有用なエンジニアリングツールとして受け入れる一方、その誤りや重複の負担をメンテナーに押し付けるワークフローを退けている。

個々の発言だけを見ると、彼の立場は一貫性がないように見えるかもしれない。彼はAI生成のノイズを批判し、AIを使う権利を擁護し、自動レビューが実際の欠陥を見つけたことも評価している。

しかし、これらの発言を合わせると、一貫した方針が見えてくる。問題を最初に見つけたのが人間か機械かよりも技術的な価値が重要だが、プロジェクトに取り込まれるものに対する責任は引き続き人間の貢献者が負うべきだ、という考えだ。

5月、TorvaldsはAI生成のセキュリティ報告が殺到し、カーネルの非公開セキュリティメーリングリストがほとんど管理不能になったと述べた。複数の人が似たツールを使い、同じ問題を見つけていたという。

重複報告は受信トレイを散らかすだけではない。誰かがそれらを比較し、過去の議論を探し、正しいサブシステムを特定し、修正がすでに存在するかを判断しなければならない。

Torvaldsは、AIが見つけた多くのバグを自動的に非公開チャネルへ入れるべきではないと主張した。複数の公開ツールが同じ問題を発見できるなら、すべての結果を秘密として扱うことは、報告者が既存の作業を確認する妨げになり得る。

彼の批判は、付加価値の欠如に直接向けられていた。セキュリティ報告の過負荷では、貢献者に対し、ドキュメントを理解し、パッチを作成し、自動化された結果を踏み台にして作業するよう求めている様子が示された。

2か月後、彼は一律の反対論に対しても同じく明確な線を引いた。TorvaldsはLinuxは反AIプロジェクトではないと述べ、反対する人々にはオープンソースなのだからコードをフォークできると伝えた。

彼はAIをツールとして説明した。ただし、それはメンテナーに苦労をもたらし、気まずいバグを露呈させる可能性のあるツールでもある。彼の見方では、解決策はそのツールをメンテナーの助けになるようにすることだ。

これは自律的なカーネル開発を支持するものではない。プロジェクトの技術基準の下で自動化を利用することを支持する立場である。

したがって主な対立は、有用な自動化と、誰も責任を持たない自動化の間にある。発見の出所は、証拠の質とその背後にある説明責任ほど重要ではない。

この枠組みは、カーネルが他のツールを扱う方法に似ている。コンパイラ、静的解析器、ファザー、テストスイート、スクリプトによる変換はいずれも変更を生成したり、その内容に影響を与えたりできる。

しかし、どれもメンテナーになるわけではない。名前のある人物が依然としてパッチを提出し、説明し、批判に応答し、コードを修正し、その後の問題にも対処する。

言語モデルは、その出力がコードの実際の挙動に裏付けられていなくても説得力を持って見えることがあるため、この取り決めを複雑にする。また、レビュー担当者を圧倒する規模で説明文を生成することもできる。

開示は役立つが、それだけで品質を保証することはできない。「Assisted-by」タグはツールが関与したことをレビュー担当者に伝えるが、貢献者が結果を理解していたことの証明にはならない。

禁止措置には逆の問題がある。プロジェクトはAI支援を禁止できるが、開示されない利用を検出することは依然として難しい。厳格な禁止は、低品質な投稿を減らさないまま隠蔽を促す可能性がある。

Torvaldsは以前、カーネル文書はAIに関する政治的声明になるのではなく、責任ある貢献者に焦点を当てるべきだと主張していた。ドキュメントをめぐる論争は、既存の基準を徹底しつつAIを別のツールとして扱うという彼の考えを示した。

この立場は、解決不能な著者性の検証を避ける。代わりにレビュー担当者は、すでによく理解している問いを投げかけられる。パッチは正しいか、必要か、テスト済みか、明確に説明されているか、適切なタイミングで提出されたか。

AIはこれらの問いに対するもっともらしい答えを生み出すコストを下げるため、この方針は依然として厳しい。メンテナーが必要とするのは洗練された文章ではなく、証拠だ。

再現手順、テストケース、ベンチマーク、トレースは、自信に満ちた説明よりも重みを持つ。ツール支援を受けた貢献者は、自らの主張をどのように検証したかを示さなければならない。

これは、短いGoogle Newsの要約では見落とされやすいニュアンスだ。TorvaldsはLinux開発をモデルに委ねようとしているわけでも、あらゆるAI関与から守ろうとしているわけでもない。

彼は自動化によってプロジェクトの視野を広げることを認めつつ、人間が引き続き判断の責任を負うよう求めている。

修正が増えても、カーネルが自動的に安全になるわけではない

AI支援による発見はセキュリティを改善し得るが、パッチ数だけでは、その結果として得られるカーネルがより安全または安定したことを示せない。

発見されたバグは、修正プロセスの出発点にすぎない。エンジニアは挙動を確認し、影響を評価し、修正を設計し、影響を受ける構成をテストし、その変更が別の問題を生まないかを検討しなければならない。

Linuxでは、1つのパッチが多くのアーキテクチャ、コンパイラ、デバイス、ワークロードに影響し得るため、この作業は特に難しい。あるマシンでテストされた修正が、別の環境では異なる挙動を示すこともある。

小さな変更でも、機微なコードパスに到達し得る。エラー処理、メモリ所有権、並行性、ハードウェア状態遷移は、まれな条件下でしか現れない障害を引き起こすことが多い。

AIツールは、すべての実行時制約を理解せずに、欠陥を示唆するパターンを特定できる。したがって、その発見はテストによって裏付けられるまで仮説として扱うべきだ。

偽陽性は時間を消費するが、より大きな危険は誤った確信にある。もっともらしいパッチが1つの症状を消しても、根本原因を残したままになることがある。

自動化は相関した誤りも生み出し得る。多くの研究者が同じモデルやスキャン手法を使う場合、同一の発見を報告し、同一の問題クラスを見落とす可能性がある。

その集中はレビューの多様性を低下させる。同じ前提を共有するなら、10件の自動報告は10の独立した視点を提供しない。

セキュリティ開示には別の複雑さもある。修正の準備が整う前に再現可能な脆弱性を公に報告すると、防御側だけでなく攻撃者も助けることになり得る。

Torvaldsは、すべてのAIによる発見を自動的に非公開セキュリティリストへ載せると重複が生じると主張した。しかし、それらを公開チャネルへ移すには、悪用可能性と影響を受ける利用者について慎重な判断が必要となる。

普遍的な振り分けルールは機能しない。貢献者には、無害な正確性の問題と、協調的な対応を必要とするセキュリティ上の欠陥を見分ける十分な専門知識が必要だ。

AIはいずれそのトリアージを支援するかもしれないが、分類の段階を自動化すると、メンテナーが検証すべき層がもう一つ増える。ボトルネックは消えるのではなく移動する。

より大きなリリース候補版と長期的な信頼性を結び付ける公開証拠も限られている。Torvaldsは多くの修正をAIレビューによるものだとしたが、その観察は重大度や下流への利益を定量化するものではない。

コミット数は作業負荷の指標であって、セキュリティスコアではない。高い影響を持つ1件の修正が、多数の見た目だけの修正より重要な場合もある。

AIが不可欠になったという報告にも、同じ慎重さが必要だ。ツールは有用な発見を生み出しているが、その総コストにはハードウェア、モデル運用、人間によるレビュー、重複投稿、回帰リスクが含まれる。

Linux 7.2は、統制された実験ではないものの、現実世界でのテストを提供する。開発者は、より大きな候補版シリーズが重大な回帰、緊急修正、あるいは通常と異なる安定版ブランチの作業負荷につながるかを観察できる。

また、どのAI支援変更がレビューを通過するかも調べるべきだ。却下率と改訂履歴は、生み出された発見の生の件数より多くを明らかにするだろう。

責任ある評価では、いくつかの問いを分けなければならない。AIは実在する問題を見つけたのか。問題を正しく説明したのか。人間が最終パッチを作成したのか。テストはそのパッチが安全に問題を解決したことを示したのか。

これらの段階を「AIがLinuxを修正した」という言葉にまとめてしまうと、実際の作業を誤って表現することになる。また、機械の出力を受け入れられるコードへ変えるメンテナーの判断も消し去ってしまう。

現在の証拠が支持する結論は、より限定的だ。AIはカーネルレビューの量を変えるほどには有能になったが、専門家の監督を不要にするほど信頼できるものではない。

開発者とエンジニアリングリーダーが次に注目すべきこと

次の段階は、AIの理念をめぐる新たな議論ではなく、リリースの安定性、投稿の品質、メンテナーのワークフローの変化によって測られる。

最初の兆候は、リリース後のLinux 7.2の挙動だ。安定版ブランチでの修正、回帰、緊急リバートは、異例に大規模な候補版シリーズが制御されたままだったかを示す。

通常どおりのリリース後期間であれば、AIの影響を受けたより大規模な更新セットもLinux開発に収まり得るというTorvaldsの主張を補強するだろう。回帰が急増すれば、後期サイクルにおけるより厳格な制限を支持することになる。

2つ目の兆候は、AI支援による投稿の品質だ。開示タグ、完全なテストケース、動作する再現手順、貢献者による継続的な対応は、利用者が説明責任のあるワークフローを採用していることを示すだろう。

分析を伴わない重複報告は、反対の方向を示す。責任ある参加よりも、発見のほうが依然として自動化しやすいことを示すからだ。

3つ目の兆候は、メンテナー向けツールだ。Linuxの貢献者は、発見を重複排除し、報告を正しいサブシステムへ振り分け、推定される重大度を順位付けし、すでに修正済みの欠陥を認識するシステムを構築または採用する可能性がある。

こうしたシステムには保守的な設計が必要だ。重大な問題を誤って抑制するフィルターは、受信トレイがあふれることより大きな損害を与え得る。

企業もこうした動向を追うべきだ。社内リポジトリも同じキャパシティ問題に直面する。トリアージ規則を変更せずにAIレビューを加えると、重要なデリバリー期間にチームへ作業を殺到させる可能性がある。

有用な導入は、狭い範囲から始める。チームは1つのサブシステムを選び、受け入れる証拠を定義し、偽陽性を追跡し、機械支援を受けたすべての投稿に人間の担当者を割り当てられる。

発見から検証済みの修正に至るまでの経路全体を測定すべきだ。重要なのはツールが何件のコメントを生み出すかではなく、回帰を増やさずにどれだけ信頼できる修正が本番環境へ到達するかである。

組織にはタイミングに関するルールも必要だ。重要度の低いAIによる発見は、リリース候補版や緊急パッチのサイクルを中断するのではなく、通常の開発バックログへ入れるべきだ。

セキュリティチームは、脆弱性の疑いに対する別個の手順を確立すべきである。モデルの確信度が、報告を非公開のままにするかどうかを決めてはならない。

開発者には、明確な所有責任への期待が必要だ。AI支援を受けた作業を提出する人は、コードを理解し、問題を再現し、提案する変更を擁護し、統合後も対応可能でなければならない。

ドキュメントはその行動を支援できるが、判断に取って代わることはできない。Linuxの経験は、単純な許可や禁止よりも、ワークフロー設計のほうが重要であることを示している。

自動レビューが増えるにつれ、ナレッジマネジメントの重要性も高まる。チームには、過去の発見、却下された報告、サブシステムの判断、既知の重複パターンを検索できる記録が必要だ。

エンジニアリングのナレッジベースは、コードレビュー、技術メモ、リリース議論をまたいでその文脈を保持する助けになる。目的は、新たなツール実行のたびに同じ調査を最初からやり直さないことだ。

Google Newsは、Torvaldsの印象的な発言を通じてこの議論を取り上げ続けるだろう。より重要な物語は、メーリングリスト、パッチ履歴、安定版リリースの記録の中で展開していく。

AI支援を受けた貢献者が、孤立した観察結果ではなく完全なエンジニアリング作業を提供し始めるかを見守るべきだ。メンテナーが振り分けと重複のコストを減らすツールを得られるかを見守るべきだ。最も重要なのは、Linuxが安定性を損なわずにより多くの変更を取り込めるかを見守ることである。

カーネルコミュニティはすでに、「開発者がAIを使うかどうか」という問いを乗り越えている。いま、そのより難しい問いはあらゆるソフトウェアチームに当てはまる。自動化された発見の速度は、人間によるレビューを上回っても、有用な知見を制御不能な変更へと変えずに済むのだろうか。

 
 

無料で始めましょう

ローカルファーストのパーソナル知識管理付きAIアシスタント

より良いAI体験のために、

remio は現在、 Windows 10+ (x64)とM-Chip Mac のみをサポートしています。

仕事のAIパートナー
remioでもっと仕事が進む

計画・作成・仕上げまで
すべてをひとつに

bottom of page