MONO-X公式 - Blog

RPGのソースが読めない問題を、AIはどこまで解決できるか

作成者: admin|Sep 30, 2026, 9:15:00 AM

 

RPGのソースコードが読めない問題は、AIで「1本ずつ読んで日本語で説明する」ところまでは大きく改善できます。

ただし、システム全体の仕様をつかむには、AIだけでは足りません。

呼び出し関係の機械的な集計と、現場での確認を組み合わせる必要があります。

この記事では、AS/400(IBM i)のRPG資産を例に、AIに任せられる範囲と、資産全体を見える化する進め方を整理します。

「このプログラムが何をしているか、誰も説明できない」。

IBM i を長く使っている企業では、珍しくない状況です。

RPGが読めなくなる理由は、言語の特徴と、組織の事情の両方にあります。

  • 桁の位置で意味が決まる固定形式:RPGⅢでは、何桁目に何を書くかで命令の意味が決まります。慣れていない人には、記号の羅列に見えます。
  • RPGⅢとILE RPGの混在:同じシステムの中に、年代の違う書き方が混ざっています。改修のたびに書き方が変わり、読み手の負担が増えます。
  • 処理が複数のメンバーに分かれている:/COPY(共通部品の取り込み)やCALL(別プログラムの呼び出し)で、1つの業務が多くのソースコードにまたがります。1本だけ読んでも全体は分かりません。
  • 設計書がない、または古い:改修を重ねるうちに、設計書とソースコードが一致しなくなっています。結局、ソースコードを読むしかありません。
  • 書ける人の退職・高齢化:ソースコードを読める人が限られ、問い合わせや改修がその人に集中します。

RPGとはどんな言語か

RPGは、IBMが提供する業務アプリケーション向けのプログラミング言語です。

IBM i(旧AS/400)で、販売・在庫・会計などの基幹業務を作るために広く使われてきました。

帳票やファイル処理を少ない記述で書ける点が特徴です。

世代によって書き方が大きく異なるため、主な違いを表にまとめます。

世代

主な特徴

書き方

よく見かけるソース型

RPGⅢ(RPG/400)

桁の位置で意味が決まる。プログラムは1本ずつ独立して動く

固定形式のみ

RPG、SQLRPG(埋め込みSQLを使う場合)

ILE RPG(RPGⅣ)

サブプロシージャーやサービスプログラムで処理を部品化できる

固定形式(演算部などはフリー形式も可)

RPGLE、SQLRPGLE(埋め込みSQLを使う場合)

完全フリー形式のILE RPG

1行目に **FREE と書くと、桁の制約がなくなる。一般的な言語に近い書き方ができる

フリー形式のみ

RPGLE、SQLRPGLE

