はじめに
実線編ということで、IBM Bob + Z Open Editor:Agent mode を使用してどんなことができるかを見ていきたいと思います。
ここではとりあえずシンプルなシナリオを用いて具体的な利用イメージをつかむことを目的とします。
関連記事
VS Code - z/OS連携 (1)概要
VS Code - z/OS連携 (2)基本構成
VS Code - z/OS連携 (3)基本操作: ソース編集
VS Code - z/OS連携 (4)基本操作: JES操作など
VS Code - z/OS連携 (5)DBBユーザー・ビルド
VS Code - z/OS連携 (6)Advanced Capability
VS Code - z/OS連携 (7)AIエージェントの活用: 概要
VS Code - z/OS連携 (8)AIエージェントの活用: 実践編
実践編: IBM Bobを使ってみる
厳密に言うと IBM Bob は VS Code をベースにしてはいるものの、VS Code とは独立した別製品なのですが、まぁベースは一緒ということでここではIBM Bobを取り上げています。
先の記事で示した Z Open Editor の Advanced Capability に含まれる Agent Mode (MCPサーバー機能)と組み合わせることでどのようなことができるかを見ていきたいと思います。
ちなみに、AIエージェント機能で言えば VS Code の Extension として GitHub Copilot や Roo Code といった類似の機能もありますのでそちらを利用することも可能です。
全体像
当記事執筆時点(2026年5月時点)では、IBM Bobはインターネット接続が必須となっています(インターネッと経由でバックエンドのLLMを利用)。それ以外の構成(z/OSとの接続)については、関連記事で記載してきた内容と同様です。
将来的にはオンプレ版のIBM Bobも予定されているようです。
参考: IBM、エンタープライズ向けAI開発パートナー「IBM Bob」を発表:AI支援型コーディングから実運用可能なソフトウェアへ(2026年04月30日)
提供形態
IBM Bobは現在、SaaSとして一般提供されており、30日間の無償トライアルに加え、個人向けおよびエンタープライズ向けプランを用意しています。データ所在地や規制要件を持つ組織向けには、将来的にオンプレミスでの提供を予定しています。IBM Bobの詳細については、bob.ibm.com(英語)をご参照ください。
IBM Bob とは
参考:
エンタープライズ向けAIコーディング・エージェント
IBM Bobへようこそ
IBM Bob は VS Codeをベースとしたエンタープライズ向けのAI開発パートナーです。単なるコード補完ツールではなく、AIエージェントを利用して、要件整理・設計・実装・テスト・モダナイゼーション等開発ライフサイクルに関する多様なフェーズを支援することを目的としています。
ちなみにIBMさんは IBM Bob Premium Package for Z という製品も発表しています。
Introducing the IBM Bob Premium Package for Z private preview(2026年4月28日)
これは、メインフレーム(z/OS)アプリケーション向けの支援機能を強化したIBM Bobの拡張パッケージです。
当記事執筆時点(2026年5月)ではまだ正式リリース前の段階であるため、当記事ではベースのIBM Bobを使用して試しています。
構成
IBM Bobのインストール
IBM Bob は 基本的に有償の独立した製品であるため、アカウントを作成してプランを契約する必要があります。
※無料のTrialプランもあります。
その上で、IBM Bob をインストール、セットアップしておく必要があります。 AIエージェントがバックエンドで基盤モデルを呼び出すことになるので、インターネット接続も必要になります。
以下の手順に従ってIBM Bobのセットアップを行います。
z/OS連携用構成
参考:
Z Open Editor - Advanced Capability - Agent Mode
IBM Z Open Editor MCP Tools
ここでは、Z Open Editor の Advanced Capability に含まれる Agent Mode (MCPサーバー機能)を利用することとします。この構成を行うことにより、これまでの記事で紹介してきた Zowe Explorer + Z Open Editor で提供される機能を、IBM Bobのエージェントから利用しやすくなります。
Advanced Capabilityの有効化
IBM BobのベースはVS Codeと同様ですので、Zowe Explorer Extension、Z Open Editor Extension のインストールやセットアップ、Advanced Capabilityを有効化は、先の記事で示した内容に従って実施してください。
※ここではAdvanced CapabilityのAgent Modeを使う想定なので、IDz EE (IBM Developer for z/OS Enterprise Edition)、もしくは、ADFz (IBM Application Delivery Foundation for z/OS)のライセンスがあることが前提となります。
MCPサーバーの有効化
Z Open Editorの設定として「Mcp: Enabled」にチェックを入れます。

