やじうまの杜

「GitHub Copilot」はAPIの秘密キーまで知っている? 優秀過ぎるAI(相)棒に恐れを抱く開発者も

技術的な問題のほかにも、社会的影響を危惧する声もあ

 “やじうまの杜”では、ニュース・レビューにこだわらない幅広い話題をお伝えします。

 先日テクニカルプレビューが開始された「GitHub Copilot」は、AIと「ペアプログラミング」が行える素敵なサービスです。ペアプログラミングというのは、2人のプログラマーが互いに「ドライバー」と「ナビゲーター」役をこなしながら行うソフトウェア開発手法のこと。ラリーで片方がクルマを操縦し、もう片方がマップを読み上げながらサポートするのと似ていますね。機長と副操縦士(Copilot)が操縦役・サポート役を交代しながら国際線の旅客機を飛ばす様子に例えてもよいでしょう。コーディングを担当するAIの横で、人間の開発者はそれをちょちょいと手直しするだけでソフトウェアが完成する――そんな世界がもうすぐ本当にやってきます。

 [Tab]キーをポンポン押すだけでAIが勝手にコーディングしてくれるのですから、そのうちプログラマーのキーボードは[Tab]キーだけになるかもしれませんね。いや、最後は人間の手直しが必要になるのですから、そうはなりませんけどね。

 しかしこの素晴らしい「Copilot」にも、すでにいくつかの問題が指摘されています。まだテクニカルプレビュー(テスト版)なのですから当然ともいえますが、なかにはちょっと物騒なことも……なんと、WebサービスのAPIを使う関数を書くと「GitHub Copilot」は本来秘密であるはずのAPIキーまで補ってコーディングしてくれるのだそうです。

WebサービスのAPIを使う関数を書くと「GitHub Copilot」は本来秘密であるはずのAPIキーまで補ってコーディングしてくれる

 いったい「Copilot」はどこからそれを知ったのか。もしかしてプライベートなコードまで学習しているのでは?――そんな疑惑が持ち上がるのも仕方のないことでしょう。

 これに対し、GitHubのCEO・Nat Friedman氏はこのように答えています。

 「Copilot」が生成する秘密キー(のように見えるもの)は、AIが勝手に作り出したものだそう。「Copilot」が誤って公開された秘密キー(秘密キーを公開してしまうのは結構あるミスです)を学習してしまうこともあるかもしれませんが、そういうものはおそらく取り消されているはずなので問題になることはなさそうです。「Copilot」が学習しているのはあくまでも公開されたソースコードで、それっぽく書かれていてもけっして「秘密」を知っているわけではないというわけですね。

 技術的な問題のほかにも、「Copilot」には社会的影響を危惧する声もあります。AIが勝手に自分のソースコードを学習するのは嫌だ、著作権で保護されている商用コードを無許可で学習されるのは困る、意図せず著作権の侵害になるケースもあるのではないか――などなど。自分の職がAIに奪われるのではないかと恐れる開発者もいそうです。

 こうした問題と「Copilot」はどのように向き合っていくのか、「Copilot」の発展と広がりがプログラミングというものをどう変えていくのか、興味は尽きません。