完全フリー形式は、IBM i 7.1・7.2 向けのPTFで追加されました(出典:IBM「Fully free-form RPG - new in 7.1 and 7.2」https://www.ibm.com/support/pages/node/1108095 )。

RPGは帳票やファイル処理を少ない記述で書ける一方で、ほかの言語にはない独自の仕組みがあります。

  • インジケーター:*IN01〜*IN99 などの番号付きのスイッチで、処理の分岐や画面の制御を行います。番号だけでは意味が分かりません。
  • ラベルとGOTO:TAG で付けたラベルへ GOTO で飛ぶ書き方が残っていて、処理の流れを追いにくくします。
  • RPGサイクル:ファイルを1件ずつ読む繰り返しを、言語が裏側で自動的に行います。ソースコードに書かれていない処理があるため、流れが見えにくくなります。

これらは人にとっても、AIにとっても、処理の流れを正しく読み取る難しさにつながります。

IBM BobのPremium Package for i に、インジケーターやRPGサイクル専用のスキルが用意されているのも、そのためと考えられます。

AIは、RPGを「読む」作業の多くを肩代わりできます。

ただし、どの作業でも、最後に人が確認する工程は残ります。

作業ごとに、AIに任せられる範囲と、人が確認することを整理しました。

作業

AIでできること

人が確認すること

①処理内容の日本語での説明

1本のソースコードを読み、使用ファイル・処理の流れ・分岐条件を日本語で説明する

業務上の意味(なぜその条件なのか)が合っているか

②仕様書の下書き

入出力・処理概要・使用ファイルを、仕様書の形式で書き起こす

社内の書式に合っているか。抜けている前提がないか

③改修の影響範囲の洗い出し

指定した項目やファイルを使っている箇所を、読み込んだ範囲で挙げる

読み込んでいないプログラムに影響がないか(ツールでの集計と突き合わせる)

④フリー形式への書き換え

固定形式のソースコードを、フリー形式に書き換えた案を出す

コンパイルが通るか。テストで動きが変わっていないか

⑤コメントの付与

処理のまとまりごとに、日本語のコメントを付ける

コメントの内容が実際の処理と合っているか

IBM BobでRPGを読ませた例

当社では、IBMが提供するAIコーディングエージェント「IBM Bob」で、RPGの解析を検証しました。

IBM Bobは、標準でもRPGやCOBOLのソースコードを読めます。

PCに保存したソースコードを読ませるだけなら、無料トライアルでも試せます。

当社の検証では、コメントをすべて除いたRPGⅢ 10本と関連するDDSの解析が約1分で終わりました。

仕様書とフローチャートの作成までを含めても、約5分でした。

詳しくは「【IBM i ×AI】40年前のRPGも5分で解析?「IBM Bob」の可能性と活用法」(https://blog.mono-x.com/ibm-i-rpg-analysis-with-ibm-bob )で紹介しています。

さらに、IBM i 向けの追加パッケージ「IBM Bob Premium Package for i」を使うと、IBM i 上のソースコードをPCにコピーせず、そのまま読ませることができます。

IBM i 向けのモード・スキル・知識ベース(RAG:資料を検索して回答に生かす仕組み)により、RPG・CL・DDS・COBOLなどへの対応も強化されます。

※IBM Bob Premium Package for i は、IBM Bobの有料プランに追加する有償の拡張機能です。IBM i 上のソースコードを直接読ませる使い方は、この拡張機能のインストールが前提です(無料トライアルでは利用できません)。

Premium Package for i を使った検証では、次のような日本語の依頼だけで解析が進みました。

ライブラリ HNDLIB91 の QRPGLESRC にあるメンバーの一覧を出してください。
続けて、BPL020(得意先別受注一覧表)の処理概要を説明してください。

図:メンバー一覧と処理概要を依頼した結果

結果は次のとおりです。

  • メンバー一覧が、説明と行数付きの表で返ってきました。
  • 使用ファイルや処理の流れまで説明され、5250画面を開かずにソースコードの内容をつかめました。
  • エディタで範囲を選んで「Explain Code」を実行すると、処理フローの図と解説も返ってきました。

図:Explain Code で返ってきた処理フローの図と解説

検証の詳細は「【第2部】IBM Bob Premium Package for i 導入ガイド|動作確認編」(https://blog.mono-x.com/ibm-bob-premium-package-for-i-install-guide-2 )で紹介しています。

導入の手順は「IBM Bobの始め方|導入から最初のRPG解析までの手順」https://blog.mono-x.com/ibm-bob-setup-guideをご覧ください。

 

AIは1本のソースコードを読むのは得意です。

しかし、AIだけでシステム全体を理解できるわけではありません。

ここを押さえておかないと、AIの説明を過信して判断を誤ります。

  • 数本のソースコードを貼るだけでは、全体は分からない:チャットAIに数ファイルを貼っても、CALL先・/COPYの中身・ファイル定義(DDS)がなければ、推測で補った説明になります。
  • 件数や呼び出し関係は、ツールで機械的に集計する:プログラム数や、どのプログラムがどれを呼んでいるかは、ツールで正確に数えられます。AIの推測と事実を区別するため、集計はツールで行います。
  • 業務上の意味は、現場へのヒアリングで補う:「このフラグが1なら返品扱い」といった業務の約束事は、ソースコードだけでは分からないことがあります。
  • ソースコードを社外に出すときのルールと権限:クラウドのAIサービスにソースコードを送る場合は、社内の情報管理ルールに沿っているかを確認します。誰がどの範囲をAIに読ませてよいかも決めておきます。
  • AIをつなぐのは検証用の環境から:AIに書き換えや実行まで任せる場合は、本番環境や日々の開発業務で使っている開発環境に直接つながず、検証用の環境を別に用意して試します。当社では、AIエージェントの検証を安全に行えるサンドボックス環境「PVS One for AIエージェント」を提供しています。

IBM Bobのような開発ツールは、1本ずつ読んで直す作業には強い道具です。

一方で、「資産全体で何本あり、どうつながっているか」を一度に描くことは、別の取り組みになります。

AIにRPGを読ませる方法は、大きく2つあります。

手元のPCにソースコードをコピーして読ませる方法と、IBM i 上のソースコードに直接アクセスできるツールを使う方法です。

観点

ソースコードを手元にコピーして読ませる

IBM i 上のソースコードに直接アクセスする

主なツール

汎用のAIチャット・AIコーディングツール(IBM Bob本体を含む)

IBM i に対応したAIツール(例:IBM Bob+Premium Package for i)

準備

対象のソースコードを探してダウンロードする

IBM i への接続を設定する

関連ソースコードの扱い

CALL先や/COPYも自分で探してコピーする

ツールがライブラリやIFS上のソースコードを検索・参照する

IBM i 向けの強化

ツールの標準の対応範囲

IBM i 向けのモード・スキル・知識ベース(RAG)で強化される

向いている場面

数本のプログラムを試しに読ませたいとき

継続的に多くのソースコードを扱うとき

 

QSYS(ライブラリの中のソースファイル)やIFS(IBM i 上のファイルシステム)に直接アクセスできれば、コピーの手間がなくなります。

一方で、数本を試すだけなら、汎用ツールで十分な場合もあります。

汎用ツールでも、MCPやJDBC・ODBCを使った外部ツールを利用するか、自社で仕組みを作り込めば、IBM i とつなぐことはできます。

ただし、つなぐ機能だけでなく、IBM Bobで提供されているような「ガードレールと監査」(変更を適用する前の承認や、監査への対応など)への考慮も必要です。

詳しい比較はまた後日ブログでご紹介したいと考えています。

1本のRPGを読めるようになっても、それは入口にすぎません。

数千本規模の資産全体をつかむには、順番が大切です。

次の5つのステップで進めます。

  1. 棚卸し(件数の把握):ソースメンバー・ファイル・画面の数を、ライブラリごとに数えます。
  2. 呼び出し関係の集計:どのプログラムがどれを呼び、どのファイルを読み書きしているかを、ツールで機械的に集計します。
  3. AIで各プログラムの説明と仕様書を作成:集計結果を前提に、1本ずつ説明と仕様書の下書きを作ります。
  4. メニューフロー・業務フロー・ER図にまとめる:個々の説明をつなぎ、業務の流れとデータの関係を図にします。
  5. 現場へのヒアリングで補正:図と説明を現場の担当者に見てもらい、業務上の意味を補います。

自社で進める場合は、集計ツールの準備と、AI・確認の段取りを自分たちで組む必要があります。

当社の「AI資産分析アセット」は、この流れをまとめて行うサービスです。

お預かりするのは、IBM i のソースコード(SAVF)と、貴社ホームページの情報、ヒアリングの内容の3つです。

当社のAI解析ツールで現行の業務システムを一括で解析します。

解析と分析の結果に加えて、見えてきた課題と改善の提案までをお届けします。

 

  • AIでRPGのソースコードを解析できますか?
    できます。
    1本ごとの処理内容の説明や、仕様書の下書きまではAIで作れます。
    システム全体を把握するには、呼び出し関係の集計と、現場での確認が必要です。

  • RPGとはどういう言語ですか?
    IBM i(AS/400)で業務アプリケーションを作るための、IBMのプログラミング言語です。
    販売・在庫・会計などの基幹システムで広く使われています。

  • RPGⅢとILE RPG(RPGⅣ)の違いは何ですか?
    RPGⅢは桁の位置で意味が決まる固定形式で、プログラムは1本ずつ独立して動きます。
    ILE RPGはフリー形式でも書け、サブプロシージャーなどで処理を部品化して呼び出せます。

  • ChatGPTなどの汎用AIにRPGを読ませても大丈夫ですか?
    1本のソースコードを読ませて説明させることはできます。
    ただし、関連するソースコードがなければ全体の理解には限界があります。
    ソースコードを社外のサービスに送る前に、社内の情報管理ルールを確認してください。

  • AIで仕様書(設計書)を自動で作れますか?
    下書きは作れます。
    正式な設計書にするには、業務上の意味や前提を人が確認して補う必要があります。

  • AS/400の開発言語は何ですか?
    RPG・COBOL・CL(制御言語)が中心です。いずれもAIで解析する対象になります。 

  • AIでできること:RPGを1本ずつ読み、日本語の説明や仕様書の下書きを作ること。
  • AIだけではできないこと:呼び出し関係を含めた全体の把握と、業務上の意味の確認。
  • 進め方:棚卸し、集計、AIでの説明、図への整理、現場の確認の順で進めます。

1本ではなく資産全体を読み解くなら、まずは現状の見える化から始めるのが近道です。

 

※本記事は、弊社ブログや出典・参考記事の内容をもとに、編集部が作成しました。

「PVS One」では、IBM BobのライセンスをPVS Oneのサブスクリプションから消化・充当できるだけでなく、本記事のようなAIエージェントの検証を安全に行えるサンドボックス環境「PVS One for AIエージェント」や、「API-Bridge for AIエージェント」の無償利用特典をご用意しています。IBM iのAI活用や開発環境の効率化・検証環境についてご興味のある方は、ぜひお気軽にお問い合わせください。

>>PVS Oneに関するお問い合わせはこちら

株式会社MONO-X公式サイト
株式会社MONO-Xへのご相談・お問い合わせはこちら

最新記事の通知や配信をご希望の方は、ぜひ下記フォームよりメールマガジンにご登録ください。

[メルマガ登録フォームはこちら]