RPGコード生成とIBM i のエージェント型AIの将来
IBMは、Watsonx Code Assistant for i に関して着実に歩みを進めているようです。WCA for i は、来月にはパブリック プレビューとして利用可能になろうとしています。また、IBMはRPGコードの生成に関していくつかの課題に直面しているようですが、IBM i におけるエージェント型AIの長期的な展望は、かつてないほど明るいということです。
以前の記事でお伝えしたように、現在、IBMは、WCA for i のパブリック プレビューを利用できることになるユーザーのリストアップを行っています( こちらで登録できます)。IBM i CTOのSteve Will氏によれば、パブリック プレビューでは、この製品で目標とされているAIコパイロット機能の第一陣として、RPGコードを理解する機能が提供されるということです。
IBM DE(ディスティングイッシュド エンジニア)でIBM i チーフ アーキテクトでもあるWill氏は、 COMMONのPOWERUp 2025カンファレンス(先月、アナハイムで開催)での『 IT Jungle 』のインタビューで、WCA for i プロジェクトの進捗状況や、開発チームが直面している課題について詳しく話してくれました。
「WCA for i に求められていた様々なことについての理解が深まったため、そういう意味では、範囲は広がっています」とWill氏は述べています。「しかし、十分に理解できていないことは、自分でもあらかじめ分かっていました。これまでに、このようなものを作ったことはありませんでした。そして、これらのことを行うために、どのようにモデルをトレーニングしたらよいのか学ぶ必要があることは承知していました。」
Will氏が コーディング コパイロット プロジェクトについて初めて公表した のは、1年前のテキサス州フォートワースでのPOWERUp 2024カンファレンスでのことでしたが、IBMは、Will氏が明らかにした機能デリバリーのスケジュールを概ね守っているようです。
1つ目の目標は、WCA for i でコード説明機能を提供することでした。コード説明機能は、プログラマー向けの詳細説明、ビジネスレベル サマリー、用法の説明、そしてドキュメント生成(ソース コードへ挿入可能)という4つのサブコンポーネントから成ります。7月に利用可能となるWCA for i のパブリック プレビュー リリースでは、これらのコード説明機能は、VS Code向けに提供されることになります。Rational Developer for i(RDi)のサポートは、現時点では予定されていません。

