終了計画モードツール (exit_plan_mode)
このドキュメントでは、Qwen Code 用の exit_plan_mode ツールについて説明します。
説明
計画モード中に実装計画の提示を終えた場合に exit_plan_mode を使用します。このツールはユーザーに計画の承認または拒否を促し、計画モードから実装モードへと移行します。
このツールは、コードを書く前に実装手順の計画が必要なタスク向けに特別に設計されています。調査や情報収集のタスクには使用しないでください。
引数
exit_plan_mode は一つの引数を取ります:
plan(文字列、必須):ユーザーに提示し承認を得たい実装計画です。これは実装手順を記述した簡潔な Markdown 形式の計画である必要があります。
Qwen Code で exit_plan_mode を使用する方法
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 の依存関係をインストールし、設定する
- データベース接続の設定を作成する
- 既存モデルに対する Entity 定義をセットアップする
### フェーズ 2: 移行
- 既存データ用のマイグレーションスクリプトを作成する
- TypeORM を使用して新しいリポジトリパターンを実装する
- 生の SQL クエリを TypeORM のクエリビルダーに置き換える
### フェーズ 3: テストと検証
- すべてのデータベーステストを TypeORM を使用するように更新する
- 移行後のデータ整合性を検証する
- 性能テストを行い、リグレッションがないことを確認する
このリファクタリングにより、下位互換性を維持したままデータベース層をモダナイズします。")
## ユーザー応答の処理
`exit_plan_mode` を呼び出した後、ユーザーは以下のいくつかの方法で応答できます:
- **一度だけ実行**: デフォルトの確認設定で即時実装が承認される
- **常に実行**: プランが承認され、以降の編集操作に対して自動承認が有効になる
- **キャンセル**: プランが拒否され、システムはさらなる計画のためにプランモードのままとなる
ツールはユーザーの選択に基づいて自動的に承認モードを調整し、ユーザーの好みに合わせて実装プロセスを合理化します。
## 重要な注意点
- **プランモード専用**: このツールは、現在プランモードにいる場合にのみ使用してください
- **実装に焦点を当てる**: コードの作成または変更を伴うタスクにのみ使用してください
- **簡潔なプラン**: プランは要点を絞り、簡潔にしてください。詳細な記述よりも明確さを目指します
- **Markdown対応**: プランでは、読みやすさ向上のためにMarkdown形式がサポートされています
- **一回限りの使用**: ツールは、進行準備ができている場合に1つのプランニングセッションにつき1回だけ使用してください
- **ユーザーの判断**: 進行する最終決定権は常にユーザーにあります
## 計画ワークフローとの統合
Exit Plan Modeツールは、より大きな計画ワークフローの一部です:
1. **プランモードに入る**:ユーザーが要求するか、システムが計画が必要と判断する
2. **探索フェーズ**:コードベースを分析し、要件を理解し、選択肢を検討する
3. **プラン設計**:探索に基づいて実装戦略を作成する
4. **プラン提示**:`exit_plan_mode`を使用してプランをユーザーに提示する
5. **実装フェーズ**:承認後、計画された実装を進める
このワークフローにより、慎重な実装アプローチが保証され、ユーザーが重要なコード変更を制御できるようになります。Last updated on