調査パイプライン
パイプライン概要
すべてのBWTSアラート調査は、固定されたフェーズ順序に従います。重要な設計原則は2つです — フェーズ1は4つのエージェントを並列実行して調査時間を最小化し、ゲートベースの依存追跡により各フェーズがポーリング遅延なく即時に遷移します。
sequenceDiagram participant App as Dashboard App participant AM as Alert Monitor participant MGR as IOT Manager participant DA as Data Agent participant MA as Manual Agent participant PMS as PMS Agent participant CF as Casefile Agent participant RPT as Report Agent participant ENG as Engineering Team
App->>AM: Alert email + API record activate AM AM->>AM: Claim & deduplicate AM->>MGR: Create alert task (alert_monitor_v1) deactivate AM
activate MGR Note over MGR: Parse alert, assess severity
MGR->>DA: Phase 1 — Sensor trends MGR->>MA: Phase 1 — All possible causes MGR->>PMS: Phase 1 — Maintenance history MGR->>CF: Phase 1 — Past incidents MGR->>MGR: Create Phase 1 Gate (blocked by all 4) deactivate MGR
activate DA activate MA activate PMS activate CF Note over DA,CF: Running in parallel
DA-->>MGR: Trends, correlations, anomaly timeline deactivate DA MA-->>MGR: All causes with alarm codes deactivate MA PMS-->>MGR: Overdue status, service gaps deactivate PMS CF-->>MGR: Past incidents, fleet patterns deactivate CF
Note over MGR: Gate resolves → auto-wake
activate MGR Note over MGR: SYNTHESIS — Cross-reference all evidence — Confirm root causes — Assign confidence levels
MGR->>MA: Phase 2 — Targeted remediation MGR->>MGR: Create Phase 2 Gate deactivate MGR
activate MA MA-->>MGR: Step-by-step procedures + safety warnings deactivate MA
Note over MGR: Gate resolves → auto-wake
activate MGR MGR->>RPT: Compile full context → Report deactivate MGR
activate RPT RPT->>RPT: Build HTML report RPT->>ENG: Email report RPT-->>MGR: Delivery confirmed deactivate RPT
Note over MGR: Mark investigation complete ✓フェーズ別の詳細
アラート検出
BWTSダッシュボード・アプリケーションが、センサーデータを継続的にモニタリングします。パラメータがしきい値を超える(例:UV強度がIMOコンプライアンス・レベル以下に下落)と、APIにアラートレコードを作成し、通知メールを送信します。
Alert Monitor エージェントは、スケジュールされたルーチンを通じてこれを取得し、アラートを確保し、未解決アラートの全体像を取得します。
graph LRA["Sensor Breach"] --> B["API Record"]A --> C["Email Notification"]B --> D["Alert Monitor"]C --> DD --> E["Claim + Deduplicate"]E --> F["Forward to Manager"]style A fill:#fef3c7,stroke:#f59e0bstyle D fill:#dbeafe,stroke:#3b82f6style F fill:#ede9fe,stroke:#8b5cf6フェーズ1 — 並列調査
IOT Manager はアラートタスクを受領し、即座に4つの専門エージェントを並列で派遣します。
エージェント 調査の焦点 データソース Data Analysis センサートレンド、相関、異常タイムライン PostgreSQL (telemetry) Manual Agent このアラーム種別のすべての考えられる原因 PureBallast 3.1 manual (621 pages) PMS Agent メンテナンス履歴、超過コンポーネント PostgreSQL (maintenance log) Casefile Agent 過去の類似事象、船隊パターン Task history + events DB 派遣後、マネージャーはフェーズ1ゲート — 4つすべてのサブタスクIDによってブロックされるタスク — を作成します。最後の専門家が終了した時点で、ゲートは自動的にアンブロックされ、マネージャーを起動します。
統合
マネージャーは自ら、フェーズ1のすべての出力を相互参照します。
- データ証拠の確認 — 低下は緩やか(劣化)か、突発(故障)か?
- メンテナンスの相互確認 — コンポーネントは整備超過か?
- マニュアル原因の妥当性確認 — アラームコードはデータの示すものと一致するか?
- 履歴の確認 — 以前に発生したことがあるか?前回有効だったのは何か?
各根本原因には確信度が付与されます:
レーティング 意味 基準 HIGH 高い確度 3つ以上の独立ソースが一致 MEDIUM 可能性あり 2ソースが一致 LOW 可能性のある 単一ソースまたは矛盾する証拠 これがマネージャーが決して委任しない唯一のステップです — すべての証拠ソースを同時に推論する必要があるためです。
フェーズ2 — 標的型修復
マネージャーは確定した根本原因を機器マニュアル・エージェントに送り、2回目の標的型検索を行います。
- 各確定原因に対する正確な手順別修復プロセス
- 安全警告(マニュアルから一字一句引用)
- 必要な工具と予備部品
- マニュアルのセクション・ページ参照
レポート & 配信
最終レポート & メール・エージェントは完全な調査パッケージを受領し、以下を行います。
- すべての必須入力が揃っているかを検証
report_builder.pyを使用して構造化HTMLレポートを生成- 緊急度ベースの色分け(赤/オレンジ/青)を適用
- Gmail SMTP 経由でレポートをエンジニアリングチームに送信
レポートには以下が含まれます:
- アラート要約 — すべてのアクティブ・アラートを一覧表化
- 診断 — 確信度付きの確定根本原因
- 推奨アクション — 緊急度別にグループ化された手順別修復策
ゲートベースの起動パターン
ポーリング遅延を排除する、重要な設計特性です。
graph TD subgraph "Phase 1" T1["Data Agent Task"] T2["Manual Agent Task"] T3["PMS Agent Task"] T4["Casefile Agent Task"] end
G1["Phase 1 Gate\nstatus: blocked\nblockedBy: T1, T2, T3, T4"]
T1 -- "done ✓" --> G1 T2 -- "done ✓" --> G1 T3 -- "done ✓" --> G1 T4 -- "done ✓" --> G1
G1 -- "All resolved → auto-wake" --> SYN["Manager: Synthesis"]
SYN --> T5["Manual Agent Phase 2"] T5 --> G2["Phase 2 Gate\nblockedBy: T5"] G2 -- "Resolved → auto-wake" --> RPT["Manager: Dispatch Report"]
style G1 fill:#fef3c7,stroke:#f59e0b style G2 fill:#fef3c7,stroke:#f59e0b style SYN fill:#fce7f3,stroke:#ec4899 style RPT fill:#fef2f2,stroke:#ef4444