3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【IBM Bob & Premium Package for i】IBM i 活用プロンプトガイド

3
Last updated at Posted at 2026-08-13

このドキュメントは、IBM Bob(以降、Bob)とPremium Package for iを組み合わせて使用する際のIBM Bobへのプロンプトの例をご紹介しています。Bobを目の前にして、「さて、どうしよう…」「どんなリクエストをすればいいんだろう?」と迷ってしまう方に役立つガイドです。Premium Package for iを導入されていないBobユーザーの方やこれからBobを使ってみようという方にも参考になると思います。

無料で始めてみましょう
無料トライアルでは30日間40Bobコインまで利用ができます。 申し込みはこちら 
Bobコインを追加する必要がある場合は、こちらから少額よりご購入いただけます。

IBM Bob Premium Package for i とは

Bob の AI 機能を IBM i アプリケーション開発環境に拡張するプレミアムパッケージです。Bob に IBM i への直接アクセスを与えることで、コード生成・説明・コンパイル・テスト・ドキュメント作成・レガシーアプリケーションのモダナイゼーションまで、アプリケーションライフサイクル全体を支援します。

機能 説明
IBM i モード IBM i 開発に特化した AI ペルソナ(IBM i Developer / IBM i Database)
ソースコード連携 QSYS・IFS のソース読み書き、CL コマンド・SQL・PASE の直接実行
スキル RPG・CL・DDS・Db2・テストをカバーする専門知識の組み込みライブラリー
ワークフロー RPG モダナイゼーション・ビジネスルール抽出・ユニットテスト・SQL インデックス最適化

Premium Package for iのスキル・ツール・ワークフローについては、こちらの記事を参考にしてください。


モードの選び方 — 3 ステップで始める

Step 1. モードを選択する
チャット下部のモード切替から IBM i Developer(コード生成・コンパイル・テスト・ドキュメント)または IBM i Database(SQL生成・チューニング・Db2レビュー)を選んでください。Bob が自動的に IBM i 接続情報をコンテキストに挿入します。

Step 2. ソースをエディターで開くか参照先を指定する
QSYS メンバー・IFS ストリームファイル・ローカルファイルのいずれでも OK。Bob はアクティブなファイルを自動的に参照するほか、mylib/qrpglesrc(hello) のようにパスで指定することもできます。また、@メンションでファイルを指定することもできます。チャット入力欄で @ を入力するとファイルピッカーが表示され、分析・参照させたいファイルを選択してコンテキストに追加できます。

指定方法 使い方
アクティブファイル自動参照 エディターで対象ファイルを開いておくと Bob が自動でコンテキストに含める
パス直接記述 MYLIB/QRPGLESRC(HELLO) のようにプロンプト内に記述する
@メンション チャット欄で @ を入力 → ファイルピッカーで選択

💡 複数ファイルを同時に @ メンションすることもできます。例:@ORDHDR @ORDLINE の連携を説明して

ライブラリーリスト ワークスペースでメンションを使ってみましたが、ライブラリーリスト上にあるライブラリーをピックしてくれただけでした。それでもライブラリーをピックして、メンバー名を指定したら上手く読み込んでくれました。

Step 3. 下のテンプレートを貼って送る
シナリオに合ったプロンプトをコピーし、必要な箇所だけ書き換えて Bob に送信します。一発で完璧でなくても大丈夫。続けて追加指示できます。


プロンプトテンプレート

1. 既存プログラムの仕様書起こし RPG / COBOL IBM i Developer

QSYS メンバーや IFS ストリームファイルの RPG / COBOL ソースを渡して、そのまま仕様書を生成します。Bob は read_member ツールまたは read_stream_file ツールで直接ソースメンバーを読み取ります。

このプログラムを読んで、以下の形式で仕様書を作成してください。

【形式】
1. プログラム概要(目的・処理の全体像)
2. 入力(パラメータ・呼び出し元・使用ファイル一覧)
3. 出力(更新・作成するファイル・戻り値)
4. 主要処理フロー(番号付き手順)
5. エラー処理・例外条件
6. 他プログラム/サービスプログラムとの依存関係

出力は Markdown 形式でお願いします。

💡 「このプログラムは MYLIB/QRPGLESRC(HELLO) にあります」と補足すると、Bob が read_member ツールで直接読み取ります。


2. テーブル定義からのデータ仕様書 DDS / DDL IBM i Database

DDS ファイルや CREATE TABLE 文を元に、フィールド一覧・キー構造・リレーションを整理した仕様書を作ります。Bob は search_qsys ツールや execute_sql_statement ツールを使ってライブのメタデータも参照できます。

このファイル定義(DDS または CREATE TABLE)を元に、
データ仕様書を以下の形式で作成してください。

【形式】
- テーブルの目的と業務上の役割
- フィールド一覧(フィールド名 / データ型 / 桁数 / 制約 / 業務的な意味)
- キー構造とアクセスパス(論理ファイル・インデックス)
- 他テーブルとのリレーション(推測できる範囲で)
- 主な更新タイミングと更新プログラム(分かる範囲で)

