はじめに
「IBM i RiSING」チームCの活動として、複数の生成AIを使った比較検証を行った結果をまとめています。
この記事では、
- Copilot + GPT-5.4 Think Deeper
- Copilot + Claude Opus
の比較を実施しました。
私自身、普段IBM i(AS/400)に携わっていることもあり、RPGLEプログラムの生成能力を比較してみました。
検証内容
今回、生成AIに作成させたのは以下のプログラムです。
日付⇒曜日変換プログラム
入力された日付(YYYYMMDD形式)の妥当性をチェックし、対応する曜日コードとエラーフラグを返却するプログラムです。
業務システムでは比較的よくある処理ですが、
- 日付チェック
- うるう年判定
- 曜日計算
- パラメータ受け渡し
など、プログラムらしい要素が含まれているため検証題材として選定しました。
検証手順
生成AIには事前に作成した仕様書を入力として与えました。
1. 仕様書をアップロード
プログラムの詳細仕様を記載したテキストファイルをCopilotへアップロード。
2. 以下のプロンプトにて指示
・添付したテキストファイルの仕様書をAS400の固定長RPGLEのPGMとして作成してほしい。
・出力先はテキストファイル
・コメントアウトも詳しく記載
3. コンパイルとテストの実施
出力されたプログラムを実際にコンパイルし、エラーが出た場合はAIへ修正指示。
また、テストした結果が仕様と異なる場合にも修正を依頼。
4. 評価
今回は、以下の観点で比較しました。
- 指示回数
- 可読性
- AIの使いやすさ
評価はシンプルに
- ○
- △
- ×
で判定しています。
結果
Copilot + GPT-5.4 Think Deeper
指示回数
2回
初回生成時に桁位置のずれがあり、固定長RPGLEのコンパイルエラーが発生しました。
エラーメッセージを伝えることで修正版を生成でき、最終的にはコンパイルできました。
可読性
△
コメントが英語で出力されました。
確かに日本語コメントを明示的には指定していなかったのですが、
- 日本語の仕様書
- 日本語のプロンプト
で指示していたため、少し意外でした。
コード自体は理解しやすかったものの、日本のRPG保守現場で利用するにはコメントの再生成が必要だと感じました。
使いやすさ
○
Copilot上での操作に特に不便は感じませんでした。
エラー内容をそのまま伝えれば修正版を提案してくれるため、デバッグ作業も比較的スムーズでした。
Copilot + Claude Opus
指示回数
1回
初回生成でコンパイル可能なプログラムを出力できました。
固定長RPGLE特有の桁位置も問題なく、今回の検証では追加修正は不要でした。
可読性
○
コメントも日本語で出力されており、保守担当者が読みやすい内容でした。
変数名や処理の区切りも比較的分かりやすく、完成度は高い印象でした。
使いやすさ
△
今回利用したCopilot + Opus環境では、テキストファイルとしての出力がうまく行えませんでした。
そのため初回のプロンプトを、
出力はコードブロック
という指示に変更して検証を行いました。
コード生成能力自体は高かったものの、出力形式に制約があった点は少し気になりました。
評価まとめ
| 項目 | GPT-5.4 Think Deeper | Claude Opus |
|---|---|---|
| 指示回数 | ○ | ○ |
| 可読性 | △ | ○ |
| 使いやすさ | ○ | △ |
所感
今回の検証では、RPGLEという比較的ニッチな言語であっても、どちらの生成AIも実用レベルのコードを生成できることが確認できました。
特に印象的だったのは、Claude Opusが固定長RPGLEの桁位置まで比較的正確に生成できた点です。固定長RPGLEはフリーフォーマットRPGに比べて生成難易度が高いと思っていたため、少し驚きました。
一方で、GPT-5.4 Think Deeperもコンパイルエラーの内容を伝えることで適切に修正できました。実際の開発現場では一発で完成するよりも、AIとの対話を通じて完成度を高めるケースが多いため、十分実用的だと感じています。
また、AIの性能比較ではコード生成精度ばかりに目が向きがちですが、
- ファイル出力のしやすさ
- コメントの品質
- 修正依頼への対応力
といった開発体験全体も重要な評価ポイントだと感じました。
おわりに
今回の検証はあくまで1つのプログラムを対象とした結果ですが、IBM iのような比較的レガシーな開発環境でも生成AIが十分活用できる可能性を感じました。
当記事の著作権はIBMに帰属します。詳細はこちらをご参照ください。