Will氏は、WCA for i で、まずはコード説明がある程度のレベルに達してから、テスト ケース生成およびRPGコード生成という他の2つのコンポーネントに進むようにしたいとしています。
「そのことが、現在、コード説明に集中的に取り組んでいる理由の1つであり、実際には、思ったよりも順調に進んでいます」とWill氏は述べています。「しかし、そうした生成機能に着手するまでには、少し時間が掛かることになりそうです。」
Will氏は、現時点で製品GA(一般提供開始)が予定されている年末までに、彼のIBMチームが、WCA for i で一部のRPGコード生成機能を提供することに期待を持っています。しかし、まだまだ流動的だとも述べており、そのコンポーネントが製品に追加されるのはもっと後になるかもしれないことを匂わせています。
「年末までに一部の生成機能を準備できればと思っていますが、製品のGAまでに間に合うかどうかは、はっきりとは分かりません」とWill氏は述べています。「さらに数か月掛かることもあるかもしれません。しかし、もう1年待ってから、もうひとつの大きなGAを行うようにするつもりはありません。モデルをトレーニングし、それを使用するためのユーザー インターフェースを作成しながら、これらを公開するだけです。」
WCA for i は、Watsonx Code Assistant for Z(System Zで使用される主要言語であるCOBOLの理解および生成のためにメインフレーム グループが開発)など、他のWCA製品をモデルにして作られました。RPGもCOBOLも非常に古くからある手続き型言語ですが、RPGとCOBOLには、構造上、著しい違いがあり、そのことが、Will氏のグループの学習曲線に影響を及ぼしています。
RPG向けのコーディング コパイロットの開発に目を向けてきたRPGエキスパートは、Will氏率いるIBMの開発者グループだけではありません。 Fresche Solutions 社も、ラボ研究で、RPGを理解するようにLLMをトレーニングすることを試みました。Fresche社CTO(最高技術責任者)のJohn Clark氏によれば、その試みはうまく行かなかったことから、 X-Analysisの最新アップデートでは、直接RPGでLLMをトレーニングしないこととし、 Anthropic社のClaude(業界でもコーディング タスクに最適と広く認められているLLMの1つ)のようなサードパーティ モデルのネイティブのコード理解機能が利用されます。
「RPGには本当に苦戦しました」と、Clark氏は先日のインタビューで『 IT Jungle 』に述べています。「課題が生まれるのは、常に、RPGの暗黙的と言われる側面です。たとえば、RPGサイクルを考えてみてください。それを、これらのLLMが理解するのは容易ではありません。また、データ域のように、常に使用されているいくつかの重要な特徴的概念についても考えてみてください。LLMは、そのような概念や、それによってどのようなことが起こるのかを理解するのに苦労するわけです。」
ディズニーランド ホテルでのブリーフィングで、Clark氏の発言を伝えられ、これらの課題を認めてWill氏は頷きます。「RPGに関わっている他の人がそう言うのは意外ではありません」とWill氏は述べています。「私たちはWatson Code Assistコアからのコンポーネントを使用しています。そして、Watson Code Assistコアは、数多くの手続き型言語をかなりよく知っています。RPGは、他の手続き型言語と比べて非常に異なるため、別のやり方で行う必要があることや、別のやり方でトレーニングする必要があることがいくつかありました。」
IBMがGraniteモデルにフィードしてきたRPGコードは1,000万行以上に上ると、IBMのIBM i アプリケーション開発ツール担当リードのEdmund Reinhardt氏はPOWERUp 2025のセッションで述べています。IBMは、さらに多くのRPGコード、特に、「古い、醜い」RPG IIおよびRPG IIIコードを必要としています。つまり、IBMが顧客にどうにかモダナイズしてもらいたいと思っている、レガシーなIBM i アプリケーションのかなりの部分を動かしているようなコードです。
Will氏によれば、WCA for i のRPG理解機能の面は、予想よりも順調だということです。コード生成は年末までに準備できないかもしれませんが、それは問題ではないとWill氏は断言します。
「これを行うために何が必要になるのか分かりませんでした。そのため、RPGが内部的にどのように構築され、使用されているかについて、豊富な内部の知識が得られて良かったですし、どのように使用されてきたかについてよく分かっているプライベート プレビューの参加者を頼りに、それを利用できることも良かったと思います」と彼は述べています。
「ぜひともお伝えしたいことがあります。もっと多くの方に、もっと古いRPGを寄贈、提供していただく必要があります。というのは、それが固定フォーマット(それを理解するようにモデルのトレーニングが必要)だからというだけではなく、以前のバージョンのRPGには、他の言語にはないもの(F仕様書や、どのようなものなのか私も知らない他の仕様書)があったからでもあります。そして、少なくとも、何を意味するかを理解するようにモデルをトレーニングして、それを説明できるようにならなければなりません。」
RPGは、WCA for i の現在の最重点項目ですが、IBMは、間もなくWCA for i での他のIBM i 言語のサポートにも目を向けるでしょう。すなわち、SQL、CL、およびCOBOL(メインフレームのCOBOLとは似て非なるもの)です。
「モデルによるSQLの説明のレベルがどの程度なのかはまだ確認していません。Graniteモデルは概ねそうであるので、かなりのレベルだろうと予想されますが、それをテストしていないため、支援を求めることになると思われます」とWill氏は述べています。「CLの説明機能を開発するなら、いずれはCLでモデルをトレーニングすることが必要となります。それだけでそれが分かるようになるのではありません。そして、IBM i のCOBOLは、ZのCOBOLとは異なるため、IBM i のCOBOLのサンプルが必要になるのです。」
WCA for i は、アプリケーション モダナイゼーション タスク向けの強力なツールになりそうです。ドキュメント化されていない古いRPGコードを理解し、それをモダンなフリーフォーマットILE RPGコードとして再生する機能は、レガシーIBM i アプリケーションについて打開策が見えないでいる何千ものIBM i 顧客にとって渡りに船に他ならないでしょう。同様に、AIは、顧客がより古いDDSデータ定義をモダナイズしてより新しいSQLベースのDDLを使用するのを支援することができます。
また、Will氏は、モダナイゼーション ツール ベンダーによるWCA for i の使用についても目を向けています。
「現在からGAまでの間に、私たちはモダナイゼーション ベンダーと話をして、彼らに試用してもらう機会を設ける必要があります」とWill氏は述べています。「彼らは、いきなり最初から使用できると思っているでしょうか。APIレベルのサポートを必要とするでしょうか。私には分かりません。私たち以外の人(つまりIBMの人間ではない人)が、私たちが行っていない一定のことを行う余地があるというのはもっともだと思います。そのため、彼らがこれを活用できるようにすることができればと思います。それでも、それはWCA for i をベースにして構築されなければならないでしょう。」
RPG、SQL、CL、およびCOBOLコーディング コパイロットの開発が完了したら、IBMは、次なる目玉(Next Big Thing)である、エージェント型AIに狙いを定める運命にあるようです。Will氏および彼のビジネス アーキテクトは、IBM i がMCP(モデル コンテキスト プロトコル)をサポートするかどうか、どのようにサポートするのかということについて、すでに検討を行っています(MCPは、Anthropic社が6か月前にリリースしたばかりの新しい標準規格で、AIアプリケーションおよびAIツールがデータにアクセスするための繰り返し可能な方法を提供します)。
AIエージェントを使用してIBM i における幅広い管理タスクを自動化できる可能性は、実に興味をそそられるものですが、AI技術開発が急速に進んでいるおかげで、予想よりもずっと早く現実のものとなるかもしれません。
「これに対する私の考えは、MCPに基づいて構築されたツールを利用できるMCPクライアントがすでにあることは承知しており、SQLサービス、IBM i サービスをすべてエージェントに変えることは大したことではないということです」とWill氏は述べています。「私たちが行う必要があるのは、サーバーを構築するのに何が必要か把握し、それをすべて明らかにすることでしょう。そして、パートナーは、彼らのツールをそのサーバー上のどこに置いたらよいのでしょうか。どこなら合理的でしょうか。」
「これは、私たちがSQLサービス、IBM i サービスを開発したときに行ったことに似ています」とWill氏は続けます。「私たちは、NavigatorおよびACSが、普通のインターフェースを通じてこれらのことをすべて行えるようにする簡単な方法を提供して、それらすべてを、私たちだけでなく、誰もが利用できるようにしました。エージェント機能でも同じようにして、誰もがアクセスできるべき情報を普通のやり方で利用できるようにしたいと思っています。」
正直者は馬鹿を見るという諺があります。1年前にWCA for i プロジェクトを始めたときに、Will氏は、目標をやや絞り過ぎていたのかもしれません。技術の春の季節を迎えてAIエージェントの世界も花盛りとなり、IBM i プラットフォーム全体が今にも全面的にAI化されようとしているかのようです。IBMは、まずは1つか2つのエージェント型AIのユース ケースから始めるでしょうが、そこで止まることはもちろんないとWill氏は述べています。
完全に自動化されたビジネス システムを実現できる可能性に、これほどまでに近付いたことはありません。それが最初に生み出されるのが、IBMロチェスター ラボからである可能性もあるというのは驚きです。トーマス・ワトソン・ジュニアだったら、何を思うでしょうか。