複雑な機能の計画と実装
IBM BobのPlanモードを使用して、AIコーディングエージェントで複雑な機能のスコープを定義し、レビューし、実装します。計画プロンプトの書き方、生成された計画の改善、Agentモードでの実装の実行方法を学びます。
このチュートリアルでは、BobのPlanモードを使用して、Galaxium Travelsデモアプリケーションに座席クラスを追加するための構造化された実装計画を作成します。その後、計画を承認し、Bobにフロントエンド、バックエンド、データベース層全体で機能を実装させます。
このチュートリアルでは、効果的な計画プロンプトの書き方、生成された計画をレビューする際に注目すべき点、Bobがコードを書く前に計画を反復する方法を学びます。
前提条件
Planモードを使用する理由
Bobは自律的なエージェントです。曖昧なプロンプトを使用すると、Bobは独自の仮定でギャップを埋めます。これらの仮定は、技術的に正確であっても、あなたの意図と一致しない可能性があります。
計画を作成すると、Bobはスコープ、アーキテクチャの決定、順序付けられた実装ステップを記述するMarkdownファイルのセットを生成します。計画は実装から分離されているため、Bobがコードを書く前に、それを読み、質問し、改善することができます。
環境のセットアップ
Galaxium Travelsのデモコードをクローンします。cloneコマンドは、チュートリアルで使用するコードを含むbob-learning-path-branchもチェックアウトします。
git clone -b bob-learning-path-branch https://github.com/IBM/galaxium-travelsBobでFileをクリックし、次にOpen Folderをクリックします。
クローンしたgalaxium-travelsディレクトリに移動して開きます。
プロジェクトでBobを初期化する
BobチャットパネルでBobにルートAGENTS.mdファイルとルールAGENTS.mdファイルを作成させるために/initを実行します。
ルートAGENTS.mdファイルは、Bobにプロジェクトの全体的な構造、規約、目標を伝え、Bobがプロジェクトに適合するコードを書けるようにします。これがないと、Bobはステートレスであるため、毎回最初から始めます。
.bobのルールファイルは、BobがAgent、Plan、Askの各モードのAGENTS.mdを作成する場所です。各モードには、そのモードでのBobの動作を導く異なるルールセットがあります。
/initBobはAGENTS.mdファイルを作成する許可を求めます。Approve todo tools for taskをクリックしてファイルを作成します。
Planプロンプトの書き方
Planモードで書くプロンプトは、Bobが作業する仕様になります。曖昧なプロンプトは曖昧な計画を生成します。入力する前に、次の4つの質問に答えてください:
- 機能は何をし、何をしないのか? 明示的なスコープは、Bobが要求していない作業を追加するのを防ぎます。
- 機能はどの層に触れるか? 例えば、UI、API、データベース。
- どのような制約が適用されるか? ファイル数の制限、命名規則、後方互換性の要件、およびBobが交渉不可能として扱うべきその他のもの。
- 「完了」とはどのような状態か? 具体的な受け入れ基準。例えば、「ユーザーは予約時にEconomy、Business、またはGalaxiumクラスを選択できる」は、Bobに明確な目標を与えます。
計画の生成
Planモードを使用して、座席クラス機能を実装する際にBobが従う計画を作成します。
エージェントチャットサイドバーを開く
チャットインターフェースが閉じている場合は、ナビゲーションバーの横にあるBobアイコンをクリックするか、ショートカットOption + Command + B(Mac)またはCtrl + Alt + B(Windows)を使用して開きます。

計画を作成する
入力フィールドで次のプロンプトを実行します。プロンプトは、Planプロンプトの書き方セクションのスコーピング原則を適用します:変更する層を指定し、ファイル数の制限を設定し、管理ダッシュボードを除外し、受け入れ基準を述べます。
BobはCreate planスキルを実行できるように、スキルツールとサブエージェントを使用する許可を求めます。Approve skill tools for taskとApprove subagent tools for taskをクリックしてリクエストを承認します。
Galaxium Travelsに座席クラスを追加したいです。乗客はフライトを予約する際にEconomy、Business、またはGalaxiumクラスを選択できるようにする必要があります。
スコープ:
- 座席クラスセレクターを表示するように予約UIを更新する
- 選択されたクラスを受け入れて保存するようにバックエンド予約APIを更新する
- bookingsテーブルにseat_class列を追加するようにデータベーススキーマを更新する
- 管理ダッシュボードの変更は追加しない — それはスコープ外です
制約:
- galaxium-travelsフォルダーに`plans`というフォルダーを作成する
- 3つ以上の計画ファイルを作成しない
- データベースの変更を後方互換性のあるものにする
完了条件:ユーザーが予約時に座席クラスを選択でき、選択されたクラスが予約確認に保存され表示される。次のスクリーンショットは、Bobがあなたの意図を理解するために明確化の質問をしている様子を示しています。プロンプトの書き方によって質問は異なる場合があります。質問に答えるか、Bobに最適なオプションを選択するように指示してください。

