SDLがAI生成コードを全面拒否、AGENTS.mdで「門前払い」を宣言

ゲーム開発の屋台骨を支えるクロスプラットフォームライブラリが、AIコード貢献に対して明確なNOを突きつけた。

SDLがAI生成コードを全面拒否、AGENTS.mdで「門前払い」を宣言

ゲーム開発の屋台骨を支えるクロスプラットフォームライブラリが、AIコード貢献に対して明確なNOを突きつけた。


ゲーム開発の基盤が下した決断

SDL(Simple DirectMedia Layer)が、AILLMによるコード貢献を禁止するポリシーを正式に導入した。ValveSteamカタログをはじめ、数え切れないゲームやエミュレータの土台となっているこのライブラリが、プルリクエスト(pull request)のテンプレートとAGENTS.mdファイルの両方を更新し、AI生成コードの受け入れを拒否する姿勢を明文化している。

該当するPR #15353は、SDLの主要コントリビューターであるライアン・C・ゴードン(Ryan C. Gordon、GitHub上のicculus)が提出し、すでにマージ済みだ。タイトルは端的に「policy: Added to the PR template, and an AGENTS.md, refusing AI contributions.」――AI貢献の拒否をPRテンプレートとAGENTS.mdに追加した、と書かれている。

AIはこのプロジェクトへのコード貢献に使ってはならない。AIが生成するコードは出自不明のソースに基づいており、zlibライセンスと互換性がない可能性がある

AGENTS.mdにはこう記されている。ここでいう「AI」とは、ChatGPTClaudeCopilotGrokといった大規模言語モデルLLM)を指す。

「使うな」ではなく「貢献するな」

興味深いのは、このポリシーが「AIを一切使うな」ではなく、コード貢献の手段としてのAI利用を禁じている点だ。AGENTS.mdの文面は、AIをイシューの特定に使うことは認めている。ただし、解決策は人間が書かなければならない。ポリシーが禁じているのは 「AIに書かせたコード」の投稿であって、AIを調査ツールとして使う行為ではない。

ゴードンはPRのコメントで、この方針をこう説明した。PRを出す人に対して「AI生成コードを含まないことを確認する」チェックボックスを追加し、さらにAGENTS.mdでAIエージェントに対して「このプロジェクトでは作業しないように」と指示する、という二段構えだ。

AIは頻繁にバグを幻覚し、実際には問題でないものを問題だと報告し、存在しない不具合を捏造する。AIが問題を特定した場合でも、それが本当の問題であることを自分自身で確認してからバグレポートやPRを提出してほしい

この一文が、ポリシーの核心を物語っている。AIの問題は精度だけではない。理解なき貢献がメンテナの時間を食い潰すことへの警鐘だ。

PR議論が映すコミュニティの温度感

PR #15353のコメント欄には44件のやり取りが記録されており、コミュニティ内で活発な議論が行われたことが見て取れる。

最初の提案は「should not」(すべきでない)という表現だったが、コントリビューターのretcinderから「should notだと禁止されていても許容されているように聞こえる。can notcannotに変えるべきだ」という指摘が入った。SDL作者のサム・ランティンガ(Sam Lantinga、slouken)もこの方向に賛同し、最終的に「may not」(してはならない)という、より穏当ながら明確な禁止表現に落ち着いた。

一方で、別のコントリビューターmahkohは別の論点を提起した。JetBrainsのCLionはコード補完に機械学習を使っており、その技術がLLMに該当するかどうかが不明だという。もしCLionの補完もAIに含まれるなら、自分はチェックボックスにチェックを入れられない、と率直に述べた。

パターンを認識して開発者の意図を推測する知能が必要なら、それはAIに該当する

この問題提起に対してゴードンは、従来型のオートコンプリート(構文パターンから次の行を予測する程度のもの)とLLMによるコード生成は「大きな隔たりがある」と回答。sloukenもAGENTS.mdが「AI-generated code」と明記している以上、追加の説明は不要と判断し、議論は収束した。

オープンソースを蝕む「理解なき貢献」

SDLの動きは孤立した事例ではない。オープンソースの世界では、AI生成コードやAI駆動のバグレポートがメンテナを圧迫する事態が加速している。

cURLプロジェクトは2026年1月末にバグバウンティプログラムを終了した。作者のダニエル・ステンバーグ(Daniel Stenberg)は、2026年に入ってわずか数週間で20件の報告を受け、一部は実際のバグだったもののセキュリティ脆弱性に該当するものは一つもなかったと明かしている。LLVMは「ヒューマン・イン・ザ・ループ」ポリシーを採用し、AI支援によるコード貢献は許可するがAIエージェントの自律的な投稿は禁止した。Gentoo Linux、NetBSD、Redox OS、geditなども、それぞれの形でAIコード貢献に制限をかけている。

問題の本質は「AIが間違えること」ではない。AIが生成した成果物の品質を判断できない人間が、メンテナのレビュー時間を消費することだ

EFFですら自組織のオープンソースプロジェクトに対してLLM支援コードのポリシーを策定し、貢献者に対してAI使用の開示と理解の確認を求めている。

AGENTS.mdの皮肉な転用

もう一つ見逃せないのが、SDLがAGENTS.mdという仕組み自体を「逆用」している点だ。AGENTS.mdはもともとOpenAIが提唱し、現在はLinux Foundation傘下のAgentic AI Foundation(AAIF)が管理する標準で、AIコーディングエージェントにプロジェクトの文脈を伝えるためのファイルだ。6万以上のオープンソースプロジェクトに採用されている。

SDLはこのファイルに「うちのプロジェクトではコード生成をするな」と書いた。AIエージェントへの案内板を、そのまま立入禁止の看板に変えたわけだ。ゴードンはPRの冒頭でこの意図を明示している。エージェントがAGENTS.mdを読めば、このプロジェクトでは働くなと分かる、と。

ライセンスという実務的な理由

SDLの判断には、技術的な品質問題に加えて実務的な法的懸念がある。SDLはzlibライセンスで配布されている。AI生成コードが学習データに含まれるコードの断片を再現した場合、ライセンスの衝突が生じる可能性がある。AGENTS.mdの文面はこの点を明確に指摘している。

AI生成コードは「出自不明のソースに基づいており」、zlibライセンスと互換性がないかもしれず、他プロジェクトの「矛盾するライセンス条件を持ち込む可能性」があると。SDLほどの規模のプロジェクト――数え切れないゲームの基盤であり、Valveを含む商用製品に組み込まれている――にとって、ライセンス汚染のリスクは軽視できない。

門を閉ざす側の覚悟

SDLのポリシーは、PRテンプレートのチェックボックスとAGENTS.mdで構成されている。前者は人間の貢献者に自己申告を求め、後者はAIエージェントに機械可読な形で拒否を伝える。完璧な防壁ではないが、「うちはAIコードを受け取らない」という意思表示としては十分に明確だ。

人間向けとAI向けの二重のゲートを設けた点に、このポリシーの実務的な知恵がある。

クロスプラットフォームのゲーム基盤が、コード貢献のあり方に線を引いた。その線を踏み越えてくるのはAIか、それともAIを雑に使う人間か。


参照元

関連記事