Exit Plan Mode ツール (exit_plan_mode)
このドキュメントでは、Qwen Code の exit_plan_mode ツールについて説明します。
概要
実装計画の提示を完了し、プランモードから抜け出したい場合に exit_plan_mode を使用します。このツールは、ユーザーに対して計画の承認または却下を促し、プランモードから実装モードへと移行します。
このツールは、コードを書く前に実装手順を計画する必要があるタスク専用に設計されています。調査や情報収集などのタスクには使用しないでください。
引数
exit_plan_mode は以下の 1 つの引数を取ります:
plan(文字列、必須):ユーザーの承認を得るために提示する実装計画。実装手順を簡潔に記述した、Markdown 形式の計画である必要があります。
exit_plan_mode の Qwen Code での使用方法
「Exit Plan Mode」ツールは、Qwen Code のプランニングワークフローの一部です。コードベースを調査し実装アプローチを設計した後など、プランモードに入っている場合に、このツールを使用して以下の操作を行います。
- 実装プランをユーザーに提示する
- 実装の実行をユーザーに承認依頼する
- ユーザーの応答に基づき、プランモードから実装モードへ移行する
このツールは、ユーザーに対してあなたのプランを表示し、以下の選択肢を提供します。
- 一度だけ実行: 今回のセッションのみ、プランを承認します
- 常に実行: プランを承認し、今後の編集操作について自動承認を有効化します
- キャンセル: プランを拒否し、引き続きプランニングモードに留まります
使用方法:
exit_plan_mode(plan="ここに詳細な実装プランを記述...")このツールを使用するタイミング
exit_plan_mode は、以下の状況で使用します。
- 実装タスク: コーディングタスクの実装手順を計画しているとき
- 計画の完了: 実装アプローチの検討および設計を終えたとき
- ユーザー承認が必要なとき: コード変更を進める前にユーザーの確認が必要なとき
- コード記述タスク: コードの作成、修正、リファクタリングを伴うタスクのとき
適切な使用例:
- 「ユーザー認証機能の実装を手伝ってください」 → 認証システムの実装計画を立てた後で使用
- 「ユーザー管理用の新しい API エンドポイントを追加してください」 → エンドポイントの構造を設計した後で使用
- 「データベース層を TypeORM を使ってリファクタリングしてください」 → リファクタリングのアプローチを計画した後で使用
このツールを使用すべきでない場合
以下の用途では exit_plan_mode を使用しないでください。
- 調査タスク: 既存のコードを理解・探索することに焦点を当てたタスク
- 情報収集: 実装を行わず、検索・読解・分析のみを行う場合
- ドキュメント作成タスク: コード変更を伴わないドキュメントの作成時
- 分析タスク: 実装を伴わず、説明やレビューのみを提供する場合
不適切な使用例:
- 「コードベース内の Vim モードの実装を検索・理解する」→ 使用しない(調査タスク)
- 「認証システムの動作原理を説明する」→ 使用しない(分析タスク)
- 「プロジェクト内のすべての TODO コメントを検索する」→ 使用しない(情報収集)
exit_plan_mode の使用例
実装計画の例
exit_plan_mode(plan="## ユーザーダッシュボードの実装計画
### 1. ダッシュボード コンポーネントの作成
- メインのダッシュボード レイアウトを含む `UserDashboard.tsx` を作成
- ユーザー統計情報を表示する `DashboardStats.tsx` を追加
- 最近のユーザー活動を表示する `ActivityFeed.tsx` を実装
### 2. API 統合の追加
- ダッシュボードデータの取得用に `dashboardApi.ts` を作成
- ユーザー統計および活動データ用のエンドポイントを追加
- エラー処理およびローディング状態を実装
### 3. ルーティングの更新
- `App.tsx` にダッシュボード用ルートを追加
- ナビゲーション コンポーネントをダッシュボードへのリンクで更新
- 認証済みユーザー向けのルート保護を追加
### 4. テストおよびドキュメントの整備
- ダッシュボード コンポーネントの単体テストを作成
- API 呼び出しの統合テストを追加
- ダッシュボード機能に関するユーザードキュメントを更新
この実装には約 4–6 時間かかり、8–10 個のファイルを変更する必要があります。
リファクタリング計画の例
exit_plan_mode(plan="## データベース層のリファクタリング計画
### フェーズ 1:セットアップと設定
- TypeORM の依存関係をインストールおよび設定
- データベース接続の設定を作成
- 既存のモデルに対応するエンティティ定義を設定
### フェーズ 2:マイグレーション
- 既存のデータ向けマイグレーションスクリプトを作成
- TypeORM を用いた新しいリポジトリパターンを実装
- 生の SQL クエリを TypeORM のクエリビルダーに置き換え
### フェーズ 3:テストと検証
- すべてのデータベーステストを TypeORM を使用するように更新
- マイグレーション後のデータ整合性を検証
- パフォーマンステストを実施し、パフォーマンスの劣化がないことを確認
このリファクタリングにより、データベース層を現代化しつつ、後方互換性を維持します。
## ユーザー応答の処理
`exit_plan_mode` を呼び出した後、ユーザーは以下のいずれかの方法で応答できます。
- **1 回のみ実行**: プランが承認され、デフォルトの確認設定で即座に実装されます。
- **常に実行**: プランが承認され、以降の編集操作について自動承認が有効化されます。
- **キャンセル**: プランが拒否され、システムはさらに計画を立てるためにプランモードのままになります。
このツールは、ユーザーの選択に基づいて承認モードを自動的に調整し、ユーザーの好みに応じて実装プロセスを簡素化します。
## 重要な注意点
- **プランモードでのみ使用可能**: このツールは、現在プランモードにある場合にのみ使用してください
- **実装に焦点を当てる**: コードの記述または変更を伴うタスクにのみ使用してください
- **簡潔なプラン**: プランは焦点を絞り、簡潔に保ってください。詳細の網羅性よりも明確さを重視してください
- **Markdown対応**: プランには読みやすさ向上のためのMarkdownフォーマットが利用可能です
- **1回限りの使用**: 計画セッションごとに、実行する準備が整った時点でこのツールを1回だけ使用してください
- **ユーザーによる最終判断**: 実行への移行に関する最終的な判断は、常にユーザーが行います
## プランニングワークフローとの統合
「Exit Plan Mode」ツールは、より大規模なプランニングワークフローの一部です。
1. **プランモードへの移行**: ユーザーが要求するか、システムがプランニングが必要と判断
2. **探索フェーズ**: コードベースを分析し、要件を理解し、選択肢を検討
3. **プラン設計**: 探索結果に基づいて実装戦略を作成
4. **プラン提示**: `exit_plan_mode` を使用してユーザーにプランを提示
5. **実装フェーズ**: 承認後、計画通りの実装を開始
このワークフローにより、慎重に検討された実装アプローチが保証され、ユーザーが大規模なコード変更をコントロールできるようになります。Last updated on