AIがオープンソースに与える影響について、よくある懸念があります。コーディングエージェントが、新規貢献者が参入するための初心者向けイシューを奪い、生成されたコードは保守しにくくなり、最終的に新しいメンテナーのパイプラインが枯渇するというものです。これはあり得るシナリオです。しかし、新しい研究によると、実際に起こっていることではないようです。 

​7月2日にarxiv.orgに提出された北京大学の研究では、AIコーディングエージェント(CursorやClaude Codeなどのツール)を導入した1,888件のGitHubリポジトリを追跡し、AIがワークフローに加わった後のプロジェクトの変化を調査しました。研究者らは、プロジェクトが初めてエージェントの設定ファイル(.cursorrulesやCLAUDE.mdなど)をコミットした時点を導入とみなし、それらのプロジェクトを、AIを導入しなかった一致させたセットと比較しました。

研究者らは差分の差分法を用いました。これは、ツールが実際に引き起こしたことと、ツールが登場する前からプロジェクトで起こっていたことを切り離すための、基本的にゴールドスタンダードです。そして彼らが見つけたのは……ほとんど何もありませんでした。新規参入者の参加率は横ばいか、わずかに上昇していました。最も保守的な統計仕様では、最悪でも1.5%の低下が見られましたが、統計的有意性には達していませんでした。

複雑さは上昇、貢献者は安定

​​関数の独立した経路の数を数えるサイクロマティック複雑度は、導入後に全言語で3%から4%上昇しました。重くネストされたロジックや複雑な制御フローをペナルティとする、より厄介な指標である認知的複雑度は、Pythonプロジェクトで約11%上昇しました。これは悪いように聞こえますが、昨年発表されたカーネギーメロン大学の研究では、Cursorの導入により同じ指標が41%増加したことがわかっています。北京大学のチームは、より大規模で確立されたプロジェクト群とより厳密な統計的統制で作業した結果、以前の推定値の約4分の1に収まりました。 

しかし、この研究が本当に興味深いのは、複雑さと新規参入者数を、同じPDFにたまたま存在する2つの別々の発見として報告するのではなく、実際に複雑さが増加した正確な128件のPythonプロジェクトに分析を絞った点です。

同じリポジトリでは、新規参入者の参加は減少せず、定着率は安定し、アクティブな貢献者ベースは増加しました。どちらの効果も本物ですが、それらは関連していないようです。AI生成コードは少し複雑になっていますが、この研究で見つかったレベルでは、その余分な複雑さが新規参入者を思いとどまらせているようには見えません。 

AI生成コードは少し複雑になっていますが、この研究で見つかったレベルでは、その余分な複雑さが新規参入者を思いとどまらせているようには見えません。

研究が除外したもの

いくつかの重要な注意点があります。最大の問題は、この研究が確立されたオープンソースプロジェクトに焦点を当てていたことです。AIコーディングツールを導入したリポジトリのほぼ3分の2は、作成された直後に導入しており、研究者にとってAI以前の意味のあるベースラインを比較できませんでした。それらのリポジトリは主な分析から除外され、代わりにAI導入前に少なくとも6か月の履歴を持つ603件のプロジェクトに焦点が当てられました。 

研究者らは全データセットも調査し、その中で新規参入者の参加が減少しているように見えました。しかし、より詳しく見ると、それらのプロジェクトはAIを導入する前からすでに貢献者を失いつつあったことがわかり、減少をツールのせいにすることは不可能でした。

導入の盲点を測定する

もう一つの限界もあります。この研究では、Cursorなどのツールに関連する設定ファイルを探すことでAIの導入を測定しており、開発者が実際にどれだけ使用したかを追跡していません。つまり、プロジェクトがAIを導入した後に何が起こったかはわかりますが、AIに大きく依存していたチームと、実験的にしか使わなかったチームで異なる結果が出たかどうかはわかりません。

GitHubによると、プラットフォーム全体でマージされたプルリクエストは、2023年初頭の月間約2,500万件から、現在では月間約9,000万件に増加しています。

GitHubも対応を始めています。同社は最近、外部貢献者が同時にオープンにできるプルリクエストの数に制限を設けるとともに、メンテナーが増加するレビューのキューを整理するための新しいツールを導入しました。

排除の懸念は、当面は払拭されました。

この研究が示すところ

排除の懸念は、当面は払拭されました。確立されたオープンソースプロジェクトでは、現在の導入レベルにおいて、AIエージェントは新規参入者を締め出していません。しかし、プルリクエストの量はほぼ4倍に増加しています。それらのPRで届くコードは少し複雑になっています。それらを提出する人々は、自分が何を提案しているかを完全に理解していない可能性があります。そしてそのすべてが、メンテナーの数が増加ペースにまったく追いついていない人々の肩にのしかかっています。

研究者らは、今後の研究ではプロジェクトがAIコーディングツールにどれだけ依存しているかを調査し、実質的にAIとともに生まれたリポジトリを研究するためのより良い方法を見つけるべきだと述べています。それらは重要な次のステップです。しかし、最も差し迫った問題は、AIが誰が貢献するかを変えるかどうかではなく、AIがオープンソースプロジェクトを長期的に維持するために必要な努力を変えるかどうかです。

AIが誰が貢献するかを変えるかどうかではなく、AIがオープンソースプロジェクトを長期的に維持するために必要な努力を変えるかどうかです。

YOUTUBE.COM/THENEWSTACK

技術の動きは速く、見逃せません。当社のYouTube チャンネルを購読して、すべてのポッドキャスト、インタビュー、デモなどをストリーミングしましょう。

Group Created with Sketch.