コンテンツにスキップ

IOT Manager

役割

IOT Manager は BWTS IOT チームの中央コーディネーターです。専門業務そのものを行うことはありません — データベース問い合わせも、マニュアル原因検索も、メール作成も行いません。その唯一の任務は、適切なエージェントを適切な順序でオーケストレートし、出力を統合し、統一された根本原因評価を生み出すことです。


何をするか

  1. アラートを受領

    Alert Monitor は IOT Manager 宛てに、構造化アラート・ペイロード(alert_monitor_v1 スキーマ)を含むタスクを作成します。マネージャーはアラートをパースし、船舶、機器タグ、違反パラメータを特定します。

  2. フェーズ1を派遣 — 4つの並列調査

    マネージャーは4つのタスクを同時に作成し、各専門家に1つずつ割り当てます:

    タスク担当目的
    トレンド分析Data Agentフラグされたパラメータの7日間のセンサートレンドを取得
    マニュアル原因検索Manual Agentこのアラーム種別の既知原因を機器マニュアルから検索
    メンテナンス履歴PMS Agent機器の最近の保全記録と作業指示を取得
    事例履歴Casefile Agent同一機器または同一アラームコードの過去事象を検索

    4つすべてのタスクは blockedByIssueIds なしで作成されるため、並列実行されます。

  3. フェーズ1の完了を待つ

    マネージャーはタスク状態をモニタリングします。4つすべてのフェーズ1タスクが完了とマークされた場合にのみ統合へ進みます。いずれかのタスクが失敗した場合、マネージャーは下記のエラーハンドリング・プロトコルに従います。

  4. 統合 — 相互参照とスコアリング

    マネージャーはすべてのフェーズ1結果を読み、自らの統合ロジックを適用して以下を生成します:

    • 可能性の高い根本原因のランク付きリスト
    • 各原因の確信度
    • 各専門家の所見にマップされた裏付け証拠
  5. フェーズ2を派遣 — レポート生成

    マネージャーは Report Agent 宛てに、完全な統合ペイロードを含む単一のタスクを作成します。このタスクは順序を保証するため、すべてのフェーズ1タスクを参照する blockedByIssueIds を使用します。Report Agent が最終 HTML レポートを整形し配信します。

  6. ループを閉じる

    Report Agent が配信を確認した時点で、マネージャーは元のアラートタスクを解決済みとマークし、将来の参照のため Para Memory に要約を書き込みます。


統合ロジック

統合はマネージャーの中核的な知的貢献です。構造化された相互参照プロセスに従います。

相互参照マトリクス

マネージャーは、行が候補原因列が証拠ソースとなるマトリクスを構築します:

Data Agent (Trends)Manual Agent (Known Causes)PMS Agent (Maintenance)Casefile Agent (History)
原因 Aトレンドのスパイクが一致マニュアルに記載最近の部品交換3か月前の類似事象
原因 B相関なしマニュアルに記載関連作業指示なし過去事例なし
原因 C緩やかなドリフトが可視マニュアルになし較正期日超過過去事例1件

確信度の評価

マネージャーは、独立ソースが候補原因を何件裏付けているかに基づき、確信度を付与します:

レーティング一致したソース数解釈
HIGH3つ以上強い収束 — 可能性の高い根本原因として扱う
MEDIUM2つ妥当 — 注記付きでレポートに含める
LOW1つ思弁的 — 他に高評価原因が無い場合のみ言及

矛盾の解決

専門家どうしが矛盾する場合(例:Manual Agent が「センサードリフト」と言う一方、トレンドがクリーンなステップ変化を示す)、マネージャーは:

  1. 矛盾を統合の中で明示的に記載する。
  2. データ駆動ソース(Data Agent、PMS Agent)を、テキスト駆動ソース(Manual Agent、Casefile Agent)よりも重く扱う。
  3. 矛盾を最終レポートで人間レビュー用にフラグする。

チーム相互作用

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:#fff

委任テーブル

Data 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の専門家タスクが失敗した場合(タイムアウト、エラー、空返却):

  1. マネージャーは短い遅延後に1回リトライします。
  2. リトライも失敗した場合、マネージャーは残りの専門家のデータで進めます。
  3. 統合は欠落データソースを明示的に記載し、確信度を相応に引き下げます。
  4. 最終レポートに、どの専門家が利用不可だったかを記載する「データ・ギャップ」セクションが含まれます。

ツール

ツール目的
タスク・オーケストレーションLifeOSAI タスクシステム経由で各専門家のタスクを作成、モニタリング、クローズ
ゲート依存関係 (blockedByIssueIds)フェーズ1 → フェーズ2 の順序を強制し、Report Agent が統合前に動かないようにする
Para Memory調査要約を保存、進行中機器を追跡、週次統合に投入