Data Agent
受領: 機器タグ、パラメータ名、時間窓。
返却: 7日間のトレンドデータ、異常タイムスタンプ、統計サマリー。
タイミング: すべてのアラート — 常にフェーズ1で派遣。
IOT Manager は BWTS IOT チームの中央コーディネーターです。専門業務そのものを行うことはありません — データベース問い合わせも、マニュアル原因検索も、メール作成も行いません。その唯一の任務は、適切なエージェントを適切な順序でオーケストレートし、出力を統合し、統一された根本原因評価を生み出すことです。
アラートを受領
Alert Monitor は IOT Manager 宛てに、構造化アラート・ペイロード(alert_monitor_v1 スキーマ)を含むタスクを作成します。マネージャーはアラートをパースし、船舶、機器タグ、違反パラメータを特定します。
フェーズ1を派遣 — 4つの並列調査
マネージャーは4つのタスクを同時に作成し、各専門家に1つずつ割り当てます:
| タスク | 担当 | 目的 |
|---|---|---|
| トレンド分析 | Data Agent | フラグされたパラメータの7日間のセンサートレンドを取得 |
| マニュアル原因検索 | Manual Agent | このアラーム種別の既知原因を機器マニュアルから検索 |
| メンテナンス履歴 | PMS Agent | 機器の最近の保全記録と作業指示を取得 |
| 事例履歴 | Casefile Agent | 同一機器または同一アラームコードの過去事象を検索 |
4つすべてのタスクは blockedByIssueIds なしで作成されるため、並列実行されます。
フェーズ1の完了を待つ
マネージャーはタスク状態をモニタリングします。4つすべてのフェーズ1タスクが完了とマークされた場合にのみ統合へ進みます。いずれかのタスクが失敗した場合、マネージャーは下記のエラーハンドリング・プロトコルに従います。
統合 — 相互参照とスコアリング
マネージャーはすべてのフェーズ1結果を読み、自らの統合ロジックを適用して以下を生成します:
フェーズ2を派遣 — レポート生成
マネージャーは Report Agent 宛てに、完全な統合ペイロードを含む単一のタスクを作成します。このタスクは順序を保証するため、すべてのフェーズ1タスクを参照する blockedByIssueIds を使用します。Report Agent が最終 HTML レポートを整形し配信します。
ループを閉じる
Report Agent が配信を確認した時点で、マネージャーは元のアラートタスクを解決済みとマークし、将来の参照のため Para Memory に要約を書き込みます。
統合はマネージャーの中核的な知的貢献です。構造化された相互参照プロセスに従います。
マネージャーは、行が候補原因、列が証拠ソースとなるマトリクスを構築します:
| Data Agent (Trends) | Manual Agent (Known Causes) | PMS Agent (Maintenance) | Casefile Agent (History) | |
|---|---|---|---|---|
| 原因 A | トレンドのスパイクが一致 | マニュアルに記載 | 最近の部品交換 | 3か月前の類似事象 |
| 原因 B | 相関なし | マニュアルに記載 | 関連作業指示なし | 過去事例なし |
| 原因 C | 緩やかなドリフトが可視 | マニュアルになし | 較正期日超過 | 過去事例1件 |
マネージャーは、独立ソースが候補原因を何件裏付けているかに基づき、確信度を付与します:
| レーティング | 一致したソース数 | 解釈 |
|---|---|---|
| HIGH | 3つ以上 | 強い収束 — 可能性の高い根本原因として扱う |
| MEDIUM | 2つ | 妥当 — 注記付きでレポートに含める |
| LOW | 1つ | 思弁的 — 他に高評価原因が無い場合のみ言及 |
専門家どうしが矛盾する場合(例:Manual Agent が「センサードリフト」と言う一方、トレンドがクリーンなステップ変化を示す)、マネージャーは:
graph LR AM["Alert Monitor\nEntry point"] -->|"Creates alert task"| MGR["IOT Manager\nCoordinator"]
MGR -->|"Phase 1 (parallel)"| DA["Data Agent\nSensor trends"] MGR -->|"Phase 1 (parallel)"| MA["Manual Agent\nKnown causes"] MGR -->|"Phase 1 (parallel)"| PMS["PMS Agent\nMaintenance records"] MGR -->|"Phase 1 (parallel)"| CA["Casefile Agent\nPast incidents"]
DA -->|"Results"| MGR MA -->|"Results"| MGR PMS -->|"Results"| MGR CA -->|"Results"| MGR
MGR -->|"Phase 2 (after synthesis)"| RA["Report Agent\nHTML report & delivery"] RA -->|"Delivery confirmed"| MGR
style MGR fill:#1a1a2e,stroke:#e94560,stroke-width:3px,color:#fff style AM fill:#16213e,stroke:#0f3460,stroke-width:2px,color:#fff style DA fill:#16213e,stroke:#0f3460,stroke-width:2px,color:#fff style MA fill:#16213e,stroke:#0f3460,stroke-width:2px,color:#fff style PMS fill:#16213e,stroke:#0f3460,stroke-width:2px,color:#fff style CA fill:#16213e,stroke:#0f3460,stroke-width:2px,color:#fff style RA fill:#16213e,stroke:#0f3460,stroke-width:2px,color:#fffData Agent
受領: 機器タグ、パラメータ名、時間窓。
返却: 7日間のトレンドデータ、異常タイムスタンプ、統計サマリー。
タイミング: すべてのアラート — 常にフェーズ1で派遣。
Manual Agent
受領: アラームコード、機器種別。
返却: 機器マニュアルからの文書化原因リスト、推奨アクション。
タイミング: すべてのアラート — 常にフェーズ1で派遣。
PMS Agent
受領: 機器タグ、日付範囲。
返却: 最近の作業指示、期日超過保全項目、部品交換履歴。
タイミング: すべてのアラート — 常にフェーズ1で派遣。
Casefile Agent
受領: 機器タグ、アラームコード。
返却: 過去事象、その根本原因、解決策。
タイミング: すべてのアラート — 常にフェーズ1で派遣。
Report Agent
受領: 完全な統合ペイロード(原因、確信度、証拠マップ、推奨アクション)。
返却: 整形された HTML レポートが関係者にメール送信された確認。
タイミング: フェーズ2のみ — 統合が完了した後。
| 禁止アクション | 代わりに担当するエージェント |
|---|---|
| データベース問い合わせやセンサーデータ取得 | Data Agent |
| 機器マニュアルやPDFの検索 | Manual Agent |
| 保全記録や作業指示の参照 | PMS Agent |
| 過去事案ケースファイルの検索 | Casefile Agent |
| メールの作成や送信 | Report Agent |
| HTMLレポートの生成 | Report Agent |
| 新規アラートのポーリング | Alert Monitor |
フェーズ1の専門家タスクが失敗した場合(タイムアウト、エラー、空返却):
どの候補原因も MEDIUM または HIGH 確信度に達しない場合:
すでに調査中の機器に対して新たなアラートが届いた場合:
| ツール | 目的 |
|---|---|
| タスク・オーケストレーション | LifeOSAI タスクシステム経由で各専門家のタスクを作成、モニタリング、クローズ |
ゲート依存関係 (blockedByIssueIds) | フェーズ1 → フェーズ2 の順序を強制し、Report Agent が統合前に動かないようにする |
| Para Memory | 調査要約を保存、進行中機器を追跡、週次統合に投入 |