💡 IBM i Database モードでは /erd MYLIB スラッシュコマンドを使うと、ライブラリー内のテーブルの ER図を Mermaid図として自動生成できます。


3. CL プログラムのジョブ仕様書 CL IBM i Developer

バッチジョブの CL プログラムから、運用担当者向けのジョブ仕様書・手順書を作成します。Bob は fetch_cl_command_doc ツールで CL コマンドの公式ドキュメントも参照します。

この CL プログラムについて、運用仕様書を作成してください。

【含めてほしい内容】
- ジョブの目的と実行タイミング(日次・月次・オンデマンド など)
- 前提条件(依存ジョブ・ファイル存在チェック など)
- 実行手順(コマンド単位で何をしているかを平易に説明)
- 異常終了時の動作とリカバリ方法
- 実行ログ・メッセージキューへの出力内容
- パラメータ一覧(あれば)

💡 「運用担当者向けに、技術的な用語はなるべく平易に説明してください」と付け加えると、非エンジニア向けの文体になります。


4. 改修時の変更仕様書(差分) 全言語 IBM i Developer

改修要件を伝えると、変更箇所・影響範囲・テスト観点をまとめた変更仕様書を作成します。Bob は search_qsys ツールで関連プログラムを横断して検索することもできます。

現行のプログラムと以下の変更要件を踏まえ、変更仕様書を作成してください。

【変更要件】
(ここに変更内容を記載してください)

【出力形式】
- 変更の背景と目的
- 変更箇所の特定(サブルーチン名・行番号など)
- 変更前後の処理比較(表形式)
- 影響範囲(呼び出し元・関連ファイル・他プログラム)
- テスト観点(正常系・異常系)

💡 要件が曖昧なときは先に「この要件をどう実装すべきか相談したい」と送ると、実装方針の提案から始めてもらえます。


5. 画面・帳票の機能仕様書 DSPF / PRTF IBM i Developer

ディスプレイファイルや プリンターファイルの定義から、画面仕様書・帳票仕様書を作成します。

このファイル定義(DSPF または PRTF)を元に、
画面仕様書(または帳票仕様書)を作成してください。

【含めてほしい内容】
- 画面/帳票の目的と利用シーン
- フィールド一覧(フィールド名 / 表示位置 / 入出力区分 / バリデーション)
- ファンクションキー一覧と動作(DSPF の場合)
- エラーメッセージ一覧
- 呼び出し元プログラムとの連携方法(パラメータの受け渡し)

💡 「画面イメージをテキスト図で作成してください」と追加すると、レイアウトの概略図も生成できます。


6. プログラム間の連携図・依存関係整理 全言語 IBM i Developer

複数のプログラムが関係する処理について、呼び出し関係や依存関係を整理します。Bob は search_qsys ツールでライブラリー内を横断検索して関係を特定します。

このプログラムを起点に、関連するプログラム・ファイル・
サービスプログラムの依存関係を整理してください。

【出力形式】
- 呼び出し階層(このプログラムが呼ぶもの/呼ばれるもの)
- 使用ファイル一覧(読み取り専用 / 更新 / 作成 を区別)
- 共有データエリア・データキューの使用状況(あれば)
- テキスト形式の連携図(Mermaid 記法で作成してください)

💡 Mermaid 記法で出力してもらうと、VSCode の Markdown プレビューやそのままチャットで図として表示できます。


おまけ

RPG モダナイゼーション(ワークフロー) RPG IBM i Developer

OPM RPG → ILE 変換、または ILE 固定フォーマット → フリーフォーマット への変換を自動的に実行します。チャット上部の「Start Workflow」ボタンから開始してください。

このワークフローは ローカル または ライブラリーリスト ワークスペースで利用できます。また、IBM i に接続している必要があります。

Workflow.png

💡 OPM RPG(RPG II・III・400)と ILE 固定フォーマットの両方に対応しています。この違いは自動的に検出されます。

このフローに従って変換、コンパイルされます。
img_1786518456037.png


ビジネスルール抽出(ワークフロー) RPGLE IBM i Developer

ビジネスルール抽出ワークフローはRPGLEソースメンバーのみに対応しています

RPGLE / SQLRPGLE ソースを分析し、業務ルール・意思決定ロジック・検証ロジックを Mermaid 図付きの Markdown レポートとして抽出します。

このワークフローは ローカルIFSホームディレクトリーライブラリーリスト ワークスペースで利用できます。

Workflow2.png

このワークフローによって作成されたドキュメントには、以下の項目が含まれています。
1.エクゼクティブサマリー
2.詳細ビジネスルール
3.エラーチェックと例外処理
4.処理上のルール
5.判断ロジック
6.データ整合性ルール
7.業務プロセスフロー
8.前提条件と注記

RPGソースコードから抽出したビジネスルールを8章に整理しており、①概要、②画面制御・処理ロジック・ステータス管理の詳細ルール、③入力検証・例外処理、④計算式、⑤判断分岐フロー、⑥使用されているファイルのデータ整合性要件、⑦Mermaidフロー図付きの業務プロセス全体フロー、⑧確認済みルール・推論ルール・曖昧点・技術制限の注記、で構成されたドキュメントです。
レポートは、IFS上の接続ユーザーのホームディレクトリーに保存されます。

