This commit is contained in:
+32
-49
@@ -4,7 +4,7 @@ description: |
|
||||
選ぶべき場合: 「どうすべきか」「どの方針が良いか」を多角的に検討する必要がある
|
||||
選ぶべきでない場合: 答えが調査で明確になるタスク、具体的な成果物の作成が主目的
|
||||
max_movements: 999
|
||||
initial_movement: decompose
|
||||
initial_movement: delegate_research
|
||||
|
||||
triggers:
|
||||
keywords:
|
||||
@@ -15,59 +15,42 @@ triggers:
|
||||
- アイデア出し
|
||||
|
||||
movements:
|
||||
- name: decompose
|
||||
edit: false
|
||||
- name: delegate_research
|
||||
edit: true
|
||||
persona: facilitator
|
||||
instruction: |
|
||||
課題を分析し、複数の視点から検討すべきポイントを特定してください。
|
||||
課題を複数の視点に分解し、各視点を delegate で1件ずつ直列に検討させ、
|
||||
最後に推奨方針へ統合する。重い検討は各サブに任せ、自分の文脈は軽く保つ。
|
||||
|
||||
1. タスクの指示を注意深く読み、何が求められているかを理解する
|
||||
2. 検討すべき視点や切り口を 2〜5 個に分解する
|
||||
手順:
|
||||
1. タスクの指示を注意深く読み、検討すべき視点や切り口を 2〜5 個に分解する。
|
||||
- 例: 技術的実現性、コスト/リソース、ユーザーへの影響、リスク、長期的な拡張性
|
||||
3. 各視点ごとに SpawnSubTask で独立した調査・検討タスクを作成する
|
||||
- piece は "research-sub" を指定する
|
||||
- instruction には「この視点で分析し、output/analysis.md に結論と根拠を書いてください」と具体的に記述
|
||||
- 各サブタスクは異なる分析レンズを持つよう明確に指定する
|
||||
4. 全サブタスクの登録が完了したら WAIT_SUBTASKS に遷移する
|
||||
allowed_tools:
|
||||
- Read
|
||||
- Grep
|
||||
- Glob
|
||||
- SpawnSubTask
|
||||
rules:
|
||||
- condition: "全てのサブタスクを SpawnSubTask で登録し終えた"
|
||||
next: WAIT_SUBTASKS
|
||||
- condition: 全てのサブタスクを登録し終えた(SpawnSubTask不可の場合は自分で分析を完了した)
|
||||
next: aggregate
|
||||
default_next: aggregate
|
||||
|
||||
- name: aggregate
|
||||
edit: true
|
||||
persona: analyst
|
||||
instruction: |
|
||||
各サブタスクの検討結果を統合し、推奨方針をまとめてください。
|
||||
|
||||
1. subtasks/ ディレクトリを確認する(Glob: subtasks/*/output/**)
|
||||
2. 各サブタスクの分析結果を読み込む
|
||||
3. 共通点・相違点・トレードオフを整理する
|
||||
4. 総合的な推奨方針を output/recommendation.md に作成する
|
||||
各視点に上から 1 始まりの連番を振る(1, 2, 3 ...)。
|
||||
2. 各視点について delegate を1回ずつ呼ぶ(1件ずつ順番に・直列)。
|
||||
delegate の prompt には必ず次を自己完結で書く(サブは独立した文脈で動くため、
|
||||
このタスク全体の背景・目的を要約して渡す):
|
||||
- 検討する視点(分析レンズ)と、課題の目的・背景
|
||||
- 「この視点で分析し、結論と根拠を出す。WebSearch / WebFetch / 一次情報で
|
||||
裏を取り、モデルの内部知識だけで書かない」指示
|
||||
- 「結論・根拠・メリット/デメリット・リスクの構成で
|
||||
output/research/perspective-{連番}.md に Write せよ」指示
|
||||
- 「完了したら 3〜5 行の要約だけを返せ。本文は返さずファイルに書け」
|
||||
- 「あなたは末端の担当。delegate / SpawnSubTask は呼ぶな」
|
||||
各視点が異なる分析レンズを持つよう明確に指定する。
|
||||
各サブの戻り値(短い要約)だけが手元に残る。本文はファイルにある。
|
||||
3. Glob で output/research/*.md の件数を確認する。
|
||||
4. 各サブの要約とファイルを基に推奨方針を output/recommendation.md に Write する:
|
||||
- 各視点からの主要な発見
|
||||
- トレードオフの整理
|
||||
- 共通点・相違点・トレードオフの整理
|
||||
- 推奨アプローチとその根拠
|
||||
- リスクと緩和策
|
||||
5. 完了したら verify に遷移する
|
||||
|
||||
allowed_tools:
|
||||
- Read
|
||||
- Glob
|
||||
- Grep
|
||||
- Write
|
||||
- Edit
|
||||
- 'mcp__*'
|
||||
- 各視点の詳細へ相対リンク [perspective-{連番}](./research/perspective-{連番}.md) で繋ぐ
|
||||
5. output/recommendation.md を書き終えたら verify へ遷移する
|
||||
allowed_tools: [delegate, Read, Write, Edit, Glob, Grep, WebSearch, WebFetch, BrowseWeb, DownloadFile, ReadImage, AnnotateImage, ReadPdf, PdfToImages, GetYouTubeTranscript, SearchYouTube, SearchAmazon, SearchPlaces, GetDirections, ReverseGeocode, XSearch, XUserPosts, XPostDetail, SearchMicrosoftLearn, FetchMicrosoftLearn, 'mcp__*']
|
||||
default_next: verify
|
||||
rules:
|
||||
- condition: "output/recommendation.md に推奨方針をまとめた"
|
||||
next: verify
|
||||
default_next: verify
|
||||
|
||||
- name: verify
|
||||
edit: false
|
||||
@@ -77,9 +60,9 @@ movements:
|
||||
|
||||
確認手順:
|
||||
1. まず Glob で output/ 内のファイル一覧を確認する
|
||||
2. output/recommendation.md がなければ「修正が必要」と判断し aggregate に差し戻す
|
||||
2. output/recommendation.md がなければ「修正が必要」と判断し delegate_research に差し戻す
|
||||
3. ファイルがあれば Read で内容を確認し、各視点の分析が含まれているか・推奨方針が論理的かをチェックする
|
||||
4. 不足や誤りがあれば、`transition({next_step: "aggregate", summary: ...})` で差し戻す。summary は次の形式で書く:
|
||||
4. 不足や誤りがあれば、`transition({next_step: "delegate_research", summary: ...})` で差し戻す。summary は次の形式で書く:
|
||||
[判定] needs_fix
|
||||
## 問題点
|
||||
- [ファイル名:行番号または項目名] 何が問題か
|
||||
@@ -88,7 +71,7 @@ movements:
|
||||
## 合格基準
|
||||
- 再レビューで何を確認するか
|
||||
## 次にやること
|
||||
- aggregate で最初に着手すべき具体的な修正
|
||||
- delegate_research で最初に着手すべき具体的な修正
|
||||
5. summary は抽象論で終えず、具体的な不足点・期待する修正内容を必ず含める
|
||||
|
||||
## チェックシート確認
|
||||
@@ -105,7 +88,7 @@ movements:
|
||||
|
||||
## 終了方法のまとめ
|
||||
- 合格: `complete({status: "success", result: "ユーザー向け最終回答"})`
|
||||
- 修正必要: `transition({next_step: "aggregate", summary: "差し戻し指摘"})` (上記形式で)
|
||||
- 修正必要: `transition({next_step: "delegate_research", summary: "差し戻し指摘"})` (上記形式で)
|
||||
- 技術的失敗: `complete({status: "aborted", abort_reason: "..."})`
|
||||
allowed_tools: [Read, Glob, Grep]
|
||||
# default_next is the engine-internal fallback (context overflow / ASK
|
||||
@@ -113,4 +96,4 @@ movements:
|
||||
default_next: COMPLETE
|
||||
rules:
|
||||
- condition: output/ にファイルがない、または内容に不足がある
|
||||
next: aggregate
|
||||
next: delegate_research
|
||||
|
||||
+32
-42
@@ -8,48 +8,36 @@ max_movements: 999
|
||||
initial_movement: execute
|
||||
|
||||
movements:
|
||||
- name: decompose
|
||||
edit: false
|
||||
- name: delegate_research
|
||||
edit: true
|
||||
persona: orchestrator
|
||||
instruction: |
|
||||
入力把握で決めた並列調査計画に従い、各テーマをサブタスクとして登録する。
|
||||
入力把握で立てた分割調査計画に従い、各テーマを delegate で1件ずつ直列に
|
||||
深掘りさせ、最後に統合レポートにまとめる。重い調査は各サブに任せ、
|
||||
自分の文脈は軽く保つ。
|
||||
|
||||
手順:
|
||||
1. 入力把握で立てた計画を思い出す(ファイル読み込みは不要)
|
||||
2. 各テーマに対して SpawnSubTask を呼び出す(2〜5 個程度)
|
||||
- title: テーマを簡潔に(例:「A社の製品ラインアップ調査」)
|
||||
- instruction: 何を調べて output/result.md にどう書くかを具体的に記述
|
||||
- piece: 調査系は "research-sub"、汎用作業は "general"(サブタスクからさらに分解しないこと)
|
||||
3. 全サブタスクの登録が完了したら WAIT_SUBTASKS に遷移する
|
||||
|
||||
## instruction の書き方例
|
||||
「〇〇について調査し、output/result.md に以下を含めてまとめてください:
|
||||
- 概要と主要な特徴
|
||||
- メリット・デメリット
|
||||
- 具体的な数値・事例(可能な限り)」
|
||||
allowed_tools: [SpawnSubTask]
|
||||
default_next: aggregate
|
||||
rules:
|
||||
- condition: 全サブタスクを SpawnSubTask で登録し終えた
|
||||
next: WAIT_SUBTASKS
|
||||
- condition: 全てのサブタスクを登録し終えた(SpawnSubTask不可の場合は自分で分析を完了した)
|
||||
next: aggregate
|
||||
|
||||
- name: aggregate
|
||||
edit: true
|
||||
persona: analyst
|
||||
instruction: |
|
||||
各サブタスクの結果が subtasks/ ディレクトリに格納されています。
|
||||
|
||||
手順:
|
||||
1. Glob で subtasks/*/result.md を確認する
|
||||
2. 各 result.md を Read で読み込む
|
||||
3. subtasks/*/output/ も確認して追加の成果物があれば Read する
|
||||
4. 全結果を統合して output/report.md に最終レポートを作成する
|
||||
- 各サブタスクの主要な知見を統合(矛盾・重複は整理)
|
||||
1. 入力把握で立てた調査テーマを思い出す(2〜5 個程度)。各テーマに上から
|
||||
1 始まりの連番を振る(1, 2, 3 ...)。
|
||||
2. 各テーマについて delegate を1回ずつ呼ぶ(1件ずつ順番に・直列)。
|
||||
delegate の prompt には必ず次を自己完結で書く(サブは独立した文脈で動くため、
|
||||
このタスク全体の背景・目的を要約して渡す):
|
||||
- 調べる/作業するテーマと目的・背景
|
||||
- 「WebSearch / WebFetch / 一次情報で裏を取る。モデルの内部知識だけで書かない」指示
|
||||
- 「概要・主要な特徴・数値や事例・まとめと考察 の構成で
|
||||
output/research/theme-{連番}.md に Write せよ。関連する画像・グラフは
|
||||
output/images/ に保存し Markdown で埋め込め」指示
|
||||
- 「完了したら 3〜5 行の要約だけを返せ。本文は返さずファイルに書け」
|
||||
- 「あなたは末端の担当。delegate / SpawnSubTask は呼ぶな」
|
||||
各サブの戻り値(短い要約)だけが手元に残る。本文はファイルにある。
|
||||
3. Glob で output/research/*.md の件数を確認する。
|
||||
4. 各サブの要約とファイルを基に統合レポートを output/report.md に Write する:
|
||||
- 各テーマの主要な知見を統合(矛盾・重複は整理)
|
||||
- 比較・対照が必要なら表形式で整理
|
||||
- 全体のまとめと結論を付ける
|
||||
- 各テーマの詳細へ相対リンク [theme-{連番}](./research/theme-{連番}.md) で繋ぐ
|
||||
5. output/report.md を書き終えたら verify へ遷移する
|
||||
allowed_tools: [Read, Glob, Grep, Write, Edit, 'mcp__*']
|
||||
allowed_tools: [delegate, Read, Write, Edit, Glob, Grep, WebSearch, WebFetch, BrowseWeb, DownloadFile, ReadImage, AnnotateImage, ReadPdf, PdfToImages, GetYouTubeTranscript, SearchYouTube, SearchAmazon, SearchPlaces, GetDirections, ReverseGeocode, XSearch, XUserPosts, XPostDetail, SearchMicrosoftLearn, FetchMicrosoftLearn, 'mcp__*']
|
||||
default_next: verify
|
||||
rules:
|
||||
- condition: output/report.md に統合レポートを作成した
|
||||
@@ -68,14 +56,16 @@ movements:
|
||||
3. 不明点があれば WebSearch/WebFetch で調べる
|
||||
4. 「今日のニュース」「最新動向」など時刻依存の依頼は、必ず最初に WebSearch を実行する
|
||||
|
||||
## 並列分解の判断
|
||||
## 分割調査の判断(delegate_research)
|
||||
|
||||
以下の場合は decompose を積極的に検討する:
|
||||
以下の場合は delegate_research を積極的に検討する:
|
||||
- 複数の独立した調査対象がある(例: 3社の比較調査、複数トピックのリサーチ)
|
||||
- 各調査が互いに依存せず、結果を最後に統合すればよい
|
||||
- 全体を 1 回の execute で処理すると context が溢れるリスクがある
|
||||
(delegate_research では各テーマを delegate に1件ずつ任せ、本文はファイルに書かせて
|
||||
自分の文脈を軽く保つ。直列実行)
|
||||
|
||||
decompose を使わない場合:
|
||||
delegate_research を使わない場合:
|
||||
- 単一テーマの作業(ファイル編集、1 つの調査など)
|
||||
- 各ステップが前のステップの結果に依存する逐次的な作業
|
||||
|
||||
@@ -118,14 +108,14 @@ movements:
|
||||
|
||||
## 終了 / 遷移方法
|
||||
- **次の verify へ**: `transition({next_step: "verify"})`
|
||||
- **並列分解が効率的 → decompose へ**: `transition({next_step: "decompose"})`
|
||||
- **分割調査が効率的 → delegate_research へ**: `transition({next_step: "delegate_research"})`
|
||||
- **必須情報が不足し確認が必要**: `complete({status: "needs_user_input", missing_info: "...", why_no_default: "..."})`
|
||||
- **技術的失敗で打ち切り**: `complete({status: "aborted", abort_reason: "..."})`
|
||||
allowed_tools: [Read, Write, Bash, Glob, Grep, WebSearch, WebFetch, BrowseWeb, DownloadFile, ReadImage, AnnotateImage, ReadPdf, PdfToImages, ReadMsg, BatchReviewTextWithLLM, MergeReviewedResults, SearchPlaces, GetDirections, ReverseGeocode, GetYouTubeTranscript, SearchYouTube, SearchAmazon, TranscribeAudio, SearchMicrosoftLearn, FetchMicrosoftLearn, SearchMicrosoftLearnCache, RefreshMicrosoftLearnCache, AddCalendarEvent, ListCalendarEvents, 'mcp__*']
|
||||
default_next: verify
|
||||
rules:
|
||||
- condition: 2つ以上の独立したテーマがあり、並列分解が効率的と判断した
|
||||
next: decompose
|
||||
- condition: 2つ以上の独立したテーマがあり、分割して delegate に任せるのが効率的と判断した
|
||||
next: delegate_research
|
||||
- condition: output/ にファイルを書き出した
|
||||
next: verify
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ movements:
|
||||
- 各ステップで使うツール(`allowed_tools`)
|
||||
- 入力と出力の形式
|
||||
|
||||
ツールの詳細仕様は ReadToolDoc で確認できる(例: `ReadToolDoc({ name: "SpawnSubTask" })`)。
|
||||
ツールの詳細仕様は ReadToolDoc で確認できる(例: `ReadToolDoc({ name: "delegate" })`)。
|
||||
|
||||
### YAML 構造の制約
|
||||
```yaml
|
||||
|
||||
@@ -1,110 +0,0 @@
|
||||
name: research-sub
|
||||
description: |
|
||||
サブタスク専用の調査ピース。親タスクの decompose から SpawnSubTask で起動される。
|
||||
dig → analyze → verify の 3 ステップで調査を完結させる。
|
||||
さらなるサブタスク分解(SpawnSubTask)は行わない。
|
||||
max_movements: 999
|
||||
initial_movement: dig
|
||||
|
||||
movements:
|
||||
- name: dig
|
||||
edit: true
|
||||
persona: researcher
|
||||
instruction: |
|
||||
## 最初のステップ: 入力把握と調査計画
|
||||
|
||||
情報収集に着手する前に、調査対象と目的を整理する:
|
||||
1. Glob でワークスペース全体のファイル一覧を確認する(input/ だけでなくルート直下も含む)
|
||||
2. 指示で言及されているファイルがあれば適切なツールで内容を把握する(カタログ参照、詳細は ReadToolDoc)
|
||||
3. 調査対象と目的を整理し、どこから情報を集めるか、何を分析するかを明確にする
|
||||
4. 「今日のニュース」「最新動向」「直近」など時刻依存の調査依頼では、必ず最初のアクションを WebSearch にする
|
||||
|
||||
## 計画に従って情報を収集する
|
||||
|
||||
WebSearch、WebFetch、ファイル読み込み等で情報を集め、必ず Write で output/ にファイルとして書き出すこと。
|
||||
テキストで回答するだけでは不十分。
|
||||
|
||||
## 検索の原則(必須)
|
||||
|
||||
- モデルの内部知識だけで情報を書かないこと。主張・事実・数値は必ず WebSearch/WebFetch で裏付けを取る
|
||||
- output/ に既存ファイルがある場合でもその内容を鵜呑みにせず、検索で正確性を確認する
|
||||
|
||||
## 一次情報へのアクセスと捏造禁止(厳守)
|
||||
|
||||
- YouTube 動画の内容を調査する場合は、必ず GetYouTubeTranscript で字幕を取得してから作業する
|
||||
- 一次情報に直接アクセスできなかった場合:
|
||||
- Web 検索の断片的な情報から内容を推測・捏造してはならない
|
||||
- アクセスできなかった旨を明記し、取得できた範囲の情報のみで成果物を作成する
|
||||
|
||||
## 画像・ビジュアル素材の収集(必須)
|
||||
|
||||
調査中は画像・グラフ・図表を積極的に収集し、output/images/ に保存すること。
|
||||
|
||||
## 終了 / 遷移方法
|
||||
- **次の analyze へ**: `transition({next_step: "analyze"})`
|
||||
- **追加調査のため同じ dig を続行**: `transition({next_step: "dig"})`
|
||||
- **対象が曖昧で確認が必要**: `complete({status: "needs_user_input", missing_info: "...", why_no_default: "..."})`
|
||||
- **技術的失敗で打ち切り**: `complete({status: "aborted", abort_reason: "..."})`
|
||||
allowed_tools: [Read, Write, Bash, Glob, Grep, WebSearch, WebFetch, BrowseWeb, DownloadFile, ReadImage, AnnotateImage, ReadPdf, PdfToImages, BatchReviewTextWithLLM, MergeReviewedResults, SearchPlaces, GetDirections, ReverseGeocode, GetYouTubeTranscript, SearchYouTube, SearchAmazon, TranscribeAudio, XSearch, XUserPosts, XPostDetail, XTimeline, XFetchCardMedia, SearchMicrosoftLearn, FetchMicrosoftLearn, SearchMicrosoftLearnCache, RefreshMicrosoftLearnCache, 'mcp__*']
|
||||
default_next: analyze
|
||||
rules:
|
||||
- condition: output/ に情報を書き出した
|
||||
next: analyze
|
||||
- condition: 追加調査が必要
|
||||
next: dig
|
||||
|
||||
- name: analyze
|
||||
edit: true
|
||||
persona: analyst
|
||||
instruction: |
|
||||
収集した情報を分析し、調査レポートを output/ に作成する。
|
||||
重要なポイント、トレンド、結論をまとめる。
|
||||
必ず Write ツールで output/ にレポートファイルを書き出すこと。
|
||||
前のステップから指摘事項がある場合は、それに対応すること。
|
||||
|
||||
## 検索の原則(必須)
|
||||
|
||||
- レポートに記載する事実・数値・主張は、dig で収集した検索結果に基づくこと
|
||||
- 情報が不足している場合は、ここでも追加の WebSearch/WebFetch を行い裏付けを取る
|
||||
- 「これまでのレビュー指摘」がある場合は、各項目を漏れなく解消すること
|
||||
|
||||
## 画像の活用(必須)
|
||||
|
||||
output/images/ に画像がある場合は、必ずレポートの該当箇所に埋め込む:
|
||||
``
|
||||
allowed_tools: [Read, Write, Bash, Glob, Grep, WebSearch, WebFetch, BrowseWeb, DownloadFile, ReadImage, AnnotateImage, ReadPdf, PdfToImages, BatchReviewTextWithLLM, MergeReviewedResults, SearchPlaces, GetDirections, ReverseGeocode, GetYouTubeTranscript, SearchYouTube, SearchAmazon, TranscribeAudio, XSearch, XUserPosts, XPostDetail, XTimeline, XFetchCardMedia, SearchMicrosoftLearn, FetchMicrosoftLearn, SearchMicrosoftLearnCache, RefreshMicrosoftLearnCache, 'mcp__*']
|
||||
default_next: verify
|
||||
rules:
|
||||
- condition: output/ にレポートを書き出した
|
||||
next: verify
|
||||
- condition: 追加調査が必要
|
||||
next: dig
|
||||
|
||||
- name: verify
|
||||
edit: false
|
||||
persona: reviewer
|
||||
instruction: |
|
||||
output/ のレポートを確認する。
|
||||
|
||||
確認手順:
|
||||
1. まず Glob で output/ 内のファイル一覧を確認する
|
||||
2. output/ にファイルが1つもなければ「不足がある」と判断し analyze に差し戻す
|
||||
3. ファイルがあれば Read で内容を確認し、網羅性・正確性・分かりやすさをチェックする
|
||||
4. 不足があれば analyze に差し戻す
|
||||
|
||||
## 合格時
|
||||
|
||||
合格と判断したら、`complete({status: "success", result: ...})` を呼ぶ。
|
||||
result はそのままユーザー(親タスク)に返される。
|
||||
- 調査結果・発見・結論を簡潔にまとめる
|
||||
- 表・リスト・見出しなど Markdown 書式を活用して読みやすくする
|
||||
|
||||
## 終了方法
|
||||
- 合格: `complete({status: "success", result: "調査結果のまとめ"})`
|
||||
- 修正必要: `transition({next_step: "analyze", summary: "差し戻し指摘"})`
|
||||
- 技術的失敗: `complete({status: "aborted", abort_reason: "..."})`
|
||||
allowed_tools: [Read, Glob, Grep, WebSearch, WebFetch, ReadImage, AnnotateImage, ReadPdf, ReadExcel, ReadDocx, ReadPPTX, SearchMicrosoftLearn, FetchMicrosoftLearn, SearchMicrosoftLearnCache, RefreshMicrosoftLearnCache]
|
||||
default_next: COMPLETE
|
||||
rules:
|
||||
- condition: output/ にファイルがない、または内容に不足がある
|
||||
next: analyze
|
||||
+30
-35
@@ -10,42 +10,35 @@ max_movements: 999
|
||||
initial_movement: dig
|
||||
|
||||
movements:
|
||||
- name: decompose
|
||||
edit: false
|
||||
- name: delegate_research
|
||||
edit: true
|
||||
persona: orchestrator
|
||||
instruction: |
|
||||
入力把握で決めた並列調査計画に従い、各テーマをサブタスクとして登録する。
|
||||
dig で立てた並列調査計画に従い、各テーマを delegate で1件ずつ直列に深掘りさせ、
|
||||
最後に統合レポートにまとめる。重い調査は各サブに任せ、自分の文脈は軽く保つ。
|
||||
|
||||
手順:
|
||||
1. 入力把握で立てた調査テーマを思い出す(ファイル読み込みは不要)
|
||||
2. 各テーマに対して SpawnSubTask を呼び出す(2〜5 個程度、piece は "research-sub")
|
||||
3. 全サブタスクの登録が完了したら WAIT_SUBTASKS に遷移する
|
||||
|
||||
instruction には「何を調べて output/result.md にどう書くか」を具体的に記述する
|
||||
(概要・主要な特徴・数値や事例・まとめと考察 など、構成を明示)。
|
||||
allowed_tools: [SpawnSubTask]
|
||||
default_next: aggregate
|
||||
rules:
|
||||
- condition: 全サブタスクを SpawnSubTask で登録し終えた
|
||||
next: WAIT_SUBTASKS
|
||||
- condition: 全てのサブタスクを登録し終えた(SpawnSubTask不可の場合は自分で調査を完了した)
|
||||
next: aggregate
|
||||
|
||||
- name: aggregate
|
||||
edit: true
|
||||
persona: analyst
|
||||
instruction: |
|
||||
各サブタスクの調査結果が subtasks/ ディレクトリに格納されている。
|
||||
|
||||
手順:
|
||||
1. Glob で subtasks/*/result.md と subtasks/*/output/ を確認する
|
||||
2. 各 result.md と追加成果物を Read で読み込む
|
||||
3. 全結果を統合して output/report.md に最終レポートを作成する
|
||||
1. dig で立てた調査テーマを思い出す(2〜5 個程度)。各テーマに上から 1 始まりの
|
||||
連番を振る(1, 2, 3 ...)。
|
||||
2. 各テーマについて delegate を1回ずつ呼ぶ(1件ずつ順番に・直列)。
|
||||
delegate の prompt には必ず次を自己完結で書く(サブは独立した文脈で動くため、
|
||||
このタスク全体の背景・目的を要約して渡す):
|
||||
- 調べるテーマと目的・背景
|
||||
- 「WebSearch / WebFetch / 一次情報で裏を取る。モデルの内部知識だけで書かない」指示
|
||||
- 「概要・主要な特徴・数値や事例・まとめと考察 の構成で
|
||||
output/research/theme-{連番}.md に Write せよ。関連する画像・グラフは
|
||||
output/images/ に保存し Markdown で埋め込め」指示
|
||||
- 「完了したら 3〜5 行の要約だけを返せ。深掘り本文は返さずファイルに書け」
|
||||
- 「あなたは末端の調査担当。delegate / SpawnSubTask は呼ぶな」
|
||||
各サブの戻り値(短い要約)だけが手元に残る。本文はファイルにある。
|
||||
3. Glob で output/research/*.md の件数を確認する。
|
||||
4. 各サブの要約とファイルを基に統合レポートを output/report.md に Write する:
|
||||
- 各テーマの主要な知見を統合(矛盾・重複は整理)
|
||||
- 比較・対照が必要なら表形式で整理
|
||||
- 全体のまとめと考察を付ける
|
||||
4. output/report.md を書き終えたら verify へ遷移する
|
||||
allowed_tools: [Read, Glob, Grep, Write, Edit, 'mcp__*']
|
||||
- 各テーマの詳細へ相対リンク [theme-{連番}](./research/theme-{連番}.md) で繋ぐ
|
||||
5. output/report.md を書き終えたら verify へ遷移する
|
||||
allowed_tools: [delegate, Read, Write, Edit, Glob, Grep, WebSearch, WebFetch, BrowseWeb, DownloadFile, ReadImage, AnnotateImage, ReadPdf, PdfToImages, GetYouTubeTranscript, SearchYouTube, SearchAmazon, SearchPlaces, GetDirections, ReverseGeocode, XSearch, XUserPosts, XPostDetail, SearchMicrosoftLearn, FetchMicrosoftLearn, 'mcp__*']
|
||||
default_next: verify
|
||||
rules:
|
||||
- condition: output/report.md に統合レポートを作成した
|
||||
@@ -63,14 +56,16 @@ movements:
|
||||
3. 調査対象と目的を整理し、どこから情報を集めるか、何を分析するかを明確にする
|
||||
4. 「今日のニュース」「最新動向」「直近」など時刻依存の調査依頼では、必ず最初のアクションを WebSearch にする
|
||||
|
||||
## 並列分解の判断
|
||||
## 分割調査の判断(delegate_research)
|
||||
|
||||
decompose を積極的に検討するケース:
|
||||
delegate_research を積極的に検討するケース:
|
||||
- 複数の独立した調査対象がある(例: 3社の比較、複数技術の比較)
|
||||
- 各調査が互いに依存せず、結果を最後に統合すればよい
|
||||
- 全体を 1 回の dig → analyze で処理すると context が溢れるリスクがある
|
||||
(delegate_research では各テーマを delegate に1件ずつ任せ、本文はファイルに書かせて
|
||||
自分の文脈を軽く保つ。直列実行)
|
||||
|
||||
decompose を使わないケース:
|
||||
delegate_research を使わないケース:
|
||||
- 単一テーマの調査
|
||||
- 各ステップが前のステップの結果に依存する逐次的な調査
|
||||
|
||||
@@ -109,15 +104,15 @@ movements:
|
||||
|
||||
## 終了 / 遷移方法
|
||||
- **次の analyze へ**: `transition({next_step: "analyze"})`
|
||||
- **並列分解 → decompose へ**: `transition({next_step: "decompose"})`
|
||||
- **分割調査 → delegate_research へ**: `transition({next_step: "delegate_research"})`
|
||||
- **追加調査のため同じ dig を続行**: `transition({next_step: "dig"})`
|
||||
- **対象が曖昧で確認が必要**: `complete({status: "needs_user_input", missing_info: "...", why_no_default: "..."})`
|
||||
- **技術的失敗で打ち切り**: `complete({status: "aborted", abort_reason: "..."})`
|
||||
allowed_tools: [Read, Write, Bash, Glob, Grep, WebSearch, WebFetch, BrowseWeb, DownloadFile, ReadImage, AnnotateImage, ReadPdf, PdfToImages, BatchReviewTextWithLLM, MergeReviewedResults, SearchPlaces, GetDirections, ReverseGeocode, GetYouTubeTranscript, SearchYouTube, SearchAmazon, TranscribeAudio, XSearch, XUserPosts, XPostDetail, XTimeline, XFetchCardMedia, SearchMicrosoftLearn, FetchMicrosoftLearn, SearchMicrosoftLearnCache, RefreshMicrosoftLearnCache, 'mcp__*']
|
||||
default_next: analyze
|
||||
rules:
|
||||
- condition: 2つ以上の独立した調査テーマがあり、並列分解が効率的と判断した
|
||||
next: decompose
|
||||
- condition: 2つ以上の独立した調査テーマがあり、分割して delegate に任せるのが効率的と判断した
|
||||
next: delegate_research
|
||||
- condition: output/ に情報を書き出した
|
||||
next: analyze
|
||||
- condition: 追加調査が必要
|
||||
|
||||
Reference in New Issue
Block a user