OpenAI Codex(コーデックス)とは

OpenAI Codexとは、自然言語で書いた指示をプログラムのコードに翻訳する、OpenAIのAIモデルのことです。2021年に発表され、GPT-3を大量のソースコードで追加学習して作られました。GitHub Copilotの最初のエンジンとして使われたことで知られます。

公開コードを教材に「書き方」を覚えた

Codexを紹介したOpenAIの論文によると、研究用のモデルは2020年5月に、5,400万の公開リポジトリ(GitHubでプログラムを公開している置き場)から集めたPythonのコードを教材に鍛えられました。これにより、「こう書きたい」という普通の言葉から、それに対応するコードを書き起こせるようになっています。十数のプログラミング言語に対応し、なかでも得意なのはPython。一度に読み込める量はGPT-3の約3倍で、Pythonのコードなら14KB、おおよそ数百行ぶん。なお登場は2021年で、対話AIのChatGPTが広まる前から、コードを書くAIは実用化が進んでいたことになります。

「Codex」と聞いたら、どちらのこと?

注意したいのは、「Codex」という名前が、2つの別物を指す点です。一つは、ここで説明している2021年の言語モデル。このモデルは2023年3月23日に、APIでの提供を終えました。もう一つは、OpenAIが2025年に同じ名前で出したコーディング用のAIエージェントです。4月に手元のパソコンで動くCodex CLI、5月にクラウド上で複数の作業を並行して進めるCodexが公開されました。両者は世代も中身も異なり、2025年以降の製品やニュースに出てくる「Codex」は、このエージェントのほうだと考えてよいでしょう。

Topic元になったGPT-3は、同じ試験で1問も解けなかった

Codexの論文と一緒に公開されたのが、HumanEvalという試験です。人が新しく書き下ろした164問のプログラミング課題を、AIが書いたコードが用意したテストに通るかどうかで採点します。1回ずつ書かせた結果は、Codexが28.8%、元になったGPT-3は0%。文章は達者でも、動くコードを書くには専用の鍛え方が要ったわけです。同じ課題を100回書かせて1つでも通ればよしとすると、Codexの正解率は70.2%まで上がりました。何案も書かせてテストで選ぶと当たりが大きく増える、というのも論文の発見の一つです。

OpenAI Codexに関するよくある質問

公開コードで学習したCodexは、他人のコードをそのまま書き写すことはありませんか?
OpenAIの論文は、GitHubの調査を引いて、学習データのコードと一致して見える出力は0.1%未満だったと述べています。まれに一致した例も、そのプログラミング言語でくり返し使われる決まった書き方だったとしています。ただしこれは開発元側の説明です。業務で使うなら、生成されたコードは人が確認してから採用する運用が前提になります。
2021年当時、企業はCodexをどう使えたのですか?
2021年8月10日から、OpenAIのAPIを通じた限定ベータとして提供され、はじめのうちは無料でした。OpenAIは、別のプログラミング言語への書き換え、コードの説明、リファクタリング(動きを変えずに書き方を整えること)に使えたと紹介しています。
Codexにも苦手なことはありましたか?
ありました。論文は、いくつもの処理を順につなげるよう長々と説明した指示や、どの処理の結果をどの変数に入れるかの対応づけが苦手だったと、限界を挙げています。つなげる処理の数が増えるほど、正しく書ける割合は急に下がったといいます。

OpenAI Codexに関連する記事