AIがもたらした薄明りのなかで、『Mea Culpa、Dark Hours』に寄せて

ためになる豆知識:2021年、GitHub Copilotが出力したコードに、Quake III Arenaの有名な「逆平方根高速計算アルゴリズム」がほぼそのまま現れ、オープンソースライセンスの扱いをめぐって大きな議論が巻き起こりました。

AIは膨大な公開コードを学習しているため、時に既存のコード片をそのまま想起してしまうのです。

さて、そんな話題を思い出させる出来事が、先日海外の技術者のあいだでちょっとした注目を集めました。

Terry Godierさんが公開した『Mea Culpa、Dark Hours』という文章です。

彼はもともと、その夜の空に見える天体を表示するちょっとしたウェブアプリケーションを、AIの助けを借りて作り、公開しました。

ところが数日後、ほぼ同じ名前と機能を持つオープンソースプロジェクト『DarkHours.app』の作者から、「そっくりすぎる」と指摘を受けたのです。

Godierさんは即座に状況を確認し、自分のプロジェクトが既存のものと酷似している、しかも、相手が過去に修正したバグまで再現していた、ことを認め、ドメインを相手のサイトへ直接リダイレクトし、今後の開発計画自体を白紙に戻す決断を下しました。

大規模言語モデルがコードを生み出す仕組み

ではでは、いったいなぜこんなことが起こるのでしょう。

現在のAIコード生成は、主に大規模言語モデルによって動いています。

これらのモデルは、GitHubなどに公開されている無数のソースコードを学習し、コメントや変数名、インデントの癖まで含めて、次に来る可能性の高い文字(トークン)を統計的に予測していきます。

まるで、ものすごく膨大な「書きかけのプログラム帳」を見ながら、続きを推測するようなものです。

学習データの大部分はオープンソースソフトウェアであり、特定機能の実装方法やAPIの呼び出し方には、必然的に似通ったパターンが現れます。

とりわけ、今回の「今夜の空情報」のような比較的ニッチな領域では、モデルが参照するコードの多様性が限られるため、出力が既存プロジェクトに極めて近い形になるリスクが高まります。

Godierさんのケースでも、機能セットや名称だけでなく、細かなインターフェースの挙動まで似てしまったのは、そうした背景があったのでしょう。

意図せぬ類似が映す責任のありか

興味深いのは、彼がこの問題を公にし、謝罪の言葉を綴ったことです。

彼は「AIに頼りきって、既存プロジェクトを調べる手間を怠ったのは自分の責任だ」と認め、さらに「この方法でウェブアプリを作るのはもうやめる」と宣言しました。

技術者コミュニティでは、この素早い判断と率直な姿勢に、むしろ敬意を示す声が多く聞かれます。

オープンソース文化は、先人たちの成果の上に成り立っています。

だからこそ、その恩恵にあずかる私たちは、元の作者やライセンスに対する最低限の敬意を忘れてはいけません。

模倣と創造のあわいに立って

技術も芸術も、完全な無からの創造は稀です。

過去の作品に学び、影響を受けながら、少しずつ新しいものが生まれてゆく。

しかしAIは、その「影響」のプロセスを瞬時にかつ不透明に飛ばしてしまうところがあります。

生成物のオリジナリティは、ツールの側では保証されない。

だからこそ、最終的にアウトプットを世に問う人間が、きちんと既存作品を調べ、必要ならライセンスを確認し、ときにそっと身を引くことも大切なのでしょう。

今回の『Mea Culpa、Dark Hours』は、便利な道具がもたらす「うっかり」の危うさと、それを受け止めたひとりの技術者の誠実さを、私たちに静かに示してくれました。

技術の歩みは速いけれど、それを使う私たちの倫理や慎みも、同じ歩幅で育っていくことを願っています。

記事一覧