Rustプロジェクトは2026年8月5日、コンパイラや標準ライブラリなどを管理する5チームがrust-lang/モノレポジトリへの貢献に関する大規模言語モデル
- rust-lang/
rust is adopting an LLM policy - Inside Rust Blog - Add an LLM policy for
rust-lang/by jyn514 - Pull Request #1040 - rust-lang/rust rust-forge
新ポリシーはLLMを一律に禁じず、利用方法をrust-langリポジトリ、サブモジュール、サブツリー、crates.
非公開の利用は開示不要、公開するLLM生成物は用途別に制限
公開されたポリシーは、LLMを質問への回答、分析、要約、推敲、確認、提案、レビューに使うことを認める一方、LLMに作成させたコードや文章を他者に示すことは厳しく制限する。速く書くためではなく、より良く書くための道具としてLLMを使うという考え方を示している。
LLMの出力を利用者本人しか見ない場合は、原則として開示せずに利用できる。コードベースについて質問する、IssueやPRのコメントを要約する、自分のコードや文章を非公開でレビューさせる、LLMの提案から学んだうえで自分の表現で一から書くといった使い方が該当する。
個人アカウントからLLM生成のコメントを投稿することは原則として禁止され、Issue本文やPRの説明文も対象になる。LLMの出力であることを明示して引用することはできるが、引用部分を除いても投稿内容が成立する必要がある。rust-lang/に追加するドキュメントや、コンパイラの診断メッセージをLLMに作成させることも認めない。
貢献者がLLMを使うことを前提とするルールや手順も禁止する。例えば、テストの場所をLLM向けの指示ファイルAGENTS.にだけ記載し、人間向けの文書には載せないといった運用が該当する。LLMによるレビューも、人によるレビューや投稿者自身による内容確認の代わりにはならない。
条件付きで認める用途には、機械翻訳、ほぼ書き方が一意に決まる軽微な変更、LLMを使った不具合の発見、レビューボット、LLM生成コードの投稿があり、いずれもLLM利用の開示が必要になる。ただし、利用を開示しても、禁止されている使い方が認められるわけではない。LLMが見つけた不具合については、投稿者自身による検証が必要になる。レビューボットは、メンテナーの事前承認を得たうえで、LLMであることを明示した別のGitHubアカウントから投稿する。なお、母語での投稿も歓迎しており、貢献に英訳は必須ではない。
LLM生成コードのPRは実験枠で受け入れ
将来のポリシー改定に役立てるため、LLM生成コードのPRを対象とする実験枠を設けた。ポリシーは、担当レビュアーとの事前調整に加え、変更が高品質であり、十分なテストとレビューを経ていることを受け入れの条件としている。原則として、安全なRustコードがメモリ破壊などの未定義動作を引き起こさないサウンドネスを損なう可能性が極めて低い変更に限る。利用の開示とai-assistedラベルも必要になる。
新規貢献者については、LLM生成コードを含むPRを開く前に担当レビュアーへ相談し、レビューを引き受ける意思を確認するよう求めている。PRの提出者とレビュアーの双方がコードを十分に理解していることに加え、人間が作成したPRより高い水準のテストも必要になる。対象コードに既存のテストスイートがなければ新設し、それができない場合はPRを閉じるとしている。
LLM生成コードが事実上の前提になることを防ぐ
レビュー負荷と不透明な運用を背景に策定
ブログでは、策定の背景として3つの問題を挙げた。完成度の高いPRでも、投稿者が十分な労力をかけ、内容を理解しているとは限らなくなった。LLMによってrust-lang/へ提出するコードを書きやすくなり、レビュー負荷も増した。さらに、レビューコメントをLLMへ貼り付け、その回答をGitHubに投稿する機械的なやりとりが時間を浪費し、信頼を損なっているとした。
記事公開時点でrust-lang/には1,281件のオープンPRがあり、以前からレビューの担い手が不足していた。PRのレビューでは、提出されたコードの不具合を見つけるだけでなく、変更の方向性や採用の是非も判断するため、コードを速く作れても負担は減らないという。
新ポリシーの策定前から、LLM関連の問題に対処する専用チャンネルやモデレーション方針はあったが、新規貢献者には何が認められるか分からず、運用も一貫していなかった。このため、利用ルールを公開して投稿者に判断基準を示すとともに、レビュアーが違反するPRを閉じる根拠として使えるようにした。
ポリシーを追加したPRではさらに、投稿者が十分な労力をかけず、主にLLMで作成したPRが大量に寄せられ、個別対応が難しくなっているとした。こうした状況への対応として、妥当な用途の一部まで禁じる点を欠点と認めつつ、理解しやすく、モデレーションもしやすい保守的なルールを採った。策定にあたっては、LLMの是非や長期的影響を検討対象から外し、適用範囲をrust-lang/に絞った。Rustプロジェクト全体を対象とする案は1か月以上議論したものの、合意に至らなかったという。
文体だけでLLM利用を判断せず、運用結果を今後の改定へ
貢献者は自身の投稿内容に責任を負い、問題が生じてもLLMのせいにはできない。一方、レビュアーにはLLM利用の有無を調べる責任も、LLM生成コードを含むPRのレビューを引き受ける義務もない。文体だけを根拠に公の場でLLM利用を決めつけず、疑いがある場合はモデレーションチームに非公開で報告するよう求めている。LLM利用を理由とする嫌がらせも禁止している。
ポリシーは、LLMを使った有用な取り組みが生まれているか、貢献者が学び、継続的に参加しているかを踏まえ、必要に応じて見直す。ブログを執筆したJynn Nelson氏は個人の見解として、Rustプロジェクト全体を対象とするポリシーも有益だと述べている。具体的には、今回のポリシーが適用されないチャットやフォーラム、公開の場でのやりとり、明示的な規則がないリポジトリなどを挙げている。