IBM Bob+MCP+スキルでSPSS Modelerストリームを自動生成
はじめに
IBM Bob(IBM の AI コーディングアシスタント)を使って、SPSS Modeler のストリームを自動作成してみました。
SPSS Modeler は通常、ノードをGUIでキャンバスに配置・接続してストリームを組み上げていきます。一方でSPSS Modeler には Jython スクリプトでこの GUI 操作をそのまま自動化できる機能があり、ノードの生成・接続・プロパティ設定をコードで表現できます。今回はこの仕組みを活用し、Bob にストリームのたたき台を生成させます。プロンプト1つから Jython スクリプト生成 → SPSS Modeler 実行 → ストリーム保存まで一気に進みます。もちろん複雑な処理はそのまま作れないこともありますが、動くたたき台をすばやく手に入れるという目的には十分使えます。その手順と仕組みをまとめます。
本記事は、同じ構成(ibm-docs MCP + spss-clemb MCP)を紹介した IBM Bob+カスタムMCPでSPSS Modelerストリームを自動生成 をベースに、Bob スキル(spss-model-build) を加えることで、プロンプトをシンプルにしつつエラー修正ループや ibm-docs 参照もスキル側に任せる構成を試した記録です。
構成概要
Bob に拡張機能として MCP と スキル の3つを組み合わせて使います。
| コンポーネント | 種別 | 役割 |
|---|---|---|
| ibm-docs MCP | MCP サーバー | IBM 公式ドキュメントをリアルタイムで検索・参照。SPSS Modeler のノードプロパティや API 仕様を Bob に提供する |
| spss-clemb MCP | MCP サーバー | SPSS Modeler の実行を Bob から直接呼び出せるようにする。Jython スクリプトをコマンドラインで実行し、ストリーム構築・保存をバッチ処理する |
| spss-model-build スキル | Bob スキル | 「CSV からモデルを構築する」手順を定義したプロンプト定義ファイル。CSV 構造の把握 → モデル種別判定 → Jython スクリプト生成 → clemb 実行 の一連の流れを Bob に指示する。わからないことがあれば ibm-docs MCP でドキュメントを調べ、実行が失敗したらログを確認して修正・再実行するよう定義されている |
| 入力 | 内容 |
|---|---|
01pos.csv |
販売実績(日付・店舗・商品・数量など) |
02calendar.csv |
カレンダーマスタ(祝日・販促・長期休暇・イベントフラグ) |
出力例(ファイル名や構成はプロンプト・データ内容によって変わります)
| 出力 | 内容 |
|---|---|
store_forecast.str |
SPSS Modeler ストリーム |
build_forecast.py |
生成元 Jython スクリプト |
build_forecast.log |
実行ログ |
テスト環境
OS: Windows 11
SPSS Modeler: 19.0
IBM Bob: 2.1.0
事前準備
0. スキルとサンプルデータのダウンロード
今回使用するスキルとサンプルデータは GitHub で公開しています。以下のいずれかの方法で取得してください。
Git を使う場合
git clone https://github.com/hkwd/260903DemandForecastTranSPSSStreamBob.git
cd 260903DemandForecastTranSPSSStreamBob
ZIP でダウンロードする場合
https://github.com/hkwd/260903DemandForecastTranSPSSStreamBob を開き、Code → Download ZIP でダウンロードして展開してください。
展開後のフォルダに以下が含まれていることを確認してください。
| ファイル / フォルダ | 内容 |
|---|---|
01pos.csv |
販売実績サンプルデータ |
02calendar.csv |
カレンダーマスタサンプルデータ |
.bob/skills/spss-model-build/ |
Bob スキル定義(SKILL.md) |
1. MCP サーバーの登録
PowerShell でインストールスクリプトを実行するだけで登録できます。
ibm-docs MCP(IBM 公式ドキュメントを参照)
# スクリプトをダウンロードして実行
irm https://raw.githubusercontent.com/hkwd/ibm-docs-mcp/main/install-ibm-docs-mcp.ps1 | iex
spss-clemb MCP(SPSS Modeler の clemb.exe を呼び出す)
# スクリプトをダウンロードして実行
irm https://raw.githubusercontent.com/hkwd/spss-clemb-mcp/main/install-spss-clemb-mcp.ps1 | iex
インストール後、Bob の MCP 一覧で ibm-docs と clemb が有効になっていることを確認してください。

