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

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

第3回:IBM BobでSPAを開発③カスタムモードを使う

はじめに

IBM Bobのアーリーアクセス版を使用したSPA開発試行の3回目です。これまで、標準で用意されている PlanモードCodeモードを使用しましたが、今度は独自のルールを定義して作成できるカスタムモードを使用してみます。


カスタムモードの特徴

カスタムモードを作成することで、Bobの振る舞いを特定のタスクやプロジェクトの規約に適合させることができます。


特定の役割の付与: 「アクセシビリティ専門のレビュアー」「SQL最適化エンジニア」「特定の社内フレームワークに精通したシニアエンジニア」などの役割を定義できます。

独自のルールの徹底: 「変数は必ずキャメルケースにする」「コメントは必ず英語で書く」「特定のライブラリ以外は使用禁止」といった細かい制約を強制できます。

使用ツールの制限: モードごとに「ファイル読み込み(read)は許可するが、コマンド実行(command)は禁止する」といったツールの制御が可能です。


カスタムモードの設定方法

カスタムモードは、定義ファイルの保存場所により、グローバルモードまたはプロジェクト固有モードとして作成します。

  • グローバルモード
    • 全てのワークスペースで利用可能
    • ユーザのホームディレクトリ下に"custom_modes.yaml"として保存される。
      (Windows11では"$env:HOMEPATH\AppData\Roaming\Bob-IDE\User\globalStorage\ibm.bob-code\settings"ディレクトリ内)
  • プロジェクト固有モード
    • プロジェクトのワークスペース内のみで利用可能
    • プロジェクトのディレクトリ下に".bobmodes"として保存される。
    • グローバルモードより優先される。

カスタムモードの作成

定義ファイルは、Bob IDEのサイドバーに表示されるBobパネルから作成できます。

1.

右上の「...」をクリックして表示されるメニューから「モード」を選択します。

モード選択メニュー
2.

完了ボタンの下にある「新しいモードを作成」をクリックします。

新しいモードを作成
3.

入力フォームに定義を入力して、「モードを作成」をクリックします。

モード作成フォーム

例では、VueのSPAとモックAPIを作成できるカスタムモードをグローバルモードで定義しています。
以下のように"custom_modes.yaml"ファイルに保存されます。

custom_modes.yamlの定義例

アプリケーション開発

TODO管理アプリの仕様を使って、カスタムモードでもSPAを開発してみます。

カスタムモードでタスク開始

1.

チャット入力欄を作成した"VueSPA"モードにして、@キーで表示されるメニューから"Add File"を選択して、"仕様書.md"ファイルを指定してプロンプトを送信します。

プロンプトの送信
2.

Bobから仕様書を解析した結果が返信されます。仕様書に技術スタックを指定しなくてもカスタムモードから読み取ったVueでSPAを開発するTODOリストが作成されます。

TODOリストの作成
3.

プロンプト送信時に読み取りと書き込みは自動承認を有効にしているため、チェックポイント毎にTODOリスト更新の承認を行いながら実装処理を進めます。

タスク完了

最後に実施した作業内容がまとめられた完了報告が表示されます。

完了報告の表示

動作確認

生成されたSETUP.mdファイルの「インストール手順」に従ってアプリケーションを実行します。

バックエンドのインストールと開発サーバ起動

バックエンドのインストール

フロントエンドのインストールと開発サーバ起動

フロントエンドのインストール

ブラウザからhttp://localhost:3000にアクセスして動作確認できます。

ブラウザでの動作確認

まとめ

カスタムモードを作成することで、Bobの振る舞いを特定のタスクやプロジェクトの規約に適合させることが可能になると思われます。
今回の試用で、カスタムモードの役割の定義にバックエンドのモックAPIにJSONServerの使用を指定しても実装されなかったなど、定義の改善の助けとなるリファレンスドキュメントの充実に期待します。


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

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

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

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

関連コラム

関連ソリューション

関連事例

お問い合わせ

CONTACT

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