Exit Plan Mode ツール (exit_plan_mode)
このドキュメントでは、Qwen Code の exit_plan_mode ツールについて説明します。
説明
プランモードで実装計画の提示が完了したら、exit_plan_mode を使用します。このツールは、ユーザーに計画の承認または却下を促し、プランモードから実装モードへ移行します。
このツールは、コードを書く前に実装手順の計画が必要なタスク向けに設計されています。リサーチや情報収集のタスクには使用しないでください。
引数
exit_plan_mode は 1 つの引数を受け取ります。
plan(string, 必須): 承認を得るためにユーザーに提示する実装計画。Markdown 形式で、実装手順を簡潔に記述してください。
Qwen Code での exit_plan_mode の使い方
Exit Plan Mode ツールは、Qwen Code の計画ワークフローの一部です。プランモードにあるとき(通常、コードベースを調査し実装アプローチを設計した後)、このツールを使用して以下の操作を行います。
- 実装計画をユーザーに提示する
- 実装を進めるための承認を求める
- ユーザーの応答に基づいて、プランモードから実装モードへ移行する
このツールは、ユーザーに計画を提示し、以下のオプションを提供します。
- Proceed Once: このセッションのみ計画を承認する
- Proceed Always: 計画を承認し、今後の編集操作で自動承認を有効にする
- Cancel: 計画を却下し、プランモードのままにする
使用例:
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 を呼び出した後、ユーザーは以下の方法で応答できます。
- Proceed Once: 計画が承認され、デフォルトの確認設定で即座に実装が開始されます
- Proceed Always: 計画が承認され、以降の編集操作で自動承認が有効になります
- Cancel: 計画が却下され、システムはプランモードのままさらに計画を続けられます
このツールはユーザーの選択に基づいて承認モードを自動的に調整し、ユーザーの好みに応じて実装プロセスを効率化します。
重要な注意事項
- プランモードのみ: このツールは現在プランモードの場合にのみ使用してください
- 実装に特化: コードの作成や変更を伴うタスクにのみ使用してください
- 簡潔な計画: 計画は焦点を絞って簡潔に保ち、網羅的でなく明確さを目指してください
- Markdown サポート: 計画では可読性向上のため Markdown 書式をサポートしています
- 1回の使用: 準備ができたら、計画セッションごとに1回だけ使用してください
- ユーザー制御: 実行の最終決定は常にユーザーに委ねられます
計画ワークフローとの統合
Exit Plan Mode ツールは、より大きな計画ワークフローの一部です。
- プランモードに入る: ユーザーが要求するか、システムが計画の必要性を判断します
- 調査フェーズ: コードベースを分析し、要件を理解し、オプションを検討します
- 計画設計: 調査に基づいて実装戦略を作成します
- 計画の提示:
exit_plan_modeを使用して計画をユーザーに提示します - 実装フェーズ: 承認後、計画された実装を進めます
このワークフローにより、思慮深い実装アプローチが確保され、ユーザーは重要なコード変更を制御できます。
Last updated on