new_task
new_task ツールは、親子関係を維持しつつ、特定のモードでサブタスクを作成します。複雑なプロジェクトを、それぞれに最適なモードで実行可能な管理しやすい単位に分割します。
パラメータ
このツールは以下のパラメータを受け付けます:
mode(必須):新しいタスクを開始するモードのスラッグ(例:"code"、"ask"、"architect")message(必須):この新しいタスクに対する初期のユーザーメッセージまたは指示
機能概要
このツールは、指定された開始モードと初期メッセージを持つ新しいタスクインスタンスを作成します。複雑なワークフローを独自の会話履歴を持つサブタスクに分割できます。親タスクはサブタスク実行中に一時停止され、サブタスクが完了すると結果が親タスクに引き渡されて再開されます。
使用される場面
- 複雑なプロジェクトを個別で集中できるサブタスクに分割するとき
- タスクの異なる側面に異なる専門モードが必要なとき
- 作業の各フェーズがコンテキストの分離によって恩恵を受けるとき
- マルチフェーズの開発ワークフローを整理するとき
主な特徴
- 独自の会話履歴と専門モードを持つサブタスクを作成
- 親タスクを後で再開できるように一時停止
- ナビゲーション用の階層的なタスク関係を維持
- 完了時に結果を親タスクに引き渡し
- 複雑なプロジェクトのためのワークフロー分離をサポート
- プロジェクトの異なる部分にその作業に最適化されたモードを使用可能
- タスク作成には明示的なユーザー承認が必要
- UI 上で明確なタスク切り替えを提供
制限事項
- 存在しないモードでのタスク作成は不可能
- 各新しいタスクの作成にはユーザー承認が必要
- サブタスクが深くネストされるとタスクインターフェースが複雑になる可能性がある
- サブタスクは親タスクから特定のワークスペースおよび拡張機能設定を継承
- 深くネストされたタスク間を切り替える際にコンテキストを再構築する必要がある場合がある
- 親タスクに戻るには明示的な完了シグナルが必要
動作の流れ
new_task ツールが呼び出されると、以下のプロセスを経ます:
パラメータ検証:
- 必須の
modeおよびmessageパラメータを検証 - 要求されたモードがシステム内に存在することを確認
- 必須の
タスクスタック管理:
- すべてのアクティブおよび一時停止中のタスクを追跡するタスクスタックを維持
- 後で再開できるよう現在のモードを保存
- 親タスクを一時停止状態に設定
タスクコンテキスト管理:
- 提供されたメッセージで新しいタスクコンテキストを作成
- 状態管理のために一意の
taskIdおよびinstanceId識別子を割り当て - ツール使用状況およびタスクライフサイクルに関するテレメトリデータを収集
モード切り替えと統合:
- 指定されたモードに、適切なロールと機能とともに切り替え
- 提供されたメッセージで新しいタスクを初期化
- IDE のコマンドパレットおよびコードアクションと統合
タスク完了と結果の引き渡し:
- サブタスクが完了すると、結果は
finishSubTask()を通じて親タスクに引き渡される - 親タスクは元のモードで再開
- タスク履歴およびトークン使用量メトリクスが更新される
- パフォーマンスデータ付きで
taskCompletedイベントが発行される
- サブタスクが完了すると、結果は
使用例
- フロントエンド開発者が新機能のアーキテクチャ設計、コード実装、ドキュメント作成を行う必要がある場合、各フェーズに個別のタスクを作成し、結果を次のフェーズに引き渡すことができます。
- 修正を実装する前に問題をデバッグする際、デバッグタスクが調査結果を文書化し、それを実装タスクに引き渡します。
- フルスタックアプリケーションを開発する際、
architectモードのタスクで作成されたデータベーススキーマ設計が、後続のcodeモードタスクにおける実装詳細を決定します。 - 実装後にシステムのドキュメントを作成する際、ドキュメントタスクは完成した実装を参照しながら、ドキュメント専用の機能を利用できます。
使用例
コードモードで新しいタスクを作成:
<new_task>
<mode>code</mode>
<message>ログイン、登録、パスワードリセット機能を備えたユーザーアカウント認証サービスを実装してください。</message>
</new_task>実装完了後にドキュメントタスクを作成:
<new_task>
<mode>docs</mode>
<message>先ほど構築した認証サービスの包括的な API ドキュメントを作成してください。</message>
</new_task>複雑な機能をアーキテクチャ設計と実装に分割:
<new_task>
<mode>architect</mode>
<message>新しい EC サイトプラットフォームのためのデータベーススキーマおよびシステムアーキテクチャを設計してください。</message>
</new_task>