コントリビューター・ポーカーとZigのAI禁止
本記事は、オープンソースプロジェクトにおけるAI生成コードの貢献をめぐる新たな問題、「コントリビューター・ポーカー」という概念を紹介する。Zig言語のプロジェクトがAIによるコード提出を禁止した背景と、その判断に至った倫理的・実務的課題について考察する。
背景メモ
- 本記事の背景にある「Contributor Poker(貢献者ポーカー)」とは、AIアシスタント(例:GitHub Copilot、Claude、ChatGPT)が生成したコードを、開発者が自分で書いたかのように装ってオープンソースプロジェクトに送り込む行為を指す。作者は「ポーカーのブラフ(はったり)」に例えている。
- Zigは、C言語の代替を目指して開発されているシステムプログラミング言語。高速で、実行時エラーが起きにくい設計が特徴。開発者のAndrew Kelleyが中心となって進めている。
- AIが生成したコードは見た目はもっともらしいが、コンパイルが通らなかったり、バグを含んだり、プロジェクトの設計思想にそぐわない「偽の貢献」になりやすい。これをレビューする側は、本当にその人が書いたコードなのか見抜くのに無駄な工数を取られる。
- これに対しZigプロジェクトは、コントリビューションにAI生成コードを禁止するポリシーを明示。人間の理解と責任のある貢献を重視する姿勢を打ち出した。この決定は、AI時代のオープンソースのあり方をめぐる議論を呼んでいる。