メインコンテンツにスキップ
OpenAI

2026年10月19日

出版リサーチ

学習リソースの少ないプログラミング言語におけるコーディング能力の向上

読み込んでいます...

最新モデルの進化により、COBOL、Fortran、Visual Basic など、学習リソースが少ないプログラミング言語でのソフトウェア開発・移行能力が向上しました。これらの言語は、Python や JavaScript などに比べてモデルが学習に利用できるコードやドキュメントが少ない一方で、世界中の重要なインフラや不可欠なサービスを支えています。COBOL は、オンラインバンキングシステムの 40% 超、対面でのクレジットカード取引の 80%、ATM 取引の 95% を支えています⁠(新しいウィンドウで開く)。また、Fortran は天気予報⁠(新しいウィンドウで開く)や原子炉の安全解析⁠(新しいウィンドウで開く)に使われています。こうした言語を扱う AI の能力を高めることで、不可欠なサービスの基盤となるソフトウェアの保守・モダナイゼーションを支援できる可能性があります。

この取り組みの指針となっているのは、コーディングモデルがこうした言語を苦手とすることが多いという、開発者や企業のお客様からのフィードバックです。こうしたソフトウェアの保守・モダナイゼーションは容易ではありません。ドキュメントが不完全だったり、当初の開発者が退職していたり、重要な業務ルールがコードの中にしか残っていなかったりするためです。バグ修正でも別の言語への移行でも、システムが前提としている動作を維持する必要があります。

進歩を測るため、私たちは 2 つの評価を開発しました。MultiLangBench は、20 種類のプログラミング言語それぞれで、モデルが SQLite 互換のデータベースエンジンをゼロから構築できるかを検証します。COBOL 移行評価では、モデルが既存のプログラムの動作を維持しながら、別の言語に移行できるかを検証します。この 2 つの評価で、新しいソフトウェアを構築する力と、既存のソフトウェアの動作を維持する力という、相互に補完し合うスキルを検証します。

最新モデルは両方の評価で大幅な改善を示し、より低いコストで、はるかに高い正解率を達成しています。

MultiLangBench では、GPT‑6 Astra が 20 のプログラミング言語で平均テスト合格率 87.4% を達成しました。GPT‑5.6 Sol の 26.8% から大きく向上し、評価対象のすべての言語で改善が見られました。GPT‑6 Luna も GPT‑5.6 Sol を上回り、推定 API コストを約 78% 抑えながら、40.3% を達成しています。

COBOL 移行評価では、推論量を低く設定した GPT‑6.1 Sol が 86.6% の正解率を達成しました。GPT‑5.6 Sol の正解率はわずか 5.4% です。GPT‑6.1 Sol のコストは GPT‑5.6 Sol に比べて 39% 低くなっています。推論量を増やすと正解率は 97.9% に達し、この評価ではほぼ上限に到達しています。

これらの結果は、私たちのモデルが幅広いプログラミング言語を扱う能力を大幅に向上させると同時に、コスト効率も高めていることを示しています。

1. SQLite のゼロからの構築(MultiLangBench)

MultiLangBench では、指定されたプログラミング言語で SQLite 互換のデータベースエンジンを構築するようモデルに求めます。モデルは、コードベースの整理、状態管理、エラー処理を行い、既存の機能を維持しながら新しい機能を追加する必要があります。

言語間で実装を比較するため、データベースファイルを共通のインターフェースとして使用します。評価対象のプログラムは、初期状態のデータベースと SQL クエリを受け取り、変更後のデータベースを出力します。SQLite の参照実装を使い、出力されたデータベースの内容が期待どおりかを確認します。これにより、エンジンの構築に使った言語にかかわらず、同じテストを適用できます。

SQLite の既存のテストスイートから、この形式に合わせてテストを調整しました。この評価では、長時間のコーディングセッションでモデルが正常に動作する機能をどれだけ構築できるかを測定し、テスト合格率と API コストの両方を報告します。

推論量を最大に設定すると、GPT‑6 Astra は 20 言語で平均テスト合格率 87.4% を達成しました。GPT‑5.6 Sol の 26.8% から大幅に向上しています。COBOL(10.9% から 72.1%)、OCaml(25.6% から 85.8%)、Fortran(21.4% から 83.5%)、Visual Basic(27.5% から 89.4%)を含む、評価対象のすべての言語で改善が見られました。Astra は 20 言語中 19 言語で 83% を超えるスコアを記録しました。COBOL は 72% で、引き続き最も難しい言語となっています。

GPT‑6 Luna は、より低コストな選択肢でありながら、評価対象のすべての言語で GPT‑5.6 Sol を上回っています。推論量を最大に設定すると、平均テスト合格率は 40.3% に達します。COBOL(10.9% から 17.1%)、OCaml(25.6% から 34.1%)、Fortran(21.4% から 31.4%)、Visual Basic(27.5% から 41.6%)などで改善が見られました。こうした改善を達成しながら、サンプルあたりの推定平均 API コストは 0.77 ドルと、GPT‑5.6 Sol の 3.48 ドルに比べて約 78% 低くなっています。

MultiLangBench の評価環境とテストスイートを、各言語の結果とともに GitHub⁠(新しいウィンドウで開く) で公開します。開発者は、評価で何を検証しているのかを確認し、使用している言語での性能を調べ、自分の業務に関わる課題を特定できます。

2. COBOL コードベースの移行

2 つ目の評価では、それぞれのプログラムの動作を維持しながら、COBOL プログラムを C++、Java、Kotlin、Python、Rust のいずれかに移行するようモデルに求めます。

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

こうした動作が維持されているかを検証するため、観測可能な出力がバイト単位で完全に一致することを求める非公開テストでモデルを評価します。すべてのテストに合格した場合にのみ、移行が成功したと判断します。こうした動作を維持する能力は、古いシステムの保守・モダナイゼーションに取り組むチームに役立ちます。ただし、本番ソフトウェアへの適用には、引き続き専門家によるレビューと、システムの業務ルールや依存関係に照らしたテストが必要です。

この評価では、推論量を低く設定した GPT‑6.1 Sol が 86.6% の正解率を達成しました。同じ設定での GPT‑5.6 Sol の正解率は 5.4% です。GPT‑6.1 Sol の API コストは GPT‑5.6 Sol のわずか 61% に抑えられています。推論量を増やすと正解率は 97.9% に達し、この評価の上限に迫っています。これらの評価結果は、事業を支えるソフトウェアのモダナイゼーションに取り組むチームにとって、より正確で低コストなコード移行の実現に向けた進歩を示しています。

企業向けソフトウェアを扱う能力の向上

これらの評価は、開発者や企業のお客様から直接寄せられるフィードバックとともに、モデルのどこが改善し、どこにまだ課題があるのかを把握する助けになります。

私たちの目標は、初めて扱うリポジトリの理解、変更の計画、ビルドツールの使用、テストの実行、不具合のデバッグといったソフトウェアエンジニアリングのスキルを、モデルがより多くの言語で発揮できるようにすることです。

チームで使用している言語のコーディングタスクで、API を通じて最新モデルをお試しいただけます。何がうまくいき、どこでモデルがつまずくのか、次にどの言語やワークフローに注力すべきか、ぜひフィードバックをお寄せください。皆様が頼りにしているソフトウェアをよりよく支援できるよう、モデルの学習・評価の方針に生かしていきます。