OpenAI は10月19日、COBOL・Fortran・Visual Basic のような古い言語で、ソフトを新しく作る力と別の言語へ移す力が新しいモデルで大きく上がったと発表した。自社で作った COBOL 移行のテストでは、GPT-6.1 Sol の成功率が 86.6% で、前の世代の GPT-5.6 Sol は同じ条件で 5.4% だった。
ATM やカード決済の奥で動く古いプログラムを、AI が別の言語へ書き移せる段階に近づいたことになる。ただ、移したプログラムが動くことと、前と同じ結果を返すことは別の話で、その差を確かめる仕事は使う側に残る。
第一報は「OpenAIの最新モデル、COBOL・Fortran・Visual Basicなど低リソース言語の対応を強化」で伝えた。ここでは、2つのテストが何を測ったのかと、AI に古いコードを渡す前に手元に残しておくものを見ていく。
OpenAI が用意した2つのテスト
OpenAI によると、これらの言語は Python や JavaScript に比べて、モデルが学べるコードも説明書も少ない。開発者や企業の利用者から「コーディング用のモデルが苦手にしている」という声が届いていたことが、今回の取り組みのきっかけだという。進み具合を測るために、性格の違うテストを2つ作った。
- MultiLangBench — 広く使われる小型データベースの SQLite と互換のものを、20のプログラミング言語でゼロから作らせる。推論量 (答えを出す前にモデルが考える量) を最大にした設定で、GPT-6 Astra のテスト通過率は20言語の平均で 87.4% (GPT-5.6 Sol は 26.8%)。言語別では COBOL が 10.9% から 72.1%、Fortran が 21.4% から 83.5%、Visual Basic が 27.5% から 89.4% に上がった。20言語のうち19言語で 83% を超え、最も難しかったのは COBOL だった
- COBOL 移行テスト — 既存の COBOL プログラムを C++・Java・Kotlin・Python・Rust のどれかへ移し、ふるまいが変わらないかを見る。外に出る出力がバイト単位で一致することを求める隠しテストを使い、全部通ったときだけ成功と数える。GPT-6.1 Sol は推論量を抑えた設定で 86.6%、費用は GPT-5.6 Sol の 61% だった。推論量を上げると 97.9% に届き、OpenAI はこのテストが飽和に近いと書いている
安く使える GPT-6 Luna も、MultiLangBench の全言語で GPT-5.6 Sol を上回った。平均は 40.3% で、1回あたりの API 費用の見積もりは 0.77 ドル (GPT-5.6 Sol は 3.48 ドル)。安いぶん、通過率は Astra の半分に届かない。
数字の範囲は、正確に押さえておきたい。2つとも OpenAI が自分で作ったテストだ。MultiLangBench は GitHub で手順とテスト一式が公開されていて (Apache 2.0)、SQLite の既存テストから変換した約2万4000件のうち、評価には272件を使う決まりになっている。COBOL 移行テストのほうは隠しテストで、外から同じ条件で確かめる手段は示されていない。
丸め方ひとつで、金額が変わる
OpenAI は IBM の資料を引いて、COBOL がオンラインバンキングの 40% 超、対面でのカード決済の 80%、ATM 取引の 95% を支えていると書く。Fortran は天気予報や原子炉の安全解析に使われている。どれも、利用者が毎日その存在を意識せずに頼っているソフトだ。
移行が難しい理由として、発表は具体的な例を挙げている。COBOL の固定小数点の計算は、丸めるよう明示しない限り、はみ出した小数の桁を切り捨てる。書き換えたプログラムがそこで四捨五入をしてしまうと、エラーは一つも出ないまま、金融の計算結果だけが変わる。
エラーが出ないことは、正しさの証明にならない。COBOL 移行テストが出力のバイト単位の一致まで求めるのは、このずれを拾うためだ。
移行を任せる前に、古い出力の記録を取る
発表は、古いソフトの保守が難しい事情も並べている。説明書が欠けている、書いた本人がもう会社にいない、大事な業務の決まりがコードの中にしか残っていない。こうしたソフトを抱える職場では、AI が書き移したコードの見た目が整っていても、それが前と同じ仕事をしているかを判定する材料が手元にないことが多い。
裏返すと、移行を任せる前に用意できるものがある。同じ入力を入れたときに古いプログラムが今どんな出力を返しているか、その記録だ。OpenAI のテストが隠しテストで行っていることを、自分のプログラムで小さくやる形になる。この記録を作る手間は AI が肩代わりしてくれるものではなく、どこまで用意できるかが、移行を任せられる範囲を決める。
OpenAI 自身も、本番のソフトに使うには専門家のレビューと、業務の決まりや依存関係に照らしたテストが今も要ると書いている。費用も API の従量課金で、安いモデルを選べば通過率が下がる。
ただし、まだテストの上での数字だ。
実際の職場のコードで同じ精度が出るのかは、発表からは分からない。次に確かめられるのは、公開された MultiLangBench のリポジトリに載る言語ごとの結果と、OpenAI 以外のモデルや第三者が同じ手順で測った数字が、公開から数週間のうちにそこへ並んでくるかどうかだ。OpenAI は次にどの言語や作業に力を入れるべきか、利用者からの意見を求めている。
ことば
- COBOL — 事務処理向けに作られた古いプログラミング言語。OpenAI が引く IBM の資料では ATM 取引の 95% を支えており、銀行や企業の基幹の計算を今も担っている。
- MultiLangBench — OpenAI が今回公開した評価。データベースの SQLite を手本に、同じテストを20言語の実装に当てるため、データベースのファイルを共通の受け渡し口にしている。
- 隠しテスト — 解く側には中身を見せない採点用のテスト。答えに合わせた書き方を防げる一方、外部の人が結果を同じ条件で確かめにくい。
誰も中身を説明できなくなったプログラムを AI に渡すとしたら、あなたはその前に、何を「正しい答え」として手元に残しておくだろうか?