AI/LLMによるコードレビューの自動化はすでに多くのエンジニアリングの現場で拡がっているが、どうやらLinuxカーネル開発においてもその動きが始まりつつあるようだ。1月30日、Btrfs開発者として知られるChris Mason(Meta所属)は「[RFC] AIレビュープロンプトのアップデート」と題したポストを開発者向けメーリングリスト「LKML」に投稿、数週間に渡って開発してきた「Linuxカーネル(およびsystemd)開発のためのAI支援コードレビュープロンプト」をアップデートしたことを通知し、開発者に対してフィードバックを呼びかけている。
Masonによれば、今回のアップデートではコードの差分(diff)を小さなチャンク(chunk)に分割し、各チャンクを個別にAI(Claude Codeなど)でレビューできるようにしているという。これにより差分全体のコンテキストを毎回やり取りする必要がなくなるので、トークンの使用量が少なくなり、より多くのバグを検出することが可能になるとしている。なお、差分を分割し、変更された関数や型、コールグラフを事前に抽出するための一括処理にはPythonスクリプトを使用しており、これによってトークン使用量をさらに削減することが可能になる。AIに同じ情報を独自に発見させる必要もないので、プロンプトは本来のレビューに集中することができるというわけだ。
新しいアップデートには、ほかにも以下のようなタスクが含まれている。
- C/C++コードベース用のセマンティックコード検索ツール「Semcode」との組み合わせによる過去のメーリングリストのスレッド確認の最適化
- タグによる修正内容の確認
- コミットメッセージにファジングツールのsyzbot/syzkallerが言及されている場合は必ず追加検証を実行(記述されたバグが実際に存在するかどうかを厳密に確認)
- 最終レポートの作成
Linuxカーネル開発にAI/LLMをどう使っていくかは今後も議論が続きそうだが、コードレビューの自動化がカーネル開発で進めば、以前から課題として指摘されているメンテナーの作業負荷を大幅に軽減できることにつながりそうだ。オープンソースプロジェクトにおけるAI活用のユースケースとしても注目しておきたい。