連載コラム:IBM BobでAIエージェント開発を試してみた

連載コラム:IBM BobでAIエージェント開発を試してみた

第10回:IBM Bobを活用し、モダナイゼーションをAI協働型にする

はじめに

AIが自律的に全システムをモダナイズしてくれる世界は、案外早く来るかもしれません。しかし、現在のところ、確率論で動くAIに、複雑なシステムの移行をすべて任せることはできません。エンタープライズレベルの大規模なモダナイゼーションにおいては、ルールベースの確実性とAIの生産性・柔軟性を賢く組み合わせながら進めていくのが現実的なアプローチです。


本稿では、IBM Bobを活用し、既存のモダナイゼーション作業をAI協働型に変えていく取り組みを紹介します。

ルールベースコンバーターのモダナイズ

Bobを使った小さな一歩として、20年前から使い続けているJCLからShellへのルールベースコンバーターをモダナイズすることにしました。

課題と解決策

従来のツールは、VBAで作成していました。ツールが対応していないプロジェクト固有の変換仕様が見つかると、ツールごと複製して追加作成していたため、ツールそのものは40本に増え、変換ステップも複雑になっていました。


このVBAのツールをPythonに変換して、MCPサーバー経由でエージェント実行可能な形にモダナイズしました。

従来の手法とIBM BobによるAI対応(MCPサーバー)の比較

Pythonの採用理由は、下表の観点です。

観点バツ 従来(VBA)チェック 新方式(Python)
実行環境 Windows依存、Excel起動前提 Windows、Linux、macOS対応、コンテナ環境での並列実行可能
変換技術 単純な文字列置換、精度が低い 変換処理に必要な高度なテキスト処理のライブラリが豊富
強力なパーサーを利用でき、コードをツリー構造として正確に把握・操作でき、変換精度が向上
ソース管理 Excelバイナリ形式、Git管理が難しい テキストベース、GitHub管理とコードレビューが容易
AI親和性 外部APIに依存 AI活用のための主要なフレームワークはPythonが最優先で提供
テスト・CI/CD テスト自動化が難しい 自動テスト、CI/CDパイプラインへの組み込みが容易
ツール実行 マニュアル実行型。20~30本のツールを実行するため、作業が複雑 MCP化し、AIエージェント経由で自動呼び出し
技術負債 プロジェクトごとに固有の変換仕様が増えると、ツールごと複製して作り足していたため重複コードが多い リファクタリングによる重複コードの削減

実装の詳細

1. Pythonへのモダナイズ

今回の検証では、oletoolsとopenpyxlを使って既存ツールからVBAコードを抽出し、そのテキストをBobに入力しました。Bobは、作成計画を立て、Pythonプログラムへ変換を実施しました。

IBM Bobによる分析設計書からのタスク分解とTodoリスト生成画面

品質担保のため、既存ツールの出力をコンペア対象に指定してテストしました。下図のように、Bobがコンペア迄実施してくれました。差分が出た箇所はBobに修正させ、最終的にコンペア一致を確認してPython化を完了しました。

IBM Bobによるテスト実行と差分検出の自動コンペア画面

2. MCP(Model Context Protocol)化

Python化したツールを、BobのMCPに組み込むことで、Bobが利用可能なツールとして認識できる状態にします。

fastMCPを用いてMCPサーバーを作成しました。

fastMCPを用いたMCPサーバーのローカル起動コマンドプロンプト画面

組織的に作成した変換機能を@mcp.tool()として登録し、tools/listで登録状態を確認しています。

MCPサーバーとの疎通確認結果および登録ツール一覧の表示画面

3. AIエージェント化

MCPを介して、AIエージェント経由でツールを呼び出せるようにします。これにより、エンジニアはBobへ変換依頼を行うだけで、実作業を進められる運用に近づきます。

AIエージェントによるJCLからシェルスクリプトへの自動変換実行結果画面

4. 重複コードの削減・手作業プロセスの自動化

上述は実験ですが、実際には正しく動作することを確認した後、重複する関数を共通ライブラリとして切り出し、各ツールから呼び出せるように、リファクタリングすることで、コードの重複を削減しています。また、これまでツール化の対象にせず手作業で変換していた箇所もPythonで実装可能なものはツール化しています。

取り組みと今後の展望

今回、ご紹介したのはごく一部ですが、コンバーター改善以外にも、以下のような取り組みをしています。

モダナイゼーション開発プロセスへの組み込み:当社の強みであるE@MSEXERA®などのモダナイゼーションフレームワーク(階層型DBやネットワークDB、大規模オンラインのトランザクション制御に対応)のカスタマイズやテストをAI協働型開発モデルに組み込みます。


小規模な変換やマイナー言語のリライト:小規模なアプリケーションやアセンブラなどの技術者を多くアサインすることが難しい言語は、AIでリライトしてレビュー、修正します。

また、レガシーシステムを以下のようにモダナイゼーションすることを考えています。

  • 持続可能性:システムをAI-Readyな状態(データ連携・拡張性・ガバナンス)にします。

  • 自動化:AI Opsによる運用自動化を行います。

  • 知識継承:AIによるコード解読とコンテキスト付加。設計仕様書をMarkdownで可視化し、ベテランの知見をナレッジベース化して次世代へ繋ぎます。

IBM Bobを活用したAI協働型モダナイゼーションの取り組みは、まだ始まったばかりですが、継続的に改善しながら、より多くのプロジェクトで成果を出していきたいです。


※ 記載の製品名及び社名は各社の商標もしくは登録商標です。
※ IBM、ibm.comは、米国やその他の国におけるInternational Business Machines Corporationの商標または登録商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点でのIBMの商標リストについては、ibm.com/trademarkをご覧ください。
※ EXERA®は株式会社エクサの登録商標です。

執筆者:
IBM Bob検証コミュニティ(基盤システム本部 モダナイゼーション部 代表編集)

連載コラム:IBM BobでAIエージェント開発を試してみた

エクサでは、様々なAIエージェントを検証していますが、セキュリティや規制が厳しいエンタープライズの基幹システム構築やレガシーモダナイゼーションにも適用可能な選択肢として、間もなく正式版が公開されるIBM Bobの活用も視野に入れています。
公開に先立ち、アーリーアクセス版を試用しましたので、その過程を共有します。

関連コラム

関連ソリューション

関連事例

お問い合わせ

CONTACT

Webからのお問い合わせ
エクサの最新情報と
セミナー案内を
お届けします