Lesson 0002 | Mission: pi × herdr による自律型開発・研究開発ワークフロー
このレッスンでは、pi やスクリプトをオーケストレーターに見立て、
herdr 上で新しいペインを作成し、サブエージェントを起動してタスクを委譲し、結果を回収する具体的なライフサイクル を実践します。
herdr pane split --current --direction right --no-focusherdr agent start worker1 --kind pi --pane <PANE_ID>herdr agent prompt worker1 "タスク指示..." --waitherdr agent read worker1 --source recent-unwrapped --lines 80例えば、実験データ(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
--no-focus:
親エージェントや人間が作業しているフォーカスを奪いません。作業の流れを中断させずにバックグラウンドでペインが立ち上がります。
--wait:
固定の sleep ではなく、エージェントが idle(待機)または done(完了)状態になるまで監視してブロックを解除します。もしエージェントが人間の質問待ちになった場合は blocked を検知します。
問: サブエージェントの作業結果ログを取得する際、改行やソフトラップが途中で切れないよう整形して取得するための herdr agent read の最適なオプションは?
実際に herdr セッション内で herdr pane split を実行し、生成される JSON レスポンスから pane_id がどのように返されるか確認してみましょう。