MENU

姿を現す「IBM iコード・アシスタント」◎ Part 1 なぜ今、IBM iコード・アシスタントが必要なのか

IBM iの世界において、生成AIの活用が「本番前夜」を迎えている。
その中で、とりわけ注目に値するのが、日本IBMが独自に進める
日本のRPGユーザーとCOBOLユーザーのための
「IBM iコード・アシスタント」である。同プロジェクトの中核メンバーである
日本IBMの茂木映典、井上忠宣、肥沼沙織の3氏に
IBM iコード・アシスタントの機能と、プロジェクトの進捗状況、
今後の方向性について解説してもらった。

RPGが内包する深刻な課題と
生成AIによる根本的な解決

IBM iを利用する多くの企業において、現在も数多くのRPG Ⅲ/ILE RPG/ILE COBOL資産が基幹システムを支えている。これらの資産は、長年にわたり企業の事業や強みに密着した形で進化を遂げてきた経緯があり、ビジネスにおける付加価値を創出する上で極めて価値の高い、かつ戦略的に重要な知的資産であると認識されている。

しかしながら、そうしたプログラムは数千本から数万本に及ぶことも珍しくなく、さらにコードを開発した当時の技術者が既に組織に在籍していないといったことも一般的になってきた。 

このような状況下では、既存システムの保守や改修が、現在の開発チームの重要な課題である。特に固定フォームRPG(RPG Ⅲ/ILE RPG)は、ほかのプログラミング言語とは一線を画す独自の記述スタイルを有しており、業務ロジックが高度に凝縮されている。

この特性は、業務ロジックを深く理解している熟練開発者にとっては効率的で有用性が高いが、その一方、業務に関する理解が浅い開発者やプログラミング初学者にとっては、コードを読み解きや修正を加えることのハードルが著しく高いという深刻な課題を内包している。

この課題の根本的な要因は、RPGが簡潔かつ効率的な記述を可能にする優れた特性を持つものの、業務内容とプログラム構造が密に結合しているため、業務プロセスを理解していないとロジックの読み解きが困難という点にある。

このような課題に対して根本的な解決策を提供するべく、日本IBMのPowerチームとwatsonxチームが共同で、日本独自の視点から立ち上げたプロジェクトが「IBM iコード・アシスタント・プロジェクト」である。最先端の生成AI技術を最大限に活用して、固定フォームRPG(RPG Ⅲ/ILE RPG)とCOBOL、および日本語に特化した包括的な支援機能を提供しようというのが、日本主導のローカルプロジェクトの主な目的である。

IBM watsonxCode Assistant for i
との違い・関係性

IBM watsonx Code Assistant for iは、IBM watsonxファミリーの1つとして正式に製品展開が計画されているコード・アシスタント・ツールである。初期リリース版は2025年10~12月期に発表が予定されている。

それとIBM iコード・アシスタントとの関係および相違点は、その役割と対象範囲においてある。

IBM iコード・アシスタントは、IBM watsonx Code Assistant for iがカバーしていない固定フォームのRPGコードのサポートや、日本ユーザーの要望を反映した機能の実装を目指している。

一方、IBM watsonx Code Assistant for iは、RPG/COBOL/CL/SQLコードの概要や詳細説明を生成する機能に加えて、自然言語からのコード生成や堅牢なテストコードの生成など、多岐にわたる機能を予定している。その主な目的は、アプリケーションのモダナイゼーションの包括的な支援である。

IBM watsonx Code Assistant for iは、Visual Studio Codeの拡張機能としてシームレスに動作するよう設計されている。ユーザーは提供されるチャット・ウインドウを通じて、コーディングに関わるさまざまな支援を自然言語で要求することが可能である。

本年に発表が予定されている初期リリース版では、製品の核となる以下の機能群が提供される見込みである。


・RPGコードの詳細な説明の自動生成機能

・RPGコード概要の自動生成機能

・RPGコードの具体的な使用方法に関する説明機能

そして、同じくVisual Studio Codeの拡張機能である「Code for IBM i」との緊密な連携により、Code for IBM iのパースペクティブ(カスタマイズされたユーザー・インターフェース) から直接、生成AIによる各種支援機能を呼び出すことが可能となり、開発者のワークロードの大幅な改善が期待されている。

IBM watsonx Code Assistant for iは、アプリケーション開発における次の5つのライフサイクル・フェーズ全体を包括的に支援することを想定している(図表1)。

1. 理解フェーズ

アプリケーション全体の構造や、関連する仕様書との連携性を深く理解することを支援する。

2. 説明フェーズ

複雑なコードを自然言語でわかりやすく説明し、高品質なドキュメントを効率的に作成する。

3. 生成フェーズ

新規アプリケーションのコードや既存アプリケーションの更新に必要なコードを自動的に生成する。

4. 単体テスト・フェーズ

生成されるコードの品質をより一層高めるため、単体テストプログラムを自動生成する。

5. 再構成と移行フェーズ

巨大なモノリシックなコードベースをモジュラー構造へと再構成し、古いバージョンのプログラミング言語やデータ定義から、より新しく、より価値の高い最新バージョンへの円滑な移行を支援する。

図表1 生成AIが支援するアプリケーションライフサイクル
図表1 生成AIが支援するアプリケーションライフサイクル

 

今後、これらライフサイクルの各フェーズに沿って、前述した説明生成機能に加えて、コード生成機能、テストコード生成機能、モノリシックなコードをモジュール単位で分割する機能、そして旧来形式のコードをより現代的なコードへと変換する機能など多岐にわたる機能が継続的に拡充されていく予定である。

IBM iコード・アシスタントも、IBM iアプリケーション用の開発支援ツールという点ではIBM watsonx Code Assistant for iと同じである。

2つのツールの相違点を図表2にまとめた。ただし、2025年8月時点のIBM watsonx Code Assistant for iとIBM iコード・アシスタントの情報であり、正式な製品リリース時には変更される可能性がある。

図表2 IBM watsonx Code Assistant for iとIBM iコード・アシスタントの相違点
図表2 IBM watsonx Code Assistant for iとIBM iコード・アシスタントの相違点

 

IBM iコード・アシスタントのコード説明機能は、ユーザーの個別具体的なニーズに合致した最適なアウトプットを生成できるよう高度なカスタマイズ機能の実装を目指している。この特徴により、ユーザー固有の要求に適合した、よりきめ細かなアウトプットの生成が可能になると考えられる。

またコード生成機能については、最も効率的かつ高精度な生成手法を確立するため、現在、試行錯誤が重ねられている段階である。[Part 2へ続く]

著者
茂木 映典

日本アイ・ビー・エム株式会社
テクノロジー事業本部
Power テクニカル・セールス

著者
井上 忠宣

日本アイ・ビー・エム株式会社
テクノロジー事業本部
watsonx事業部
データプラットフォーム・サブジェクトマターエキスパート

著者
肥沼 沙織

日本アイ・ビー・エム株式会社
テクノロジー事業本部
Power テクニカル・セールス

新着