settings.jsonファイルで言うと、以下の設定になります。
...
"zopeneditor.mcp.enabled": true,
...
次に、MCPサーバーの設定ファイル.bob\mcp.jsonを作成し、Z Open EditorのMCPサーバーの構成情報を記述します。
{
"mcpServers": {
"zopeneditor-mcp": {
"url": "http://localhost:3015/mcp",
"type": "streamable-http",
"timeout": 600
}
}
}
MCPサーバーはローカルで稼働することになります。MCPサーバーをワークスペース単位で構成する場合、MCPサーバーの名前はバッティングしないように、zopeneditor-ではじまるユニークな名前にする必要があります(上の例だとzopeneditor-mcp)。また、ポート番号も他とバッティングしないユニークな番号にしておく必要があります(上の例だと3015)。
mcp.jsonを作成したら、IBM Bobを再起動 or ウィンドウの再読み込みを行います。
BOB Viewの右上の"設定"アイコンをクリックしてBobの設定画面を開きます。

Bobの設定画面でMCPを選択します。上で定義したMCPサーバーzopeneditor-mcpが表示されていることを確認します。接続エラーを示す赤いシグナルが表示されている場合、zopeneditor-mcpのタイルをクリックします。

zopeneditor-mcpの詳細画面が開くので、右上の"サーバーを再起動"アイコンをクリックします。

