COBOL変換は完全自律AIに任せない方がよい?固定パイプラインが安定する理由
生成AIの進化を見ると、COBOLの解析から変換、コンパイル、テスト、修正まで、すべてAIに任せたくなります。
「必要なツールを自分で選び、エラーが出たら原因を考え、最後まで自律的に進めてほしい」。
このようなAI主導の仕組みは魅力的です。しかし、COBOLモダナイゼーションのように、作業工程と合格条件を明確にできる仕事では、AIに自由に判断させるより、決められた手順の中で使った方が安定する可能性があります。
固定手順型とAI主導型を比較した研究
2026年5月11日にarXivで公開された研究では、COBOLからPythonへの変換を対象に、「LLMがツールと実行順序を選ぶ方式」と「事前に決めた順序で処理する方式」が比較されました。モデル、プロンプト、ツール、設定、対象プログラムを共通にし、実行制御だけを変えた比較です。arXiv: Deterministic vs. LLM-Controlled Orchestration for COBOL-to-Python Modernization
結果として固定手順型は、最終的な機能の正しさを同程度に保ちながら、最悪時の失敗を抑え、実行ごとのばらつきを小さくしました。トークン消費量も、対象によっては最大で約3.5分の1まで減少したと報告されています。
なお、この研究はarXiv上のプレプリントであり、結果をあらゆるCOBOLシステムへそのまま当てはめることはできません。とはいえ、実行制御の設計が成果物の安定性やコストに影響するという視点は、現場のモダナイゼーションにも参考になります。
AI主導型が全面的に悪いわけではない
興味深いのは、AI主導型が全面的に劣っていたわけではないことです。
AI主導型は、繰り返し実行したときに、実行可能でテストを通る成果物を出す成功率では高い結果を示しました。一方、固定手順型は、最終コードの正確性、最悪時の安定性、実行結果の再現性、コスト予測のしやすさで優位でした。
つまり、AIに自由に試行錯誤させると、成功する機会を増やせる反面、実行経路が長くなり、失敗時の振れ幅や費用も大きくなりやすいということです。
これは、現場のCOBOL変換にも当てはまる考え方だと思います。
私ならCOBOL変換の工程を固定する
私なら、次の工程を固定します。
COBOLを解析する
↓
変換後コードを生成する
↓
コンパイルする
↓
正常系テストを行う
↓
境界値テストを行う
↓
現行COBOLの結果と比較する
↓
差異がある場合だけAIへ修正を依頼する
↓
再コンパイル・再テストAIに任せるのは、ソース解析、コード生成、エラー原因の推定、修正案の作成です。一方、工程の順番、再試行回数、テストの合格条件、終了条件は、シェルや制御プログラムで固定します。
この形なら、AIがテストを省略したり、確認が不十分な状態で成功と判断したりすることを防げます。また、毎回同じ手順を通るため、「どの入力で、何を実行し、どの判定で合格したか」を記録しやすくなります。
自治体・金融・保険・税務では説明可能性が重要
特に自治体、金融、保険、税務のシステムでは、変換できたことよりも、現行システムと同じ結果になることを説明できる方が重要です。
固定手順にすれば、コンパイル結果、テスト結果、出力差分、AIによる修正内容、再実行回数を残せます。レビューや監査でも、「AIが考えて実行しました」ではなく、「決められた工程と基準をすべて通過しました」と説明できます。
レガシーシステムの改善では、動くことだけでは足りません。なぜ正しいと言えるのかを、後から追跡できることが大切です。
Codexとシェルで固定パイプラインを作る
私が検討しているのも、CodexでCOBOLを修正し、シェルでコンパイルし、その結果を再びCodexへ渡す方法です。
Codex CLIは、端末上でコードを確認・編集し、コマンドを実行できます。また、非対話モードのcodex execを使えば、スクリプトやCIから反復可能な処理を実行できます。OpenAI Developers: Codex CLI
例えば、シェル側で終了コードを確認し、コンパイルに成功した場合だけテストへ進みます。出力差分がゼロなら完了し、不一致があればエラーログと差分だけをCodexへ渡します。再試行回数の上限を超えた場合は、自動処理を止めて人間のレビューへ切り替えます。
こうすれば、AIの強みを使いながら、制御不能な自律実行を避けられます。無駄な会話や再試行も減るため、トークンコストも管理しやすくなります。
固定手順と自律AIは二者択一ではない
もちろん、要件が不明確な調査、設計書の不足箇所の発見、探索的なリファクタリングでは、AIが柔軟に行動する価値があります。研究でも、固定手順が有効なのは、明確な工程、検証手段、安定したツールがある仕事だと説明されています。
大切なのは、完全自律型か固定手順型かを二者択一にしないことです。
通常は固定パイプラインで進め、想定外の失敗だけAIに分析させる。AIの判断範囲を限定し、合格条件は人間が決める。このハイブリッド型が、現場では現実的だと思います。
まとめ
COBOL変換で必要なのは、AIにすべてを任せる勇気ではありません。
AIをどの工程に組み込み、どの条件で止め、何をもって正しいと判断するのかを設計する力です。
完全自律AIを目指すより、再現可能な固定手順の中でAIを使う。その方が、レガシーシステムを安全に改善する近道になる可能性があります。
