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

製造業データ解析・並列オーケストレーション設計パターン

複数ロット・条件の実験センサデータ(CSV等)を、親エージェントが子エージェントに分散して並列処理させるための設計指針です。

1. ファイル入出力分離パターン (Contract by Artifacts)

端末画面(標準出力)に数万行のログを流すとコンテキストを圧迫し、ターミナルのバッファ溢れが発生します。 そのため、「入力CSV → 解析結果JSON/PNG → サマリーMarkdown」 というファイル媒介の規約(インターフェース)を定義するのが鉄則です。

役割担当エージェント入出力ファイル
Worker 1 worker_batch_a (pi) 入力: data/run_batch_A.csv
出力: data/result_batch_A.json
Worker 2 worker_batch_b (pi) 入力: data/run_batch_B.csv
出力: data/result_batch_B.json
Orchestrator 親 (pi) 入力: 各 data/result_*.json
出力: REPORT.md (考察・比較表)

2. スクリプト自動化テンプレート

#!/bin/bash
# 2つの子ペインを作成して並列投入する例

# Pane A 作成 & 起動
PA_RAW=$(herdr pane split --current --direction right --no-focus)
PA_ID=$(echo "$PA_RAW" | jq -r '.result.pane.pane_id')
herdr agent start worker_a --kind pi --pane "$PA_ID"

# Pane B 作成 (下分割) & 起動
PB_RAW=$(herdr pane split --pane "$PA_ID" --direction down --no-focus)
PB_ID=$(echo "$PB_RAW" | jq -r '.result.pane.pane_id')
herdr agent start worker_b --kind pi --pane "$PB_ID"

# 並列タスク投入 (同期 --wait を使わずに投入)
herdr agent prompt worker_a "run_batch_A.csv を分析し result_batch_A.json を生成して"
herdr agent prompt worker_b "run_batch_B.csv を分析し result_batch_B.json を生成して"

# 各ワーカの完了を待機
herdr agent wait worker_a --timeout 180000
herdr agent wait worker_b --timeout 180000