最新のモデルの進歩により、COBOL、Fortran、Visual Basicなどの低リソースプログラミング言語で、ソフトウェアを構築・移行する能力が向上しました。これらの言語は、PythonやJavaScriptなどの言語に比べ、モデルが学習に使えるコードやドキュメントが少ない一方で、世界中の重要なインフラや必須サービスを支えています。具体的には、COBOLはオンラインバンキングシステムの40%超、対面のクレジットカード取引の80%、ATM取引の95%を支えています。また、Fortranは天気予報や原子炉の安全性解析に使われています。

AIがCOBOL、Fortran、Visual Basicなどの低リソースプログラミング言語で作業する能力を高めることは、必須サービスが依存するソフトウェアをチームが保守しモダナイズするのに役立つ可能性があります。この取り組みは、コーディングモデルがこうした言語で苦戦することが多いと伝えてきた開発者や企業顧客のフィードバックに基づいています。必須サービスが依存するソフトウェアの保守とモダナイズは、難しいことがあります。ドキュメントが不完全な場合があり、元の開発者が退職している場合もあり、重要なビジネスルールがコードの中にしか存在しない場合もあります。チームがバグ修正を行う場合でも別の言語への移行を行う場合でも、システムが依存する挙動を維持する必要があります。

2つの評価の概要と最新モデルの改善

進捗を測るために2つの評価が開発されました。MultiLangBenchは、モデルが20種類のプログラミング言語でSQLite互換のデータベースエンジンをゼロから構築できるかを試す評価です。COBOL移行評価は、既存プログラムの挙動を保ったまま別の言語へ移行できるかを試す評価であり、この2つは新しいソフトウェアの構築と既存ソフトウェアの挙動の維持という補完的な2つのスキルを試します。

最新モデルは、20種類のプログラミング言語で行うMultiLangBenchとCOBOL移行評価の両方で大幅な改善を示し、より低いコストではるかに高い精度を実現しています。COBOL移行評価では、GPT-6.1 Solが低い推論労力で精度86.6%を達成し、GPT-5.6 Solの5.4%に対し、コストは39%低くなっています。

MultiLangBenchの設計と結果

MultiLangBenchは、指定されたプログラミング言語でSQLite互換のデータベースエンジンを構築するようモデルに求めます。モデルは、コードベースを整理し、状態を管理し、エラーを処理し、既存の機能を保ったまま新機能を追加しなければなりません。実装を言語間で比較するために、MultiLangBenchではデータベースファイルを共通のインターフェースとして使用します。候補プログラムは初期データベースとSQLクエリを受け取り、変更後のデータベースを出力します。結果のデータベースが期待どおりの内容かは、リファレンスのSQLite実装で確認し、これによりエンジンの構築に使った言語に関係なく同じテストを適用できます。OpenAIは、MultiLangBenchとCOBOL移行評価の結果をあわせると、同社のモデルが幅広いプログラミング言語での作業で大幅に得意になりつつあり、同時にコスト効率も高まっていると述べています。

MultiLangBenchのテストは、SQLiteの既存のテストスイートから、初期データベースとSQLクエリから変更後のデータベースを得る形式に適応させたものです。MultiLangBenchは、長時間のコーディングセッションを通じてモデルが構築できる動作する機能の量を測り、テスト通過率とAPIコストの両方を報告します。評価セットアップとテストスイートは、言語ごとの結果とともにGitHubで公開されます。MultiLangBenchが公開されることで、開発者は評価が何をテストしているかを確認し、自分が使う言語での性能を見て、自分の作業に関わる不足を特定できます。

MultiLangBenchにおいて、GPT-6 Astraは最大の推論労力(maximum reasoning effort)で、20のプログラミング言語における平均テスト通過率が87.4%に達し、GPT-5.6 Solの26.8%から上がりました。改善はテストしたすべての言語で見られました。具体的な向上例として、COBOLはGPT-5.6 Solの10.9%から72.1%、OCamlは25.6%から85.8%、Fortranは21.4%から83.5%、Visual Basicは27.5%から89.4%に向上しました。GPT-6 Astraは20言語のうち19言語で83%を超えましたが、COBOLは72%で最も難しいままでした。GPT-6 Lunaも、GPT-5.6 Solを上回る40.3%に達し、推定APIコストは約78%低くなっています。

GPT-6 Lunaは、低コストの選択肢としてテストしたすべての言語でGPT-5.6 Solを上回ります。最大の推論労力での平均テスト通過率は40.3%に達します。向上した言語には、COBOLがGPT-5.6 Solの10.9%から17.1%、OCamlが25.6%から34.1%、Fortranが21.4%から31.4%、Visual Basicが27.5%から41.6%といった例があります。また、GPT-6 Lunaの推定APIコストは、GPT-5.6 Solより約78%低くなっています。

COBOL移行評価の内容と結果

COBOLプログラムの移行を成功させるには、プログラムの業務ロジックとCOBOL固有の言語動作の両方を理解する必要があります。COBOLプログラムは金融取引や業務記録を処理することが多く、丸め規則や欠損レコードの扱いといった細部が業務要件を反映しています。例えば、COBOLの固定小数点演算は、丸めが明示的に要求されない限り余分な小数桁を切り捨てます。代わりにその値を丸めてしまう書き換えは、エラーなく動いても異なる金融結果を出すことがあります。

2つ目の評価であるCOBOL移行評価では、モデルにCOBOLプログラムを、各プログラムの動作を保ったまま、C++、Java、Kotlin、Python、Rustのいずれかへ移行させます。この評価では、観測可能な出力にバイト単位の一致を求める非公開テストでモデルを評価し、すべてのテストに通った場合にのみ移行は成功とみなされます。MultiLangBenchとCOBOL migration evaluationの2つの評価は、開発者や企業顧客からの直接のフィードバックとともに、モデルがどこで改善し、どこでまだ不足しているかを把握する助けになります。

COBOL移行評価で測定しているような、挙動を保ったまま移行する能力は、古いシステムの保守とモダナイズを行うチームに役立ちます。ただし、本番ソフトウェアへ適用するには、専門家によるレビューと、システムの業務ルールや依存関係に対するテストが依然として必要です。

すべてのテストに通った場合のみ移行成功とみなすCOBOL移行評価において、GPT-6.1 Solは低い推論労力(low reasoning effort)で86.6%の精度を示しました。同じ設定におけるGPT-5.6 Solの正解率は5.4%であり、GPT-6.1 SolのAPIコストはGPT-5.6 SolのAPIコストの61%、つまり39%低くなっています。GPT-6.1 Solはより高い推論労力(higher reasoning effort)では正解率が97.9%に達し、この評価は飽和に近づいています。

今後の目標と利用方法

目標は、モデルがソフトウェアエンジニアリングのスキルをより多くの言語で発揮できるよう支援することです。これらのスキルには、不慣れなリポジトリの理解、変更の計画、ビルドツールの使用、テストの実行、失敗のデバッグが含まれます。

最新のモデルは、APIを通じて、チームが使う言語のコーディングタスクで試すことが可能です。何がうまくいき、どこでモデルが苦戦し、次にどの言語やワークフローに注力すべきかというフィードバックは、モデルの訓練と評価の方法を形づくる助けになります。