保全記録には触れない
保全履歴、作業指示、サービススケジュールは PMS Agent に属します。本エージェントは保全テーブルへのアクセスを持ちません。
Data Analysis Agent は、PostgreSQL から過去 BWTS センサーデータを取得・分析するフェーズ1 専門家です。IOT Manager がトレンド分析タスクを派遣すると、テレメトリ・テーブルに対して構造化クエリを実行し、パターンを特定し、パラメータを相関させ、マネージャーの相互参照ステップに使える自己完結的レポートを返します。
Recon — セッション発見
recon 分析を実行し、データベース内のすべての運転セッションを特定します。これによりセッション開始/終了タイムスタンプ、継続時間、ギャップが返されます。以降のすべての分析は、これらのセッション境界を時間窓として使用します。
時点チェック
現在のセッション内の最新データ点に対してスナップショット分析(system_snapshot、uv_compliance)を実行し、システムの現在状態を確立します。
トレンド分析 — 現セッション
recon で特定された現在の運転セッションにスコープを限定して、トレンド・健全性分析(uv_trend、power_headroom、lamp_health、filter_health、flow_analysis、thermal_status)を実行します。ドリフト、スパイク、振動、しきい値違反を探します。
前セッションとの比較
baseline_comparison を実行し、現セッションのメトリクスを前セッションと比較します。劣化、改善、または保全イベントや進行性摩耗を示す可能性のあるセッション間の突発変化を特定します。
統合
すべての分析出力を最終 DATA ANALYSIS REPORT に組み合わせます。相関パラメータ(例:UV強度低下と同時に流量が増加)を相互参照し、データギャップにフラグを立て、裏付け証拠とともに所見を要約します。
主要ツール bwts_analysis.py には、BWTS 運転の特定側面に調整された13の事前構築済み分析が含まれます。
| # | 分析 | 説明 |
|---|---|---|
| 1 | recon | 運転セッションを発見 — 開始/終了タイムスタンプ、継続時間、アイドルギャップ。最初に必ず実行。 |
| 2 | system_snapshot | 最新読み値における全主要パラメータの時点スナップショット |
| 3 | uv_compliance | UV強度がIMO D-2コンプライアンスしきい値を満たすかチェック |
| 4 | uv_trend | 現セッションのUV強度トレンド — ドリフト、減衰、突発低下を検出 |
| 5 | power_headroom | 現在のUVランプ消費電力を定格容量と比較 — 残存ヘッドルーム率 |
| 6 | lamp_health | ランプ別状態:強度、稼働時間、消費電力、故障指標 |
| 7 | filter_health | フィルター差圧トレンド — 目詰まり、逆洗有効性を検出 |
| 8 | flow_analysis | 流量安定性、ポンプ・サイクリング・パターン、バルブ位置相関 |
| 9 | thermal_status | 処理系統全体の温度読み値 — 過熱や冷却失敗を検出 |
| 10 | cip_status | Clean-In-Place サイクル履歴 — 最終 CIP タイムスタンプ、継続時間、化学濃度 |
| 11 | alert_patterns | 過去アラート頻度とクラスタリング — 再発アラーム、ストーム検出 |
| 12 | correlated_scan | 多パラメータ相関 — 異常時に一緒に動くパラメータを特定 |
| 13 | baseline_comparison | 現セッション・メトリクスを前セッションと比較し劣化を検出 |
すべての Data Analysis Agent 応答は、DATA ANALYSIS REPORT 構造に従います。
| セクション | 内容 |
|---|---|
| Operation Context | 船舶、機器タグ、recon からのセッション境界、運転モード |
| Trend | フラグされたパラメータの時系列要約 — 方向、変化率、しきい値接近度 |
| Lamp Status | ランプ別の強度、時間、消費電力 — UV関連アラートの場合のみ |
| Correlated Observations | フラグされたパラメータと同期して動いた他のパラメータ |
| Baseline | 前セッションとの比較 — 良化、悪化、または不変 |
| CIP Status | 最終 CIP サイクルの詳細 — 汚損や効率アラートに関連 |
| Operating Mode | 異常発生時にシステムが Treatment、Standby、CIP、Bypass のどれだったか |
| Evidence Summary | タイムスタンプと値を伴う所見の箇条書き |
| Data Gaps | 欠落読み値、センサー脱落、不完全セッション |
=== DATA ANALYSIS REPORT ===
OPERATION CONTEXT Vessel: MT Oceanic Star Equipment: BWTS-UV-003 Session: 2026-05-18 06:12 → 2026-05-18 18:44 (12h 32m) Mode: Treatment
TREND — UV_INTENSITY Start of session: 42.8 mJ/cm² End of session: 31.2 mJ/cm² Direction: Declining (-27%) Rate: -0.93 mJ/cm²/hour Threshold (40 mJ/cm²) breached at: 2026-05-18 09:17
CORRELATED OBSERVATIONS - FLOW_RATE increased 18% over same window (inverse correlation) - LAMP_3_POWER steady — no electrical fault detected
EVIDENCE SUMMARY • UV intensity declined 27% over 12.5 hours • Flow rate increase suggests higher turbidity reducing UV transmission • No lamp failure — all 4 lamps drawing rated power • CIP last run 28 days ago (due at 30 days)graph LR DA["Data Analysis\nAgent"] --> BW["bwts_analysis.py\nPrimary — 13 analyses"] DA --> DQ["db_query.py\nRaw SQL fallback"]
BW --> PG[("PostgreSQL")] DQ --> PG
subgraph "Tables" T1["bwts_iot_telemetry\n103 columns, ALL-CAPS"] T2["bwts_iot_predictions\ncamelCase columns"] end
PG --- T1 PG --- T2
style DA fill:#1a1a2e,stroke:#e94560,stroke-width:3px,color:#fff style BW fill:#16213e,stroke:#0f3460,stroke-width:2px,color:#fff style DQ fill:#16213e,stroke:#0f3460,stroke-width:2px,color:#fff style PG fill:#0d1b2a,stroke:#1b9aaa,stroke-width:2px,color:#fff style T1 fill:#0d1b2a,stroke:#1b9aaa,stroke-width:1px,color:#fff style T2 fill:#0d1b2a,stroke:#1b9aaa,stroke-width:1px,color:#fff| ツール | 目的 |
|---|---|
bwts_analysis.py | 主要分析ツール。分析名(例:recon、uv_trend)とオプション・パラメータを受け取り、構造化出力を返す。 |
db_query.py | 13の事前構築済み分析でカバーされないアドホック・クエリ向けの生 SQL フォールバック。控えめに使用。 |
保全記録には触れない
保全履歴、作業指示、サービススケジュールは PMS Agent に属します。本エージェントは保全テーブルへのアクセスを持ちません。
マニュアル検索しない
機器マニュアルの参照や文書化原因検索は Manual Agent の責務です。本エージェントはセンサーデータのみを扱います。
レポートを生成しない
IOT Manager の統合ステップ用の構造化テキスト・レポートを生成します。HTML を生成することも、クライアント向けレポートを整形することも、メールを送信することもありません。
メールや通知をしない
通信ツールを持ちません。所見はタスクシステムにのみ書き込みます。すべての外部通信は Report Agent を通じて流れます。