task-decomposition について
複雑な目標をエージェント単位のタスクに分け、結果を統合するための設計スキルです。マルチエージェントシステムの依存関係、並列化、粒度、曖昧さへの対処、再構成を扱います。
主な機能
- 01順次・並列・階層型の分解戦略
- 02条件型と反復型の分解
- 03依存関係とクリティカルパスの整理
- 04タスク粒度と結果統合の設計
- 05曖昧さへの対処と計画の見直し
活用シーン
- 01複雑な目標のサブタスクを計画
- 02並行実行できるタスクを特定
- 03結果に応じて計画を再構成
- 04エージェントの出力を統合する方法を定義
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ owl-listener/ ai-design-skills --skill task-decompositionインストール後、Claude Code で/task-decompositionを入力して読み込まれたか確認します。
詳細
タスクの分解
ユーザーが持ち込むのは目標であり、サブタスクではありません。タスクの分解とは、マルチエージェントシステムが複雑なユーザーの目標を個々のエージェントが処理できる単位に分け、その結果を一貫性のある形にまとめ直す方法です。
分解戦略
- 逐次分解:目標を順序付けられたステップに分けます。ステップ 1 が完了してから、ステップ 2 を開始します。
- 並列分解:同時に作業できる独立した部分に目標を分けます。
- 階層的分解:目標をサブゴールに分け、さらに各サブゴールをタスクに分けます。
- 条件分岐型の分解:次のステップは現在のステップの結果によって決まります。結果に応じて異なる経路に進みます。
- 反復的分解:大まかな案から始め、複数回の反復を通じて洗練させます。
分解ルールの設計
システムが処理するユーザー目標の種類ごとに、次の点を定義します。
- 開始地点は何ですか? システムはどのように目標を受け取りますか?
- サブタスクは何ですか? この目標の種類で考えられるサブタスクをすべて列挙します。
- 依存関係は何ですか? 他のサブタスクの出力に依存するサブタスクはどれですか?
- クリティカルパスは何ですか? サブタスクのどの順序が最短の完了時間を決定しますか?
- 並列化できる作業は何ですか? 同時に実行できるサブタスクはどれですか?
- 再構成のロジックは何ですか? サブタスクの結果をどのように組み合わせて最終的な出力にしますか?
粒度
分解の細かさは重要です。
- 粗すぎる場合:個々のエージェントに複雑すぎるタスクが割り当てられ、品質が低下します
- 細かすぎる場合:引き継ぎのオーバーヘッドが専門化のメリットを上回ります
- 適切な場合:各サブタスクの範囲と複雑さが、1 つのエージェントの得意分野に合致します
曖昧さへの対応
ユーザーの目標は曖昧なことがよくあります。システムには次の対応が必要です。
- 分解する前に明確にする:目標が不明確な場合は、ユーザーに詳細を尋ねます
- 暫定的に分解する:計画から始め、情報が明らかになるにつれて調整します
- 必要に応じて再構成する:分解が適切でなかった場合は、最初からやり直さずに組み立て直します
設計成果物
- 目標の種類ごとのタスク分解ツリー
- サブタスク間の関係を示す依存関係マップ
- 並列化の仕様
- 再構成ロジックの定義
- 曖昧さへの対応プロトコル
コメント
Markdown 対応