feat: initial public release (MAESTRO)
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# SpawnSubTask
|
||||
|
||||
タスクを並列サブタスクに分解して実行する。各サブタスクは独立した worker(ジョブ)で動き、完了後に親タスクが結果を集約する。
|
||||
|
||||
## 基本
|
||||
|
||||
```js
|
||||
SpawnSubTask({
|
||||
title: "ローカル LLM 比較調査",
|
||||
instruction: "Ollama, vLLM, llama.cpp の最新性能ベンチマークを比較する。各ツールについて: 1) 直近6ヶ月の主要ベンチマーク, 2) ハードウェア要件, 3) 対応モデル一覧 を output/report.md にまとめる。",
|
||||
piece: "research" // 任意。指定しないと自動分類
|
||||
})
|
||||
```
|
||||
|
||||
呼び出すと `subtasks/{index}/` にサブタスクのワークスペースが作られ、結果はそこに集約される。
|
||||
|
||||
## いつ使うか
|
||||
|
||||
### 並列分解が効果的なケース
|
||||
|
||||
- 2 つ以上の **独立したテーマ**(互いに参照しない)
|
||||
- 各テーマが軽くなく、調査・処理に時間がかかる
|
||||
- 分解後の各タスクが単独でも意味を持つ成果物になる
|
||||
|
||||
例:
|
||||
- 「3 つの製品比較レポート」→ 製品ごとに 3 サブタスク
|
||||
- 「複数 PDF の OCR 処理」→ ファイルごとに分解
|
||||
- 「複数 SNS の情報収集」→ プラットフォーム別に分解
|
||||
|
||||
### 分解しないほうがよいケース
|
||||
|
||||
- 単一テーマで論理的に連続する処理(A→B→C のように依存)
|
||||
- サブタスクが極端に小さい(オーバーヘッドの方が大きい)
|
||||
- 全体像を見ながら判断する必要がある作業(対話的タスク等)
|
||||
|
||||
## instruction の書き方
|
||||
|
||||
- **完結した依頼文**で書く(親タスクの文脈を持たないので、サブタスクは instruction だけで判断する)
|
||||
- 期待する成果物(出力ファイル名・場所)を明示
|
||||
- 必要な前提情報があれば文中に展開
|
||||
|
||||
❌ 「これと同じ調査を別キーワードでやって」
|
||||
✅ 「キーワード『A』『B』『C』について、各々のメリット・デメリットを比較する独立した調査を行い、output/A-vs-B.md にまとめる」
|
||||
|
||||
## piece の指定
|
||||
|
||||
- 省略時: 親と同じ classifier ロジックで自動選択
|
||||
- 明示する場合: `research`, `general`, `office-process` 等の piece 名を指定
|
||||
|
||||
## 結果の参照
|
||||
|
||||
サブタスク完了後、親タスクは:
|
||||
- `subtasks/{index}/output/` 以下にサブタスクの成果物がある
|
||||
- Read で参照して集約レポートを作成する
|
||||
|
||||
## 制限
|
||||
|
||||
- ネスト深さは `subtasks.maxDepth`(デフォルト 2)まで
|
||||
- サブタスクが waiting_human 等で停止すると親もブロックされる
|
||||
Reference in New Issue
Block a user