1
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+MCP+スキルでSPSS Modelerストリームを自動生成

1
Posted at

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-docsclemb が有効になっていることを確認してください。
image.png

2. スキルの確認

spss-model-build スキルが Bob に登録されていることを確認します。このスキルには以下のようなストリームを作成する手順が定義されています。

  • CSV 構造の把握手順
  • モデル種別の自動判定ロジック
  • Jython スクリプトの生成ルール(ノード配置・プロパティ設定)

image.png


実行手順

ステップ1: プロンプトの入力

Bob に以下のプロンプトを投入します。スキルに手順が定義されているため、細かい指示は不要です。

SPSS Modeler の店舗別日次需要予測ストリームを構築してください。

- 販売実績(01pos.csv)を取り込み、日付・店舗単位に売上数量を日次集計する
- カレンダーマスタ(02calendar.csv)を取り込み、日付キーで販売実績と突合・結合する
- 店舗ごとに、祝日・販促・長期休暇・イベントの4フラグもつかって、
  売上数量合計を時系列で予測するモデルをつくる
- 3日先まで予測する
- 2025年12月以降の予測期間データのみ抽出し、実績値と予測値を折れ線グラフで可視化する

image.png

ステップ2: スキルのロードと CSV 構造確認

Bob はまず spss-model-build スキルをロードします。
image.png

、続いて 2 つの CSV を読み込んでデータ構造を把握します。

  • 01pos.csv:SDATE(販売日)/ 店舗 / 商品 / 数量 などのカラムを確認
  • 02calendar.csv:祝日フラグ / 販促フラグ / 長期休暇フラグ / イベントフラグ の存在を確認

image.png

ステップ3: Jython スクリプトの生成

CSV 構造をもとに build_forecast.py を自動生成します。
image.png

生成されるJythonスクリプトは以下の通りです。

image.png

ステップ4: clemb による実行

spss-clemb MCP を通じて build_forecast.py を SPSS Modeler にバッチ実行させます。

image.png

スキルの定義に従い、実行ログを確認してエラーがあれば修正・再実行します。今回はエラーなく一発で通りました。


実行結果(今回のケース)

今回はエラーなく一発で通りました。ただしデータ構造やノード構成によっては失敗することもあります。その場合はスキルを育てて対処します(後述)。

Exit Code: 0 — 全工程 正常完了
ステップ 内容 結果
① POS 読み込み 01pos.csvvariablefile
② 日次集計 SDATE × 店舗 キーで 数量 を Sum ✅ 1,462 レコード
③ カレンダー結合 02calendar.csv を SDATE キーで 結合
④ フィールド型定義 売上数量=Target, 店舗=分割, フラグ×4=Flag
⑤ 時系列予測 Expert Modeler + フラグ4個を events に指定 ✅ 13秒
⑥ 期間フィルタ SDATE >= "2025-12-01" で抽出
⑦ グラフ出力 線グラフ で店舗別パネル(実績値 + 予測値)
⑧ ストリーム保存 store_forecast.str に保存

ストリームの確認

image.png

store_forecast.str を SPSS Modeler で開くと、Bob が生成したストリームをそのまま確認・再実行できます。

image.png

グラフはバッチモードでは画面表示されないため、Modeler 上で 折れ線グラフ ノードを右クリック → 「実行」で確認してください。

image.png


まとめ

項目 内容
所要時間 プロンプト投入〜ストリーム完成まで 約5分
人間の作業 プロンプト入力 + ツール承認クリックのみ
Bob の作業 CSV 構造確認 → Jython 生成 → clemb 実行 → 結果報告

IBM Bob の MCP(ibm-docs / spss-clemb)とスキル(spss-model-build)を組み合わせると、プロンプトだけでストリームのたたき台が手に入ります

もちろん、あらゆるストリームをそのまま作れるわけではありません。複雑なカスタム処理や特殊なノード構成では対応しきれないこともあります。ただ、プロトタイプを素早く作って動作イメージを確認する、あるいはたたき台のストリームを生成して人手で仕上げるといった用途には十分に役立ちます。予測日数の変更・集計粒度の変更なども、プロンプトを書き換えるだけで試せます。ぜひ活用してみてください。

スキルの育て方

今回は特に問題が起きずに実行できましたが、スキルに定義されていないノードの処理や想定外のデータ構造が出てくると途中で何度か失敗することもあります。うまくいかず苦労して作り上げた場合には、以下のようなプロンプトでスキルをアップデートしていくことができます。

今回のエラー内容と対処法を spss-model-build スキルに反映して

Bob がスキルファイル(SKILL.md)を直接編集し、次回以降の実行に活かせる形で知識を蓄積してくれます。失敗を繰り返すたびにスキルが賢くなっていく、自己改善ループが実現できます。


参考リンク

1
0
0

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
1
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?