Open-source release of MAESTRO, an agent orchestration platform that runs LLM-driven tasks through sandboxed tools, with a web UI. Apache-2.0. See README.md and docs/ (getting-started, configuration, architecture).
2.5 KiB
2.5 KiB
SpawnSubTask
タスクを並列サブタスクに分解して実行する。各サブタスクは独立した worker(ジョブ)で動き、完了後に親タスクが結果を集約する。
基本
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 等で停止すると親もブロックされる