2. スキルの確認
spss-model-build スキルが Bob に登録されていることを確認します。このスキルには以下のようなストリームを作成する手順が定義されています。
- CSV 構造の把握手順
- モデル種別の自動判定ロジック
- Jython スクリプトの生成ルール(ノード配置・プロパティ設定)
実行手順
ステップ1: プロンプトの入力
Bob に以下のプロンプトを投入します。スキルに手順が定義されているため、細かい指示は不要です。
SPSS Modeler の店舗別日次需要予測ストリームを構築してください。
- 販売実績(01pos.csv)を取り込み、日付・店舗単位に売上数量を日次集計する
- カレンダーマスタ(02calendar.csv)を取り込み、日付キーで販売実績と突合・結合する
- 店舗ごとに、祝日・販促・長期休暇・イベントの4フラグもつかって、
売上数量合計を時系列で予測するモデルをつくる
- 3日先まで予測する
- 2025年12月以降の予測期間データのみ抽出し、実績値と予測値を折れ線グラフで可視化する
ステップ2: スキルのロードと CSV 構造確認
Bob はまず spss-model-build スキルをロードします。

、続いて 2 つの CSV を読み込んでデータ構造を把握します。
-
01pos.csv:SDATE(販売日)/ 店舗 / 商品 / 数量 などのカラムを確認 -
02calendar.csv:祝日フラグ / 販促フラグ / 長期休暇フラグ / イベントフラグ の存在を確認
ステップ3: Jython スクリプトの生成
CSV 構造をもとに build_forecast.py を自動生成します。

生成されるJythonスクリプトは以下の通りです。
ステップ4: clemb による実行
spss-clemb MCP を通じて build_forecast.py を SPSS Modeler にバッチ実行させます。
スキルの定義に従い、実行ログを確認してエラーがあれば修正・再実行します。今回はエラーなく一発で通りました。
実行結果(今回のケース)
今回はエラーなく一発で通りました。ただしデータ構造やノード構成によっては失敗することもあります。その場合はスキルを育てて対処します(後述)。
Exit Code: 0 — 全工程 正常完了
| ステップ | 内容 | 結果 |
|---|---|---|
| ① POS 読み込み |
01pos.csv → variablefile
|
✅ |
| ② 日次集計 |
SDATE × 店舗 キーで 数量 を Sum |
✅ 1,462 レコード |
| ③ カレンダー結合 |
02calendar.csv を SDATE キーで 結合
|
✅ |
| ④ フィールド型定義 | 売上数量=Target, 店舗=分割, フラグ×4=Flag | ✅ |
| ⑤ 時系列予測 | Expert Modeler + フラグ4個を events に指定 | ✅ 13秒 |
| ⑥ 期間フィルタ |
SDATE >= "2025-12-01" で抽出 |
✅ |
| ⑦ グラフ出力 |
線グラフ で店舗別パネル(実績値 + 予測値) |
✅ |
| ⑧ ストリーム保存 |
store_forecast.str に保存 |
✅ |
ストリームの確認
store_forecast.str を SPSS Modeler で開くと、Bob が生成したストリームをそのまま確認・再実行できます。
グラフはバッチモードでは画面表示されないため、Modeler 上で 折れ線グラフ ノードを右クリック → 「実行」で確認してください。
まとめ
| 項目 | 内容 |
|---|---|
| 所要時間 | プロンプト投入〜ストリーム完成まで 約5分 |
| 人間の作業 | プロンプト入力 + ツール承認クリックのみ |
| Bob の作業 | CSV 構造確認 → Jython 生成 → clemb 実行 → 結果報告 |
IBM Bob の MCP(ibm-docs / spss-clemb)とスキル(spss-model-build)を組み合わせると、プロンプトだけでストリームのたたき台が手に入ります。
もちろん、あらゆるストリームをそのまま作れるわけではありません。複雑なカスタム処理や特殊なノード構成では対応しきれないこともあります。ただ、プロトタイプを素早く作って動作イメージを確認する、あるいはたたき台のストリームを生成して人手で仕上げるといった用途には十分に役立ちます。予測日数の変更・集計粒度の変更なども、プロンプトを書き換えるだけで試せます。ぜひ活用してみてください。
スキルの育て方
今回は特に問題が起きずに実行できましたが、スキルに定義されていないノードの処理や想定外のデータ構造が出てくると途中で何度か失敗することもあります。うまくいかず苦労して作り上げた場合には、以下のようなプロンプトでスキルをアップデートしていくことができます。
今回のエラー内容と対処法を spss-model-build スキルに反映して
Bob がスキルファイル(SKILL.md)を直接編集し、次回以降の実行に活かせる形で知識を蓄積してくれます。失敗を繰り返すたびにスキルが賢くなっていく、自己改善ループが実現できます。
参考リンク







