← /teach Study Portal (herdr_pi) に戻る /teach lesson

Lesson 0002 | Mission: pi × herdr による自律型開発・研究開発ワークフロー

Lesson 02: herdr を使ったマルチエージェント起動・指示・結果回収ハンズオン

このレッスンでは、pi やスクリプトをオーケストレーターに見立て、 herdr 上で新しいペインを作成し、サブエージェントを起動してタスクを委譲し、結果を回収する具体的なライフサイクル を実践します。

1. オーケストレーションの5ステップ

  1. ペイン作成 (Split): herdr pane split --current --direction right --no-focus
  2. エージェント起動 (Start): herdr agent start worker1 --kind pi --pane <PANE_ID>
  3. 指示投入&待機 (Prompt & Wait): herdr agent prompt worker1 "タスク指示..." --wait
  4. 結果回収 (Read): herdr agent read worker1 --source recent-unwrapped --lines 80
  5. 後処理 (Clean/Reuse): 次の指示を投げるか、ペインを閉じる。

2. 実例シナリオ:製造業研究データの異常値検出タスク

例えば、実験データ(CSV等)の異常値チェックや基礎統計の算出を、親エージェントが作業を止めずにサブエージェントへ丸投げするケースを考えます。

# 1. 右側にペインを作成(フォーカスは奪わない)
SPLIT_RES=$(herdr pane split --current --direction right --cwd "$PWD" --no-focus)
PANE_ID=$(echo "$SPLIT_RES" | jq -r '.result.pane.pane_id')

# 2. そのペインで pi をワーカとして起動
herdr agent start exp_analyzer --kind pi --pane "$PANE_ID"

# 3. 異常値検出の解析スクリプト作成・実行を指示し、完了まで待機
herdr agent prompt exp_analyzer "data/run_01.csv の外れ値を検出し、outliers.json に書き出して" --wait

# 4. 実行結果・ログを確認
herdr agent read exp_analyzer --source recent-unwrapped --lines 50

3. 重要なポイント:`--no-focus` と `--wait`

4. 理解度確認クイズ

問: サブエージェントの作業結果ログを取得する際、改行やソフトラップが途中で切れないよう整形して取得するための herdr agent read の最適なオプションは?

実践演習 (Exercise)

実際に herdr セッション内で herdr pane split を実行し、生成される JSON レスポンスから pane_id がどのように返されるか確認してみましょう。