わたしはサンフランシスコのミッション地区にある企業を数週間前に訪れ、コンピュータープログラミングにディスラプション(創造的破壊)を起こすと謳われるプログラムを見せてもらう機会を得た。このとき訪問したOpenAIは、「汎用人工知能(AGI)」と呼ばれる技術の開発に取り組む企業である。
その最新の成果である人工知能(AI)システム「OpenAI Codex」は、コンピューターのコードを書くことができる。場合によっては、とてもうまくだ。
OpenAIの最高技術責任者(CTO)であるグレッグ・ブロックマンと、共同創業者でCodexの開発を指揮したヴォイチェフ・ザレンバによるデモンストレーションに、わたしは感銘を受けた。ふたりはCodexに文章を出力させ、画像を取得させ、ウェブページを作成させ、そしてインターネット上に公開させたのである。
関連記事 :一般的な言葉を書くだけで、AIがコードを自動生成:マイクロソフトとOpenAIが示したプログラミングの新たな次元
さらに、日常会話で使うような一般言語を用いてウェブ上にあるヘリコプターの画像をダウンロードし、それを画面上で動かして敵を倒すシンプルなゲームをつくりあげた。ゲームの特徴が一歩ずつかたちになっていくにつれ、わたしが目の当たりしているものは優秀なプログラマーが“波に乗っている”ときに感じるという、かの有名な「フロー状態」なのだと気づいた。
これまでフロー状態とは、濃密な内なる対話だった。それがいまや、ロボットアシスタントとの会話のようなものになったのである。
「GPT-3」との共通項
Codexが日常言語をコードに翻訳するコマンドはシンプルで、コンピューターにできることの限界を突破したわけではない。だが、これによりトップクラスのプログラマーでさえ時間と労力をとられるこうした作業段階を、理論上はきれいさっぱりなくせるはずだ。
デモの途中でOpenAIの最高経営責任者(CEO)のサム・アルトマンがコメントし、自身がプログラミングをしていたころはCodexが数秒でなしとげたタスクを終わらせるまで30分はかかったと語った。PythonやJavaScript、HTMLなど、10以上のコンピュータ言語を使いこなすCodexは、与えられたタスクにどの言語が適切なのか自身で判断し、すぐにクリーンなコードを出力し始める。
OpenAIの前回の話題作だった言語生成アルゴリズム「GPT-3」は、さまざまなキューを基にそれらしい散文詩を生み出すことができる“自然言語”の生成システムだった。Codexとまったく同じではないが、人間の仕事と機械の仕事との間にある直感的な境界線を越えるという意味で、両者は兄弟関係にある。
ただし両者は、少なくとも現段階では能力に限界があるという点でも似ている。GPT-3はまだ作家のウラジーミル・ナボコフには及ばないが、それなりの宣伝文句くらいは書けそうだ。同じように政府のIT担当職員が社会保障インフラをCodexのコマンドに置き換えることは、近い将来にはないだろう。だが、GPT-3が信頼性基準をようやく超える程度の文書作成能力で成功を認められた一方で、Codexが一瞬にして生み出すちょっとしたコードは人間が書いたものと同等か、それを上回るクオリティである。
「このモデルはわたしよりずっと優れているんですよ」と、OpenAIのブロックマンは言う。「Codexは一般公開されている数十億行のソースコードを使ってトレーニングされており、ウェブ上に存在するあらゆる関数を人々がどんな用途で使っているのか知っています。そして、それらを使用領域のコンテクストに合わせることに非常に長けているのです」
大勢が職を失う?
それでも現段階でCodexが処理できるコードは、ユーザーからのリクエストの半分に満たない。今回発表されたヴァージョンのCodexは、タスクの37%を実行できるという。
ただし、GithubのAIプログラミング機能「GitHub Copilot」の一部としてリリースされた前回のヴァージョンでは27%だったので、かなり改善されている。Codexはこれからもっとよくなると、OpenAIは大いに期待している。なにしろ、まだ生まれての赤ちゃんなのだ。
デモを見た最初の感想は、「これで大勢が職を失う」だった。ブロックマンはこうした考えに異を唱える。彼によると、プログラミングの本質はCodexがやるような骨折り仕事ではなく、もっと概念的なものであり、これには人間のほうが(少なくともいまはまだ)長けている。
「本当のプログラミングとは夢を描くことなのです」と、ブロックマンは言う。「つくりたいものの全体像を思い描き、ユーザーを理解し、自分に問いかけるのです。『どのくらい大胆につくるべきだろうか? それとも締め切りに間に合わせるほうが大事だろうか?』といった具合にです」
そうは言っても、プログラマーはCodexを使えばソフトウェアを2倍の速さで開発できることがOpenAIによる検証でわかったと、ザレンバは言うではないか。わたしは数学者ではないが、もしわたしの会社が10人のプログラマーを雇っていて、その生産性が2倍になったら、半数を解雇しても構わないはずである。
だが、そうではないのだとブロックマンは言う。より多くのコンピュータープログラムを書けるようになれば、人々はさまざまなタスクを容易にして生産性を高めるようなコードを生み出すので、結果としてプログラマーの需要は高まると彼は主張する。
変わるプログラマーの役割
Codexはコードを書くことだけでなく、コードの書き方の学習にも革命をもたらすとブロックマンは言う。非営利団体「Code.org」の創設者であるハディ・パートヴィは、Codexによる問題解決の方法を学習者がすぐに参照できてそこから学べるようになれば、コンピューター教育の質が上がると考えている。
また、コマンドを即座に実行できれば、初学者の学習意欲が高まるとパートヴィは言う。バグだらけのコードを書いては自分の無能さを痛感し、上達を諦めてしまっていた時代とはおさらば、というわけだ。
しかし、わたしのなかのシニカルな部分はこう問いかける。コンピューター自身がコードの書き方を学習しているなか、人間にコーディングを教えることにどんな意義があるのだろうか?
パートヴィはブロックマンと同じように、未来のプログラマーの多くはコードを量産する単純作業を担うのではなく、夢想家のようなタイプになると考えている。「コーディングの機械的な部分が簡単になれば、コンピューターサイエンス教育はより高度な計算思考の概念、例えばインターフェイスやアルゴリズム、データ構造の設計に主軸を置くことができます」と、パートヴィは言う。
ブロックマンと同じくパートヴィも、Codexは失業をもたらすどころか、コンピュータープログラマーの需要を増やすと考えている。わたしたちはいままさに、コーディングの潜在力を解き放ち、新たな領域へと拡張しようとしているというのが、その根拠だ(ちなみにOpenAIは、企業からCodexの使用料をとって収益化する計画だが、価格体系はまだ固まっていない)。
つまり、プログラマー10人を擁する架空のわたしの会社は、いまやCodexの導入で20人分の仕事をこなしているが、さらに10人のプログラマーを雇うことになると彼らは言っているわけだ。これでうちの会社は、以前の4倍もコードを書ける計算になる。
要するに、Codexやその後継モデルの趣旨は、これまで自動化されていなかったすべてのタスクを担うソースコードの海に、わたしたちを放り込むことなのだ。ブロックマンが思い描いているのは、どんなリクエストも実現してくれる「スター・トレック」のコンピューターのような存在、いわばあらゆる仕事をこなすAlexaなのである。
「そしてゆくゆくは、完全に人間にとって代わることのできるマシンをつくれるかもしれません。わたしたちはその目標に向かって開発に邁進しています。その途中で便利なものを生み出せるでしょうね」
そのときはCodex、失業手当の申請書を書いてくれないか?
※『WIRED』による人工知能(AI)の関連記事はこちら。
TEXT BY STEVEN LEVY