タスクツール (task)
このドキュメントでは、Qwen Code の task ツールについて説明します。
概要
task を使用すると、複雑で複数ステップからなるタスクを自律的に処理する専用のサブエージェントを起動できます。タスクツールは、独自のツールセットにアクセス可能な専門エージェントに作業を委任することで、並列処理と高度な専門性を実現します。
引数
task は以下の引数を取ります:
description(文字列、必須):ユーザーがタスクを識別・追跡できるよう、タスクを簡潔に(3〜5語程度)記述します。prompt(文字列、必須):サブエージェントが実行する詳細なタスク指示文です。自律的な実行が可能となるよう、包括的な手順を含める必要があります。subagent_type(文字列、必須):このタスクに使用する専門エージェントの種類です。設定済みの利用可能なサブエージェントのいずれかと一致させる必要があります。
task を Qwen Code で使用する方法
Task ツールは、設定から利用可能なサブエージェントを動的に読み込み、タスクをそれらに委任します。各サブエージェントは独立して実行され、独自のツールセットを使用できるため、専門的な知識と並列実行が可能になります。
Task ツールを使用すると、サブエージェントは以下の処理を行います:
- 完全な自律性を伴ってタスクプロンプトを受信
- 利用可能なツールを用いてタスクを実行
- 最終的な結果メッセージを返却
- 終了(サブエージェントはステートレスかつ単一使用)
使用方法:
task(description="簡潔なタスクの説明", prompt="サブエージェント向けの詳細なタスク指示", subagent_type="エージェント名")利用可能なサブエージェント
利用可能なサブエージェントは、お客様の設定によって異なります。一般的なサブエージェントの種類には以下のようなものがあります。
- general-purpose:さまざまなツールを必要とする複雑なマルチステップタスク向け
- code-reviewer:コード品質のレビューおよび分析向け
- test-runner:テストの実行および結果の分析向け
- documentation-writer:ドキュメントの作成および更新向け
Qwen Code で /agents コマンドを使用すると、利用可能なサブエージェントを確認できます。
タスクツールの機能
リアルタイムの進行状況更新
タスクツールでは、以下の内容をリアルタイムで更新して表示します。
- サブエージェントの実行ステータス
- サブエージェントが実行中の個別のツール呼び出し
- ツール呼び出しの結果および発生したエラー
- タスク全体の進行状況および完了ステータス
並列実行
1 つのメッセージ内でタスクツールを複数回呼び出すことで、複数のサブエージェントを同時に起動できます。これにより、タスクを並列で実行でき、効率が向上します。
専門的な専門性
各サブエージェントは、以下の設定で構成できます。
- 特定のツールへのアクセス権限
- 専門化されたシステムプロンプトおよび指示
- カスタムモデル設定
- ドメイン固有の知識および機能
task の例
一般目的エージェントへのタスク委任
task(
description="コードのリファクタリング",
prompt="src/auth/ 内の認証モジュールを、コールバックではなく現代的な async/await パターンで書き直してください。すべてのテストが引き続き通過することを確認し、関連するドキュメントも更新してください。",
subagent_type="general-purpose"
)並列タスクの実行
コードレビューとテスト実行を並列で起動
task( description=“コードレビュー”, prompt=“ユーザ管理モジュールにおける最近の変更点について、コード品質、セキュリティ上の問題、およびベストプラクティスへの準拠状況をレビューしてください。”, subagent_type=“code-reviewer” )
task( description=“テスト実行”, prompt=“全テストスイートを実行し、発生したエラーを分析してください。テスト網羅率の要約と、改善に向けた推奨事項を提供してください。”, subagent_type=“test-runner” )
### ドキュメント生成
task( description=“ドキュメント更新”, prompt=“注文モジュールに新しく実装された REST エンドポイントについて、包括的な API ドキュメントを生成してください。リクエスト/レスポンスの例およびエラーコードを含めてください。”, subagent_type=“documentation-writer” )
## タスクツールを使用するタイミング
以下のケースでタスクツールを使用します:
1. **複雑なマルチステップタスク** — 複数の操作を必要とし、自律的に処理可能なタスク
2. **専門的な知識を要するタスク** — ドメイン固有の知識やツールの恩恵を受けるタスク
3. **並列実行** — 複数の独立したタスクを同時に実行できる場合
4. **タスクの委任が必要な場合** — ステップ単位での細かい指示ではなく、タスク全体を委任したい場合
5. **リソースを大量に消費する操作** — 時間や計算リソースを多大に要する可能性のあるタスク
## タスクツールを使用すべきでないタイミング
以下のケースではタスクツールを使用しないでください:
- **シンプルな単一ステップ操作** — Read、Edit などの直接的なツールをご利用ください
- **対話型タスク** — 往復コミュニケーションを必要とするタスク
- **特定ファイルの読み込み** — パフォーマンス向上のため、Read ツールを直接使用してください
- **シンプルな検索** — Grep や Glob ツールを直接ご使用ください
## 重要な注意点
- **ステートレス実行**: 各サブエージェントの呼び出しは独立しており、以前の実行履歴を保持しません
- **単一の通信**: サブエージェントは最終的な結果メッセージを1つだけ提供します。継続的な通信は行いません
- **包括的なプロンプト**: 自立した実行を可能にするために、プロンプトには必要なすべてのコンテキストと指示を含める必要があります
- **ツールへのアクセス**: サブエージェントが利用できるツールは、そのサブエージェント固有の設定で明示的に構成されたものに限定されます
- **並列実行機能**: 効率向上のため、複数のサブエージェントを同時に実行できます
- **設定依存性**: 利用可能なサブエージェントの種類は、システムの設定に依存します
## 設定
サブエージェントは、Qwen Code のエージェント設定システムを通じて設定されます。`/agents` コマンドを使用して以下の操作を行えます:
- 利用可能なサブエージェントの一覧表示
- 新しいサブエージェント設定の作成
- 既存のサブエージェント設定の変更
- ツールの権限および機能の設定
サブエージェントの設定に関する詳細については、サブエージェントのドキュメントを参照してください。