米OpenAIは10月19日(現地時間)、COBOL、Fortran、Visual Basicなど、AIが学習に使えるコードや文書が少ないプログラミング言語について、最新モデルの開発・移行能力が大幅に向上したと発表しました。進歩を測るために独自の評価を2種類用意しており、COBOLプログラムを別の言語へ移す評価では、推論量を増やした設定で正解率97.9%を記録したとしています。
数字より先に知っておきたい、古い言語の存在感
COBOLは1959年に生まれた言語です。「そんな昔のものがまだ動いているのか」と驚く方もいるかもしれませんが、いまも金融機関や政府機関のシステムで広く使われています。OpenAIの説明では、オンラインバンキングシステムの40%超、対面のクレジットカード取引の80%、ATM取引の95%がCOBOLに支えられているそうです。
同じく今回の対象になったFortranは、天気予報や原子炉の安全解析に使われています。PythonやJavaScriptに比べると、AIが学べるコードや資料の量は限られます。それでも社会の土台を支えているという、ちょっとねじれた構図です。
今回の取り組みは、開発者や企業顧客から「コーディングモデルがこうした言語を苦手としている」という声が寄せられたことがきっかけだとされています。現場の困りごとが起点になっている点は、押さえておきたいところです。
「動く」だけでは合格にならない移行評価
注目したいのは、2つ目の評価の厳しさです。COBOLプログラムをC++、Java、Kotlin、Python、Rustのいずれかへ移し、元のプログラムと同じ動作を保てるかを確かめるもので、成功の条件は出力がバイト単位で完全に一致することでした。しかも使われたのは非公開のテストで、すべてに合格した場合だけが成功と数えられます。
具体例がわかりやすいでしょう。COBOLの固定小数点演算では、丸めを明示しない限り、余分な小数桁は切り捨てられます。ここで移行後のプログラムが、つい習慣どおりに四捨五入してしまったらどうなるか。エラーは一切出ないまま、金額の計算結果だけがずれる可能性があります。
銀行や保険の計算で、1円のずれが何百万件も積み重なる場面を想像すると、この評価の意味が見えてきます。言語を置き換える作業というより、長年の業務ルールが暗黙のうちに埋め込まれたコードの「振る舞い」を、そっくり別の言語へ引っ越しさせる作業と言ったほうが実態に近いはずです。
97.9%という数字をどう読むか
結果を整理します。移行評価で、推論量を低く設定した「GPT-6.1 Sol」の正解率は86.6%でした。同じ設定のGPT-5.6 Solは5.4%で、大きな開きがあります。APIコストはGPT-5.6 Solの61%に抑えられているといいます。推論量を増やすと、正解率は97.9%に達しました。
もうひとつの評価「MultiLangBench」は性格が異なります。20種類のプログラミング言語それぞれで、SQLite互換のデータベースエンジンをゼロから作らせる課題です。推論量を最大にした「GPT-6 Astra」は20言語の平均テスト合格率が87.4%で、GPT-5.6 Solの26.8%から伸びました。
混同しやすいので、2つの評価の違いを表にしておきます。
【評価の比較】
・移行評価:COBOLを5言語のいずれかへ移し、出力のバイト単位一致を確認。GPT-6.1 Solは低推論で86.6%、推論量を増やすと97.9%。
・MultiLangBench:20言語でSQLite互換のデータベースエンジンを構築。GPT-6 Astraの平均合格率は87.4%。
最難関はやはりCOBOL
MultiLangBenchでは、20言語中19言語で83%を超えました。そのなかでCOBOLは72.1%で、GPT-5.6 Solの10.9%からは大きく伸びたものの、引き続き最も難しい言語という位置づけです。
低コストモデルの「GPT-6 Luna」も平均40.3%とGPT-5.6 Solを上回りました。サンプル当たりの推定APIコストは0.77ドルで、GPT-5.6 Solの3.48ドルより約78%低いとされています。評価環境とテストスイートはGitHubで公開される予定です。
AIの進歩とレガシー刷新の現在地
COBOLの移行をAIで進める動きは、今回が初めてではありません。IBMは2023年に、生成AIでCOBOLをJavaへ変換する「watsonx Code Assistant for Z」を発表しています。今年2月には米AnthropicがClaude CodeによるCOBOL近代化の支援をブログで訴え、これが材料視されてIBM株が1日の下落率として約25年ぶりの大きさを記録しました。1本のブログが株価を揺らすほど、市場がこの分野に注目しているわけです。
社会的な背景もあります。2020年には新型コロナウイルスの流行で、米国の州政府が運用するCOBOL製の失業保険システムに申請が殺到しました。対応できる技術者の不足が問題になったことを覚えている方もいるでしょう。人手が足りない領域にAIが入り込めるかどうかは、技術の話にとどまらず、行政や金融の持続性に関わるテーマです。
任せきりにしない前提で使う
高い数字が並ぶ一方で、OpenAI自身は、本番のソフトウェアに適用するには専門家によるレビューと、システムの業務ルールや依存関係に照らしたテストが引き続き必要だとしています。バイト単位の一致を確かめるテストに通ったとしても、現場には評価用テストが想定していない例外処理や、他システムとのつながりが残っているからです。
私は、AIの役割を「一括置換する魔法」ではなく「検証しやすい形で移行作業を進める下請け」と捉えるのが現実的だと考えています。移行元の仕様書が失われているケースでは、変換の速さよりも、元の振る舞いを再現できているかを確かめる設計力のほうが価値を持つでしょう。97.9%という数字は、確認作業を人間が引き受ける前提で、移行の入口が一気に広がったことを示しています。


コメント