ツールのリストが表示されればOKです(MCPサーバーに接続して使用可能なツールの一覧が取得できたということ。

ちなみに、BobがZ Open Editorを起動したときにワークスペースの情報を読み込んでMCPサーバーの定義が検知されると自動で起動します。以下、Bobでワークスペースを開いた時の"IBM Z Open Editor MCP"のログ出力例です。

これでエージェントからZ Open EditorのMCPサーバーを使えるようになりました。
これはすなわち、エージェントに何か指示を与えた場合に、必要であれば、z/OS上のデータセットを参照したり、JCLをサブミットしたり、DBBユーザービルドする、ということを自律的に判断して実行することができるようになった、ということを意味します。
使用例1: Git管理されているCOBOLアプリケーションのメンテナンス
シンプルなCOBOLアプリケーションのサンプルを含むGit Repositryがあり、それをクローンしてBobでメンテナンスする、というケースを考えてみます。
先のDBBユーザー・ビルドの記事で示した構成を想定しています。
ここでは以下のリポジトリで提供されるCOBOLのサンプルソース(SAM1, SAM2)が含まれるリポジトリを扱うことにします。
https://github.com/IBM/zopeneditor-sample
シナリオ1-(1)仕様書生成
Git Repositoryに含まれるCOBOLソースを修正する必要があるシチュエーションを考えます。
実際のケースに照らし合わせて考えると、例えば関連ドキュメントは存在するものの、古くて実際のコードと整合性がとれていなかったり、一部のドキュメントは紛失してしまったりしている、ということもよく聞きます。
ですので、ソース改修にあたり、まずは現行のソースコードを解析してその実装内容を理解したいということがあると思います。
そのようなケースを想定して、COBOLソースコードから処理内容を説明する仕様書を生成させる、ということをBobにやらせてみます。
事前準備(AGENTS.md)
Bobでは、プロジェクト全般的に適用できる共通ルールのような情報は、ファイルとして事前に記述しておくことができます。そうすることで、逐一同じような指示を与えなくてもプロジェクトとしての標準化が図れます。
参考: AGENTS.mdファイルの使用
ここではAGENTS.mdというファイルを作成して、共通ルール、前提などを記述しておきます。例えば、こんな感じの記述をしておきます。
# 概要
- 当プロジェクトは、VS Codeを使用してCOBOLアプリケーションのメンテナンスを行うためのものです。
- z/OS関連の操作を行う場合は、zopeneditor-mcpを使用します。
- zowe.config.jsonには、検証に使用可能なz/OSテスト環境への接続情報が含まれています。
- 指定がなければ、.vscode/setting.jsonファイルのzopeneditor.zowe.defaultCliProfileに指定されているプロファイルを使用してz/OSに接続します。
## 仕様書生成
- 仕様書はSpecificationディレクトリ以下に、Markdown形式で生成します。
- 仕様書は基本的には1ソースに対して1つの仕様書を生成するようにします。
- 必要に応じてzopeneditor-mcpのツールを使用してソースの構造を理解します。
- COPYBOOKの仕様書は不要です。
- 複数プログラムに関する仕様書は各プログラムの仕様書とは別ファイルとします。
- パフォーマンス等の非機能についての情報、および、テストについての情報は不要です。純粋に機能的観点で記載してください。
※厳密にコントロールしたい場合は、より細かいルールや仕様書のテンプレートになるファイルを用意しておくなど追加の準備が必要になります。ここでは利用イメージをつかむためシンプルなルールのみを指定しています。
実行
さて、それでは実際に仕様書生成の指示を与えてみます。
Bob Viewで、以下のような指示を与えてみます。まず計画を立てさせてから実行するため、Planモードを選択しておきます。
COBOLディレクトリ配下の各プログラムの仕様書を作成してください。また、簡単なプログラム間の関係性を図示してください。
MCPサーバーのツール経由でプログラム制御フローを確認しようとしていますので承認します。(SAM1, SAM2それぞれツール利用)

最終的に、SAM1, SAM2それぞれの仕様書と、プログラム関係図が作成されました。

シナリオ1-(2)コード修正
最近、エンタープライズ向けの開発プロセスとしては、"仕様駆動開発"、すなわち、"仕様"を明確に定義してその"仕様"を元に設計、実装、テストなど開発サイクルを回していくという考え方が注目されています。IBM Bobが狙っているところも同様です。
コード修正を行うにしても、まずは上で作成した仕様書を修正して、その仕様書に基づいてコードを修正していく、というのが理想的な流れになるかと思います。
ですが、今回はイメージを掴むために、できるだけシンプルな形で自然言語による簡単な指示を与えてCOBOLソースを改修するシナリオを試してみます。
Planモードにて、以下の指示を与えてみます。
@/COBOL/SAM2.cbl の各パラグラフの先頭と末尾に、デバッグコードとしてDISPLAY文を挿入してください。
対象のソースの構造を確認して、ToDoリストが作成されました。

このままでよいので、「この計画で進めてください」を選択して継続支持を出します。

Codeモードに変更され、計画に基づいてコードの修正が行われます。

シナリオ1-(3)ビルド
IBM Bobでは、特定の定型的な指示を"コマンド"として定義しておくことで容易に実行させることができる仕組みが容易されています。
参考: カスタムコマンドの作成
ここでは、COBOLプログラムのビルド(コンパイル/リンク)処理をIBM Bobのカスタムコマンドとして定義し、実行してみたいと思います。なお、実際のビルドはDBBユーザービルドにより処理することを想定します(DBBユーザービルドのための構成は実施済の想定)。
事前準備(カスタムコマンド)
.bob\commands\フォルダ以下に、cob_user_build.mdというMarkdownファイルを作成します。このファイル名がコマンド名として認識されます。
---
description: z/OS上でCOBOLプログラムをビルドする
---
# Build Command
このコマンドは、指定されたCOBOLプログラムをz/OS上でビルドします。
z/OSに対するオペレーションはzopeneditor-mcpを使用します。
## 実行内容
1. 指定されたプログラムについてフルアップロードでUser Buildを実行します。
2. ダウンロードされたビルド結果、および、コンパイル、リンクエディットのログを確認します。
3. エラーが含まれる場合はエラー内容、および、解決案を提示します。
## 使用方法
/cob_user_build [プログラム名]
実行
MCPを使用してユーザービルドを実行することになるので、Advancedモードで実行します。
Bob viewの入力エリアに/(スラッシュ)を入力すると、コマンドのリストが表示されるので、"/cob_user_build"を選択します。

コマンドに続けて引数としてビルドしたいソースを指定して実行します。

コマンドに紐づくMarkdownの指示に従ってビルド処理が行われます。ここでは、期待通りMCPのDBBユーザービルド用のツール使用が選択されています。

ビルドに失敗した場合は、エラーの状況やログなどの情報を元に、原因特定や解決策提示などでAIエージェントを活用することもできます。
使用例2: z/OS上のCOBOLアプリケーションのメンテナンス
オープン系のシステムでは、使用例1で示したシナリオのように、アプリケーションのソースはGitで管理されていてPC上にクローンを作成してメンテナンスする、というのが自然な形態になろうかと思われます。AIエージェントもこのような形態で管理を行うことを想定して各種機能が提供されていますので、メインフレームのアプリケーションもこのような形態に倣うことでAIエージェントを活用しやすくなる、と言えます。
逆に言えば、メインフレームのアプリケーション開発サイクルにおいてAIエージェントをより効果的に活用するためには、アプリケーションのソースはGitで管理するよう変革していくべきであろうと思います。
とはいえ、現実的にはGitに移行するには大きなハードルがあることも多いため、z/OS上に各リソースが存在している(Gitは使用していない)という前提で、上の「使用例1」と同じシナリオをAIエージェントを使ってどのように実行できるか、というのを試してみたいと思います。
シナリオ2-(1)仕様書生成
z/OS上に、COBOLソース、および、COPYBOOKを配置しておきます。

COPYBOOKの探索パスをzapp.yamlファイルに追記しておきます。
...
propertyGroups:
- name: cobol-copybooks
language: cobol
libraries:
- name: syslib
type: mvs
locations:
- DEV01.TEST01.COPY
...
一時ファイル保持用にtempディレクトリを作成しておき、Planモードで以下の指示を与えてみます。
z/OS上のDEV01.TEST01.COBOLデータセット配下の各プログラムの仕様書を作成してください。また、簡単なプログラム間の関係性を図示してください。
なお、ローカルに一時ファイルを作成する必要がある場合は、tempディレクトリ以下を使用してください。
MCP経由でソース、および、COPYBOOKがダウンロードされ、ToDoリストが作成されました。

最終的に、SAM1, SAM2それぞれの仕様書と、プログラム関係図が作成されました。

シナリオ2-(2)コード修正
z/OS上のPDSメンバーDEV01.TEST01.COBOL(SAM2)のコードを修正させてみます。
Planモードにて、以下の指示を与えてみます。
z/OS上のDEV01.TEST01.COBOL(SAM2)の各パラグラフの先頭と末尾に、デバッグコードとしてDISPLAY文を挿入してください。
なお、ローカルに一時ファイルを作成する必要がある場合は、tempディレクトリ以下を使用してください。
Advancedモードに変更され、計画に基づいてダウンロードされたソースのコード修正が行われます。

シナリオ2-(3)ビルド
DBBユーザービルドは、VS CodeのZ Open Editorから実行するだけでなく、USS上でスクリプトをキックすることもできます。ただ、その場合USS上にソースや関連ファイルを転送する必要があり、それらを手動で実行するのはあまりスマートではありません。
ここでは、DBBは使わずに旧来からの方法としてよく使用されているJCLにてコンパイル/リンクを行うということをやらせてみます。雛形となる汎用的なJCLを用意しておき、それを使ってコンパイル/リンクを実行させてみます。
例えば、以下のようなCOBOLのコンパイル/リンク用JCLテンプレートを用意しておきます。
//COBCL JOB (ACCT),'COBOL COMPILE',CLASS=A,MSGCLASS=H,
// NOTIFY=&SYSUID,REGION=0M
//*
//* COBOL Compile, Link and Run JCL Template
//*
// SET MEMBER=xxxxxxxx
// SET COBOLHLQ=IGY.V6R5M0
// SET CEEHLQ=CEE
// SET WORKHLQ=DEV01.TEST01
// SET CPARM='LIB,OBJECT,LIST,MAP,XREF,RENT'
// SET LPARM='MAP,RENT,LIST,XREF'
//*
//********************************************************************
//* Step 1: COBOL Compile
//********************************************************************
//COMPILE EXEC PGM=IGYCRCTL,
// PARM='&CPARM'
//STEPLIB DD DSN=&COBOLHLQ..SIGYCOMP,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN DD DSN=&WORKHLQ..COBOL(&MEMBER),DISP=SHR
//SYSLIN DD DSN=&WORKHLQ..OBJ(&MEMBER),DISP=SHR
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT7 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT8 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT9 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT10 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT11 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT12 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT13 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT14 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT15 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSMDECK DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSLIB DD DSN=&WORKHLQ..COPY,DISP=SHR
//*
//********************************************************************
//* Step 2: Link Edit
//********************************************************************
//LKED EXEC PGM=IEWBLINK,
// PARM='&LPARM',
// COND=(4,LT,COMPILE)
//SYSPRINT DD SYSOUT=*
//SYSLIN DD DSN=&WORKHLQ..OBJ(&MEMBER),DISP=SHR
//SYSLMOD DD DSN=&WORKHLQ..LOAD(&MEMBER),DISP=SHR
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSLIB DD DSN=&WORKHLQ..OBJ,DISP=SHR
// DD DSN=&CEEHLQ..SCEELKED,DISP=SHR
//*
上で改修したDEV01.TEST01.COBOL(SAM2)をビルドするために、Planモードで以下の指示を与えてみます。
z/OS上のCOBOLソースDEV01.TEST01.COBOL(SAM2)を、コンパイル、リンク/エディットするJCLをDEV01.TEST01.JCL(TSAM2)として作成してください。JCL作成時にはDEV01.TEST01.COBOL(COBCL)をテンプレートとして改修して使用してください。
また、作成したJCLをサブミットし、結果を確認してください。
ソース、COPYBOOK、JCLテンプレート、出力先データセットなどを一通り確認し、ToDoリストが作成されました。

ビルド用のタスク(JCL作成/Submit)が完了しました。

まとめ
Z Open Editor の Advanced Capability で提供される Agent Mode(MCPサーバー機能)を使用することで、IBM Bob(AIエージェント)とz/OSがどのように連携できるか具体的に試してみました。
z/OS関連操作を含むアプリケーション開発プロセスにおけるAIエージェント活用のイメージがなんとなく理解いただけたのではないでしょうか。
一応Git無しの状況(z/OS上にソースが管理されている状況)でもある程度の操作をAIエージェントから行えることはわかりました。ただ、やはりリモート上のリソースを扱うのは1クッション挟むことになるので細かいところで融通が利きにくくなりそうです。例えば上の例ではz/OS上のソースやJCLを編集する操作が含まれますが、MCP経由で実行する場合その操作は以下のステップを踏むことになります。
- 対象ファイルのダウンロード
- ローカルでファイルを編集
- 編集したファイルのアップロード
VS CodeのZowe Explorer経由でz/OS上のデータセットを開いて編集して保存する場合、内部的には同じ操作が行われていますが、それをMCPのツールとして個別に実施することになる、という訳です。そのため、ローカルでの一時的なワーク用ディレクトリやそのごみ掃除なども考慮しなければいけないかもしれません。
特に大規模/複雑になりがちなメインフレームアプリケーションだと、その辺りの管理もより煩雑になりそうです。
既存のソース管理の運用とどのように関係するのかも気になる所です。
Git管理の場合、基本的にはリポジトリの単位で管理が行われ、ローカルにクローンしたものを扱うということでAIエージェントに限らずVS Codeベースのツールとの相性はよく、一般的に広く使用されている拡張機能も利用しやすく、活用の幅はだいぶ広がるものと考えられます。(ただし、先にも示したようにGitに移行するのはそれなりにハードルが高い作業にはなるのですが。)
スモール・スタートでどの程度AIエージェントが活用できそうかをまず見極めるというところでは、z/OS上にあるものを扱う前提で考えるのもアリかもしれませんが、本格的にAIエージェントの活用を想定するのであれば、やはりGit管理というのは前提になってくるであろうと考えます。
ここで示した例は、AIエージェント活用の流れを理解するためにできるだけシンプルなケースで試していましたが、現実的には様々な制約や要件が絡み合うと思いますので、前提条件や補足情報の充足、成果物を標準化するためのテンプレートの使用、処理結果の精度を高めるための指示の明確化などを含め、創意工夫/試行錯誤が必要になると思います。
この辺りを補填してくれるであろう ALSEA というソリューションも発表されており、今後提供される予定となっています。
参考: 日本IBM、エンタープライズ向け仕様駆動開発のためのコンテキスト標準ソリューション「AI Lifecycle Shared Engineering Artifacts:ALSEA」を開発(2026年04月14日)
◾️エンタープライズ向け仕様駆動のためのコンテキスト標準ソリューション「ALSEA」
日本IBMは長年にわたり蓄積してきた大規模システム開発のメソッドやノウハウ、標準プロセス、成果物テンプレート、ルール、ガイドを、IBM Bobが理解・活用可能な「コンテキスト」として体系化し、エンタープライズ向け仕様駆動開発のための標準基盤としてALSEAを開発しました。開発に必要な標準的なコンテキストをALSEAとして提供することで、AIを組織として正しく動かし、大規模プロジェクトにおいても全面的にAIが主体となり、人は設計・監督に集中する開発を可能にします。
また、今後メインフレーム向け支援機能を強化した拡張パッケージとして IBM Bob Premium Package for Z の提供も予定されています。
参考: Introducing the IBM Bob Premium Package for Z private preview(2026年4月28日)
機会があればこの辺りも試していければと思います。
























