編集 | 鄭麗媛
提供 | CSDN(ID:CSDNnews)
現如今、大規模言語モデルはソフトウェア開発の方法を急速に変えつつあるが、オープンソースコミュニティは新たな困惑に陥り始めている:コードがAIによって書かれている場合、それはまだ開発者の貢献とみなされるのか?
・ある人は、AIはただの新しい開発ツールであり、過度に制限する必要はないと考えている。
・ある人は、AIがオープンソースコミュニティの新人育成の仕組みを壊すことを懸念している。
・さらに、倫理的な観点から生成AIに反対する人もおり、これらのツールそのものがインターネットを「掠奪」していると主張している。
しかし議論の末、Debianコミュニティが出した結論は意外にも「様子見」―暫定的に決定を先延ばしにするというものだった。
・「AI貢献政策」の草案が社内議論を引き起こした
議論の出発点は、今年2月中旬にDebian開発者Lucas Nussbaumが提出した草案だった。
彼は、DebianコミュニティにAIが生成またはAIが補助して生成したコードをDebianプロジェクトに許可すべきかどうかを議論するよう提案し、そのために草案を作成した。この草案でDebianがこの問題に関してどのようなポリシーを取るべきかを明確にし、まず数日間コミュニティからのフィードバックを収集した後、正式な決議案として提出するかどうかを決定するつもりだと説明した。
草案によれば、AI補助で生成されたコード(一部または全部が大規模言語モデルによって生成されたもの)は受け入れ可能だが、以下の条件を満たす必要がある:
(1)貢献の重要な部分がAIツールによって生成され、かつ人間による修正が加えられていない場合は、それを明確に開示しなければならない。
(2)貢献の中に明確な声明または機械可読のラベルを入れなければならない。例えば[AI-Generated]といった形だ。
(3)提出者は自分の提出内容を完全に理解している必要がある。
(4)提出者はコードに対して責任を負わなければならず、これには技術的品質、セキュリティ、ライセンス遵守、実際の用途が含まれる。
さらに、この草案では、重大なデータ漏洩リスクを避けるため、非公開または機密性の高いプロジェクトデータを生成AIツールに入力してはならないと定めている。具体的には、プライベートなメーリングリストの内容や、まだ公開されていないセキュリティ脆弱性報告などである。
つまり、AIはコードを書く手助けをすることができるが、責任は依然として人間の開発者が負わなければならない。
議論の第一歩:みんなで「AIとは何か」についての認識がそろっていない
すぐに議論は、さらに根本的な問題を浮き彫りにした――みんなは「AI」という言葉に共通の理解を持っていないということだ。
Debian開発者Russ Allberyは、現在の「AI」という言葉はあまりにも曖昧になっており、ほぼ宇宙の何でも指し得る状態になったと語った。ある人はChatGPTを指し、ある人はコード生成ツールを指し、ある人は普通の自動化ツールまで含めてしまう。彼は、Debianがポリシーを作る際には、対象を具体的に明確にしなければならないと主張した。たとえば、大規模言語モデル(LLM)、強化学習、あるいはその他の特定技術などを指すべきであり、そうでなければポリシーは実行不能になるだろう。
彼は言った。「LLMは少なくとも比較的明確な意味を持っているが、『AI』という言葉は発話者が何を言いたいかで意味が変わり、同じ議論の中でも意味が変わり続ける。」
もう一人の開発者Sean Whittonも、ポリシーを作る際には、曖昧な「AI」ではなくLLMという言葉を使うべきだと提案し、さらにAIの利用シーンを区別すべきだと述べた。たとえば、コードレビュー、プロトタイプ生成、あるいは本番環境向けコードの直接生成などである。彼は、投票の選択肢でこれらのケースを個別に扱うべきであり、一律に扱うべきではないと指摘した。
それに対して、Lucas Nussbaumは技術的な細部は本質ではなく、本当の問題は「自動化ツールがコードの生成または分析に関与することを許可すべきかどうか」だと考えている。
彼は例を挙げた:Linuxカーネルの初期には、BitKeeperというバージョン管理システムを使うべきかどうかについてコミュニティで激しい論争があった。同様に、セキュリツールの分野でも、クローズドソースの脆弱性スキャンツールが見つけた脆弱性をコミュニティが無視すべきかという議論がある。Nussbaumは、「完全に『反ツール』の立場を取ると、はっきりとした線引きが難しくなる」と述べた。
開発者Simon Richterは興味深い指摘をした:AIエージェントはある程度、ジュニア開発者の役割を代替し得る。多くの場合、ジュニア開発者はメンターの指導のもとでタスクを完了できるが、同じタスクは今ではAIでも完了できるようになった。問題は、AIは学習しないということだ。つまり、コミュニティがメンタリングに投資したコストは、新たな長期的な貢献者には変換されない。Simon Richterは語った:「最高のケースは、小さなバグが修正されるが、新たな貢献者が育たないこと。最悪のケースは、所谓的貢献者がAIとメンターの間の『仲介人』になってしまうことだ。」
さらに、彼はAIツールの利用コストについても懸念を示した:将来的に開発が有料のAIツールにますます依存するようになれば、一般ユーザーがオープンソースに参加するハードルが上がる可能性がある。
これに対し、Lucas Nussbaumも完全には同意していない。彼は、Debianには新人に適した仕事が欠けることはなく、AIはむしろ新人がより複雑な問題に取り組む手助けになる可能性があると考えている。また、Anthropicの従業員が関与した研究を引用し、人間とAIの相互作用のあり方は大きく異なり、利用方法による学習効果への影響も全く違うと述べている。
さらに、著名なLinux開発者Ted Ts’oも反AIの見解に直接反論した:一部の人はAIが将来のシニア貢献者を減らすのではないかと懸念しているが、そのためにAIユーザーの参加を拒否すれば、それはまさに自傷行為である。
倫理的問題:AI企業がインターネットを「吸い取っている」
一部の反対意見は倫理面や著作権の問題から来ている。Debian開発者Matthew Vernonは、生成AI企業がモデルの訓練過程で明白な問題を抱えていると指摘した。たとえば、インターネットコンテンツの大規模なスクレイピング、著作権やオープンソースライセンスの無視、他者の知的財産を直接使ってモデルを訓練することなどである。彼はこう述べた:これらの企業は狂ったようにコンテンツを吸い取り、著作権についてはほとんど気にしていない。
Matthew Vernonはさらに他の論争点も挙げた:AIのエネルギー消費、ディープフェイク問題、そしてAIが生成する虚偽のセキュリティ脆弱性報告である。彼の見解では、DebianのようなフリーソフトウェアプロジェクトはこれらのAIツールに対して明確に反対すべきだと考えている。
著作権問題もまた未解決のままである。主に論点となるのは、モデルの訓練データの著作権と、AIが生成したコンテンツの著作権の帰属である。これについて、開発者Jonathan Dowlandは、法律環境がより明確になるまでの間、このような貢献を一時的に禁止する方が安全かもしれないと提案した。
AI生成コードの品質が悪い?実際、人間も同様だ
この議論の中で、興味深い視点も登場した。多くの人がAIコードに反対する理由は、品質が悪すぎることだ。だが、Debian開発者Russ Allberyはこの理由が成立しないと考えている:人間は確かにAIよりも良いコードを書くことができるが、それと同じくらい悪いコードも書くことができる。彼はさらに皮肉を交えて語った:意味のないゴミコードを書くには創造性は不要だが、本当に酷いコードを書くにはむしろ人間の才能が必要だ。
さらに、ある開発者は指摘した:AIはソフトウェア開発のまた一つの技術的進化に過ぎず、しかし新たな問題ももたらす。たとえば、プロンプトによってコードが生成される場合、そのコードの「望ましい修正方法」とは何か?これに対して、Nussbaumは答えた:生成されたコード自体を修正するのではなく、プロンプト自体を修正すべきだ。ただし、この答えは説得力に欠ける——なぜならLLMの出力は通常決定的ではなく、モデルのバージョンも常に更新されており、同じプロンプトでも将来生成されるコードが完全に異なる可能性があるからだ。
最終的に出した結論:Debianはまず「様子見」を決めた
これまでの議論を振り返ると、Debianの開発者たちはこの問題についてまだ合意に達しておらず、最も基本的な問題――何がAIによって生成された貢献なのか――についてさえも統一された見解を持っていない。
Nussbaumは説明した:彼が最初に決議案を提出したのは、コミュニティ内でAIユーザーに対する攻撃が見られたためだった。しかし、ある程度の話し合いを経た後、議論全体が依然として理性的であることがわかったため、急いでポリシーを定める必要はないと考えた。
しかし彼も予測した:将来的に本当に投票が行われれば、最終的に採られる方針はおそらくこうなるだろう:AIの使用を許可するが、それに対して一連の厳しい制限を付けるという形だ。
参考リンク:https://lwn.net/SubscriberLink/1061544/125f911834966dd0/