💡 並列サブエージェントが各プロシージャ・サブルーチンを同時分析するため、ステップ数が多いプログラムでも高速に処理されます。


ER図(エンティティ関係図)生成(スラッシュコマンド) SQL / DDS /erd IBM i Database

IBM i Database / Developer モードで /erd コマンドを使うと、指定したライブラリーまたはテーブルの ER図 を Mermaid 形式で自動生成します。

/erd MYLIB
/erd MYAPP.ORDERS
/erd MYPROJ/CUSTOMER

ここでも@'メンション'が利用できます。
スクリーンショット 2026-08-13 10.16.57.png

💡 QSYS2.SYSTABLESSYSCOLUMNSSYSREFCST を自動的に照会し、PK・FK・UQ マーカーを含む正確な ER図 を生成します。


Bob が使う主な IBM i ツール

プロンプトを送ると Bob が自動でこれらのツールを呼び出します。ツールの承認設定は Bob の設定で変更できます。

ツール名 用途 利用可能なモード
read_member QSYS 内のソースメンバーを読み取る Developer / Database
search_qsys QSYS 内のライブラリー・オブジェクト・メンバーを検索(regex も可) Developer / Database
write_member QSYS 内にソースメンバーを作成・上書きする Developer
read_stream_file IFS 内のストリームファイルを読み取る Developer
execute_cl_command IBM i 上で CL コマンドを実行する Developer
execute_sql_statement IBM i 上で SQL ステートメントを実行する Developer / Database
execute_pase_command IBM i 上で PASE コマンドを実行する Developer
convert_rpg_source CVTRPGSRC で RPG III/400 ソースを RPG IV 形式に変換する Developer
get_compile_actions / execute_compile_action Code for IBM i のアクションを使ってソースをコンパイルする Developer
generate_rpg_unit_test_stub RPGLE の exported procedure から RPGUnit テストスタブを生成する Developer
run_rpg_unit_test_suite RPGUnit テストスイートをコンパイル・実行する(code coverage 対応) Developer
search_ibm_i_docs_with_rag 公式 IBM i ドキュメントを RAG でセマンティック検索する Developer / Database
fetch_cl_command_doc CL コマンドの公式ドキュメントを取得する Developer / Database
search_sql_examples / fetch_sql_example Db2 for i の SQL 使用例を検索・取得する Developer / Database

精度を上げる Tips

ポイント 説明と例
適切なモードを選ぶ コード生成・コンパイル・テストは「IBM i Developer」、SQL作成・Db2チューニングは「IBM i Database」を使うと Bob の専門知識が最大限に活きます。
ソースパスを明示する 「MYLIB/QRPGLESRC(HELLO) を読んで」と指定すると Bob が read_member で直接読み取ります。ローカルファイルはエディターで開くと自動的に参照されます。
出力形式を指定する 「Markdown 形式で」「Word に貼り付ける想定で平文で」「Mermaid 図で」のように使い道に合わせて形式を伝えると整った出力になります。
対象読者を伝える 「開発者向けに技術的詳細も含めて」「運用担当者向けに平易な言葉で」のように読み手を指定すると文体と粒度が変わります。
ワークフロー vs プロンプト RPG モダナイゼーション・ビジネスルール抽出・テスト計画・SQL インデックス最適化は専用ワークフローを使うと多段階処理を自動化できます。
スラッシュコマンドを活用 チャットで / を入力すると IBM i 固有のコマンド一覧が表示されます。/erd/review_SQL は繰り返し使えます。
言語・形式を明示する 「これは ILE RPG のプログラムです」「DDS の論理ファイルです」と先に一言添えると、適切なスキルが自動的に読み込まれます。
追加質問で育てる 一発で完璧でなくても大丈夫。「〇〇の部分を詳しく」「エラー処理だけ書き直して」「表形式に変えて」のように続けて指示できます。

よく使う追加指示フレーズ

フレーズ 効果
〇〇の部分だけ詳しく説明して 特定セクションを深掘りする
表形式に変えて 箇条書きをテーブルに変換する
もっと平易な言葉で書き直して 非エンジニア向けに文体を変える
テスト観点を追加して 仕様書にテストケースを付け足す
Mermaid のフローチャートで処理フローを図にして 処理フローを図として出力する
英語でも同じ内容を作って 英語版仕様書を生成する
この仕様書をレビューして不足がないか確認して 生成済み仕様書の品質チェック
/erd MYLIB ライブラリーのテーブル ER図を Mermaid 形式で生成する
/review_SQL [ステートメント] SQL を包括的にレビューする(IBM i Database モード)
このコードを free-format RPGLE にモダナイズして RPG モダナイゼーション ワークフローを起動する
このプログラムのビジネスルールを抽出して Business Rules Extraction ワークフローを起動する

3
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?