Bobが完了すると、計画ファイルを書く承認を要求します。Approve edit tools for taskをクリックします。
BobはMarkdownファイルとしてplansフォルダーに計画ファイルを配置します。計画ファイル名は異なる場合があります。
/galaxium-travels/plans/seat-class-plan.md計画のレビュー
計画ファイルは、Bobが構築する仕様です。plansフォルダーにある計画をレビューして、提案された変更を理解します。
計画をレビューする際は、次の点に注目してください:
- スコープの一致: 計画には要求したすべてが含まれていますか?要求していないものが含まれていますか?
- 曖昧な言葉: 「必要に応じて追加」や「適切に更新」などのフレーズを探します。これらは暗黙の仮定です。承認する前に、具体的な指示に置き換えてください。
- 名前付きファイル: 各ステップは、触れるファイルを特定する必要があります。ステップが「予約コンポーネントを更新」と言っているがファイルを指定していない場合は、Bobにより具体的にするよう依頼してください。
計画の反復
計画があなたの意図と一致しない場合は、同じPlanモードの会話でBobに修正を依頼してください。最初からやり直す必要はありません。
例えば、前のステップでBobが生成した計画は、各クラスの色やバッジについて具体的ではありませんでした。
b. Apply a distinct colour or badge per class (e.g. grey for Economy, gold for Business, cosmic-gradient for Galaxium) consistent with the existing status colour patternこれを修正するには、次のプロンプトを実行して各クラスの色を明示的に設定します:
各クラスに次の色を指定するように計画を更新してください:
- Economy: green
- Business: gold
- Galaxium: cosmic-gradientあなたの計画には同じ問題がないかもしれません。計画をレビューし、気づいた曖昧な言葉を明確にするか、欠けている詳細を追加するようBobに依頼してください。
新機能の実装
新しい会話を開始する
チャットインターフェースの上部にあるプラス記号をクリックして、新しい会話を開始し、コンテキストウィンドウをクリアします。

新しい会話を開始すると、コンテキストウィンドウがクリアされます:
- 以前の計画の議論がトークン予算を消費するのを防ぎます。
- 実装コンテキストを承認された計画に集中させます。
- Bobが計画と実装の指示を混同するリスクを減らします。
Agentモードに切り替える
モードセレクターからAgentを選択してAgentモードに切り替えます。
機能を構築する
機能を実装するために次のプロンプトを送信します:
plansフォルダーの機能を構築してください
@plans/@plans/参照はフォルダー内のすべての計画を参照するため、ファイルを個別に指定する必要はありません。
次のスクリーンショットは、plansフォルダーの例を示しています:

BobはApprove todo tools for taskとApprove edit tools for taskを求めます。両方のリクエストを承認してください。
予約UI、バックエンドAPI、データベース全体に座席クラスのサポートを追加し、Economy、Business、Galaxiumクラスのオプションがシステム全体に反映されました。
次のステップ
このチュートリアルでは、スコープを定義した計画プロンプトの書き方、生成された計画のギャップや曖昧な言葉のレビュー、意図に一致するまで計画を反復する方法、クリーンなコンテキストウィンドウで承認された仕様を実装する方法を学びました。
Bobの動作を標準化するに進んで、Bobの動作を制御するカスタムルールの作成について学びます。
新しいコンテキストウィンドウを作成するでBobのコンテキストウィンドウの仕組みを学び、新しい会話を開始することで実装品質が向上する理由を理解します。
Bob機能を追加するを探索して、プロジェクトでBobができることを拡張します。
