Media > AI活用ユースケース > カスタマーサポート > 機械警備の発報の記録を毎朝集め、誤報の原因を設定・小動物・機器の不具合などで分けて、同じ契約先で続く誤報を担当に知らせる

機械警備の発報の記録を毎朝集め、誤報の原因を設定・小動物・機器の不具合などで分けて、同じ契約先で続く誤報を担当に知らせる

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

監視センターに届いた発報の記録と警備員の対処報告を毎朝まとめ、異常のなかった発報を誤報の原因で分けます。同じ契約先や同じセンサーで誤報が続いているものを拾い、担当の営業と技術に知らせます。

サマリー
生成AI
ChatGPT/Claude
連携・自動化
Make/n8n/Power Automate/Python
対象業界
その他/不動産/介護/小売
対象部門
カスタマーサポート
対象業務
分類・仕分け/集計・分析
主な課題
入力作業が多い/属人化している/期限・対応漏れが起きる
AIで行う処理
分類
主な効果
属人化解消/工数削減/機会損失防止
導入難易度
★★★☆☆
実装レベル
本格構成
費用感
ノーコード連携(中)
人間の確認
条件付き
現在工数
60h/月
AI導入後
20h/月
想定削減
67%
年間削減
480h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. 朝の始業後、管制担当が監視の仕組みの画面で前日分の発報の一覧を開く
  2. 1件ずつ、発報の種類、センサーの位置、警備員の対処報告を読む
  3. 「異常なし」の発報について、対処報告の自由記述から誤報の原因を決め、台帳のスプレッドシートに区分を付けて転記する
  4. 原因の書かれ方が曖昧なものは、前日の管制員や出動した警備員に聞き直す
  5. 気になる契約先があれば、台帳を契約先コードで絞り込み、過去1か月の誤報を数える
  6. 同じ契約先で誤報が続いていれば、担当の営業か技術にメールや Teams で知らせる
  7. 週末と祝日の分は、翌営業日にまとめて行う
導入後(After)
  1. 自動毎朝5時に、監視の仕組みが前日分の発報の記録を CSV で社内の SFTP サーバーへ書き出す
  2. 自動6時に n8n のワークフローが動き、CSV を取り込んで1行1件にする
  3. 自動規則で、本当の異常の可能性がある発報(火災・非常通報の信号、警備員の報告が「異常あり」「警察へ通報」、対処報告が空欄)を分類から外し、人の確認の列へ回す
  4. 自動残った「異常なし」の発報について、対処報告の文面と信号の種類を AI に渡し、誤報の原因の区分を1つ選ばせる
  5. 自動区分に当てはまらないものは「その他」として人の確認の列へ回す
  6. 自動分類の結果を、n8n の Data Table の誤報台帳に1件ずつ書き込む
  7. 自動台帳から直近30日の誤報を契約先ごと・センサーごとに数え、決めた回数を超えたものを拾う
  8. 自動拾った契約先ごとに、担当の営業と技術へ送る連絡文の下書きを作る
  9. 人管制担当が、③と⑤で回ってきたものと、⑦で拾った契約先の一覧を確かめる
  10. 人連絡文を直して担当へ送る。区分の誤りは台帳で直す
各工程の詳しい説明を読む
  1. 朝の始業後、管制担当が監視の仕組みの画面で前日分の発報の一覧を開く
  2. 1件ずつ、発報の種類、センサーの位置、警備員の対処報告を読む
  3. 「異常なし」の発報について、対処報告の自由記述から誤報の原因を決め、台帳のスプレッドシートに区分を付けて転記する
  4. 原因の書かれ方が曖昧なものは、前日の管制員や出動した警備員に聞き直す
  5. 気になる契約先があれば、台帳を契約先コードで絞り込み、過去1か月の誤報を数える
  6. 同じ契約先で誤報が続いていれば、担当の営業か技術にメールや Teams で知らせる
  7. 週末と祝日の分は、翌営業日にまとめて行う

(a)転記と区分付けに朝の時間が消える。 1日40件前後、多い日は100件を超える発報を、画面から台帳へ写します。読む・決める・写すの3つを1件ずつ行うので、件数がそのまま時間になります。

(b)原因の付け方が人によって違う。 「扉が半開き」を利用者の操作とする人もいれば、扉の建て付けとして機器の不具合とする人もいます。台帳の区分が揃わないので、あとで集計しても傾向が見えません。

(c)続いている誤報に気づくのが遅れる。 5番目の絞り込みは「気になる契約先があれば」行うもので、気にならなかった契約先は数えられません。 週に一度ずつ3週続いた誤報は、毎朝の担当が違うと誰の目にも続いて見えません。

  1. 【自動】 毎朝5時に、監視の仕組みが前日分の発報の記録を CSV で社内の SFTP サーバーへ書き出す
  2. 【自動】 6時に n8n のワークフローが動き、CSV を取り込んで1行1件にする
  3. 【自動】 規則で、本当の異常の可能性がある発報(火災・非常通報の信号、警備員の報告が「異常あり」「警察へ通報」、対処報告が空欄)を分類から外し、人の確認の列へ回す
  4. 【自動】 残った「異常なし」の発報について、対処報告の文面と信号の種類を AI に渡し、誤報の原因の区分を1つ選ばせる
  5. 【自動】 区分に当てはまらないものは「その他」として人の確認の列へ回す
  6. 【自動】 分類の結果を、n8n の Data Table の誤報台帳に1件ずつ書き込む
  7. 【自動】 台帳から直近30日の誤報を契約先ごと・センサーごとに数え、決めた回数を超えたものを拾う
  8. 【自動】 拾った契約先ごとに、担当の営業と技術へ送る連絡文の下書きを作る
  9. 【人】 管制担当が、③と⑤で回ってきたものと、⑦で拾った契約先の一覧を確かめる
  10. 【人】 連絡文を直して担当へ送る。区分の誤りは台帳で直す

9番目で人が見るのは、全件ではありません。 1,200件のうち、規則で外したもの、「その他」に回ったもの、連続として拾われた契約先だけです。それ以外の区分付けは一覧で流し見て終わりにします。

7番目を規則で決めているのも意図してのことです。 回数の基準は契約先の種類で変わり、季節でも変わります。基準を変えても、AI の指示は書き直しません。

02今回想定するシステム構成

構成図
監視の仕組み(発報の記録・対処報告)
   │  毎朝5:00 に前日分を CSV で書き出す
   ▼ 社内の SFTP サーバー
【トリガー】毎朝6:00(Schedule Trigger)
   ▼
n8n
   ├─ FTP(SFTP の資格情報で Download)── 前日分の CSV
   ├─ Extract From File(Extract From CSV)── 1行1件に
   ├─ Code ── 本当の異常の可能性がある発報を規則で外す・伏せ字
   ▼
Text Classifier + Anthropic Chat Model ── 誤報の原因の区分(Other の出口あり)
   ▼
Data Table ── 誤報台帳に書き込み/直近30日分を取り出し
   ▼
Summarize ── 契約先ごと・センサーごとに数える
   ▼
Basic LLM Chain + Anthropic Chat Model ── 担当への連絡文の下書き
   ▼
Microsoft Teams ── 管制課のチャネルへ一覧と下書き
   ▼
【管制担当が確かめて担当へ送る】
役割想定する製品代替候補
ワークフローn8n(自社のサーバーに置く)Make、Power Automate
生成AIClaude(n8n の Anthropic Chat Model ノード)OpenAI API
集計n8n の Summarize ノードPython
保管n8n の Data Table(誤報台帳、契約先と担当の対応表)スプレッドシート
通知Microsoft Teams(n8n の Microsoft Teams ノード)Slack

新しく足すのは、n8n と、監視の仕組みからの書き出しです。 監視の仕組みが発報の記録をファイルで書き出せることが前提で、書き出しの設定は監視の仕組みの提供元に確かめます。 書き出せない場合は、この構成の入口から個別の作業になります。

n8n を選ぶのは、自社のサーバーに置けるからです。 発報の記録には、契約先の名称と住所、警戒の開始と解除の時刻が並びます。いつ建物が無人になるかが分かる情報です。 ワークフローを社内に置き、外へ出るのは伏せ字にした対処報告の文面だけにします。

SFTP の取り込みは FTP ノードで行います。 公式ページでは、このノードは FTP と SFTP のサーバーに対して動き、SFTP では SFTP の資格情報を使うとされています。

分類は Text Classifier ノードです。 区分ごとに名前と説明を持たせると、モデルが各入力を読んでどの区分かを選びます。区分ごとに出口が分かれ、当てはまらないときの扱いを「捨てる」か「Other の出口へ出す」かで選べます。

03どうやって実装するのか

Step1

処理の起点を決める

毎朝6時に1回動かします。 Schedule Trigger の Days の間隔で時刻を決めるか、cron の式で 0 6 * * * と書きます。n8n を自社のサーバーに置く場合、タイムゾーンの既定は America/New York です。 ワークフローかインスタンスのタイムゾーンを Asia/Tokyo にしないと、日本時間の夜に動きます。

発報のたびに動かす形にはしません。 誤報の原因は、警備員が現場から戻って対処報告を書き終えてからでないと分かりません。深夜の発報の報告は明け方に入ることもあるので、前日分が出そろう朝にまとめて読みます。

監視の仕組みの書き出しを5時、ワークフローを6時にずらしておきます。 書き出しが遅れた日に、空のファイルを読んで「発報0件」と報告しないためです。ワークフローは、前日の日付の CSV が無ければ止まって管制課へ知らせます。

Schedule Trigger を使うワークフローは、保存して公開しておく必要があります。 編集の画面で試しに動かすだけでは、翌朝は動きません。

Step2

入力データを集める

データ中身取得元
発報の記録発報の日時、契約先コード、センサーの番号と種類、信号の種類(侵入・開閉・火災・設備・非常通報)、警戒の状態監視の仕組みの CSV
警備員の対処報告現着の時刻、報告の区分(異常なし/異常あり)、警察・消防への通報の有無、所見の自由記述同じ CSV(発報の記録と同じ行)
契約先の対応表契約先コード、建物の種類、担当の営業と技術の Teams のアカウント、センサーの設置年n8n の Data Table
誤報台帳これまでの分類の結果(直近90日分)n8n の Data Table

AI に渡すのは、2行目の所見の自由記述と、信号の種類・センサーの種類だけです。 契約先の名称・住所・警戒の時刻は渡しません。原因を読み分けるのに、どこの建物かは要りません。

契約先の対応表には「建物の種類」の列を持たせます。 店舗と倉庫と介護施設では、同じ「扉の開閉の信号」でも誤報の起き方が違います。連続の基準を建物の種類で変えるときに使います。

センサーの設置年は、技術の担当へ渡す連絡文に入れます。 古い機器で誤作動が続いているなら、設定を見直すより交換の提案が先になります。

Step3

データの取得方法を決める

取るものどこからどのノードで
前日分の CSV社内の SFTP サーバーの書き出し用フォルダFTP(SFTP の資格情報、Download)
1行1件の発報取り込んだ CSVExtract From File(Extract From CSV)
契約先の担当契約先の対応表Data Table(Row の Get)
直近30日の誤報誤報台帳Data Table(Row の Get)

取り込んだ CSV は、成功したときだけ処理済みのフォルダへ移します。 FTP ノードの Rename で、移し先のフォルダが無ければ作るオプションを有効にしておきます。書き出し用のフォルダに残っている数が、そのまま未処理の日数になります。

CSV の1行目が見出しになっているかを、最初に確かめます。 Extract From File の CSV の取り込みには見出しの行の扱いを決める設定があり、見出しとして扱わないと、列が番号で返ります。 監視の仕組みの書き出しの文字コードもあわせて確かめ、文字化けしたまま分類に回さないようにします。

誤報台帳と対応表は、Code ノードからは直接読めません。 公式ページでは、Code ノードは Data Table の値に直接アクセスできないとされています。Data Table ノードで取り出してから、後ろの Code ノードへ渡します。

Step4

AIへ渡す前に整形する

  1. 前日分の確認 … 発報の日時がすべて前日の範囲に入っているかを見ます。範囲外の行は、書き出しの設定の誤りとして止めます
  2. 本当の異常の可能性があるものを外す … 次のどれかに当たる行は分類に回さず、人の確認の列へ回します

- 信号の種類が火災・非常通報 - 警備員の報告の区分が「異常あり」 - 警察・消防への通報の有無が「あり」 - 対処報告の所見が空欄、または「確認中」

  1. 伏せ字 … 所見の自由記述から、契約先の名称、人の名前、電話番号、暗証番号らしい数字の並びを伏せます
  2. 短すぎる所見の扱い … 「異常なし」の一言だけのものは、分類に回さず「所見なし」として台帳に記録します
  3. 重複の除去 … 同じ契約先・同じセンサー・数分以内の発報が続いているものは、1件の出動にまとめます

2番目が、この構成の安全の要です。 本当の侵入や火災の発報を「環境による誤報」に分けてしまうと、台帳の上では何も起きなかったことになります。 その種類の発報は最初から AI に見せません。

3番目で暗証番号を伏せるのは、所見に書かれることがあるからです。 「暗証番号◯◯◯◯を3回誤入力」と書く警備員がいます。解除の番号が外へ出ることは、建物の鍵が外へ出ることと同じです。

5番目は、数え過ぎを防ぐためです。 扉が風で揺れて数分おきに3回発報した出動を3件と数えると、1晩で連続の基準を超えてしまいます。

Step5

AIに処理させる

させるのは、所見の文面を読み、誤報の原因を次の区分のどれか1つに分けることだけです。

区分説明(Text Classifier の区分の説明に書く)
利用者の操作警戒の開始・解除の操作の誤り、操作を忘れたままの入室、従業員や清掃業者への周知漏れ
設定警戒の区画・時刻のタイマー・センサーの感度など、警備会社側の設定が実態に合っていない
小動物・虫ネズミ・鳥・猫・虫など、生き物がセンサーに反応した痕跡や目撃がある
環境風・温度の急な変化・結露・揺れ・日差し・空調の風・掲示物の揺れなど
機器の不具合センサー・配線・電池・通信の機器の故障や劣化。警備員が機器の異常を確かめたもの

Allow Multiple Classes To Be True はオフにします。 1件の誤報に区分を1つだけ付けます。複数を許すと、「扉が半開きで風に揺れた」が利用者の操作と環境の両方になり、台帳の数え方が決まらなくなります。

When No Clear Match は「Output on Extra, 'Other' Branch」にします。 既定の Discard Item のままだと、どの区分にも当てはまらない発報が黙って消えます。 消えた発報は台帳にも残らず、連続の数にも入りません。

させないこと理由
本当の異常だったかの判断前処理の規則で外す。AI に見せない
回数を数えること・連続の判定台帳の集計で出す
機器の交換・設定の変更の要否技術の担当が現地を見て決める
契約先の落ち度の評価連絡文は事実だけ。責める言葉を書かない
所見に無いことの補完「おそらくネズミ」と補わない。書かれていなければ Other

5行目がいちばん起きやすい失敗です。 倉庫の扉の開閉の発報で所見が「異常なし、施錠確認」だけのとき、モデルは倉庫ではよくあることとして小動物を選びがちです。根拠の無い分類は台帳を汚し、存在しない連続を作ります。

Step6

指示内容を固定する

Text Classifier の System Prompt Template を次のように書き換えます。{categories} は区分の一覧が入る置き場所です。

あなたは機械警備の監視センターで、警備員の対処報告から誤報の原因を分類する係です。
渡されるのは、警備員が現場で「異常なし」と報告した発報の所見だけです。

【区分】
{categories}

【厳守事項】
- 所見に書かれた事実だけを根拠にしてください。
  建物の種類や時刻から「よくある原因」を推測して区分を選ばないでください。
- 所見に原因の手がかりが無いとき、どの区分も選ばないでください。
- 「扉が半開き」のように、人の操作と環境の両方が書かれているときは、
  発報の直接のきっかけになった方を選んでください。
  直接のきっかけが書かれていなければ、どの区分も選ばないでください。
- 機器の不具合は、警備員が機器の異常(電池切れの表示、配線の外れ、
  センサーの破損、通信の途絶)を確かめた記述があるときだけ選んでください。
  「原因不明のため機器の誤作動と思われる」は機器の不具合ではありません。
- 侵入・火災・けが人の可能性をうかがわせる記述があれば、
  どの区分も選ばないでください。

Input Prompt には次の式を入れます。

信号の種類:{{ $json.signal_type }}
センサーの種類:{{ $json.sensor_type }}
所見:{{ $json.finding_masked }}

「原因不明のため機器の誤作動と思われる」を機器の不具合にしない、と書くのが要点です。 警備員は原因が分からないとき、この言い回しをよく使います。何も言わなければ機器の不具合の区分が膨らみ、技術の担当に根拠の無い点検の依頼が届きます。

最後の1行は、前処理の規則をすり抜けたものへの二重の守りです。 「異常なし」の報告でも、所見に「窓ガラスに傷」と書かれていることがあります。その1件を分類せず Other に出して人に見せます。

入力の式は Text Classifier の Input Prompt の側に書きます。 Anthropic Chat Model のようなサブノードでは、式が常に最初の1件で解決されるとされています。チャットモデルの側に {{ $json... }} を書くと、全件が1件目の所見で分類されます。

Step7

出力形式を固定する

Text Classifier の出口ごとに Set のノードを置き、台帳の1行を次の形に揃えます。

{
  "alarm_id": "A-20261013-0412",
  "alarm_at": "2026-10-13T02:14:00+09:00",
  "contract_code": "C-01873",
  "sensor_id": "S-05",
  "signal_type": "intrusion",
  "route": "classified | excluded | other | no_finding",
  "cause": "user_operation | configuration | animal | environment | equipment | null",
  "finding_masked": "",
  "classified_by": "ai | rule | human",
  "corrected": false
}

1つ目の理由は、route で「分類されなかった理由」を残せることです。 規則で外した(excluded)、AI がどの区分も選ばなかった(other)、所見が無かった(no_finding)は、どれも cause が空ですが、意味がまったく違います。 混ぜると、本当の異常の可能性で外した発報まで「原因不明の誤報」に数えられます。

2つ目は、classified_by と corrected で人の直しを数えられることです。 管制担当が区分を直したら human と true にします。どの区分がよく直されているかで、区分の説明の書き直しの順が決まります。

連続の拾い出しは、台帳とは別の形で出します。

{
  "contract_code": "C-01873",
  "building_type": "倉庫",
  "window_days": 30,
  "false_alarm_count": 4,
  "by_cause": { "animal": 3, "environment": 1 },
  "by_sensor": { "S-05": 3, "S-02": 1 },
  "rule_hit": "same_sensor_3_or_more",
  "sales_owner": "",
  "tech_owner": "",
  "draft_message": ""
}

rule_hit に、どの基準で拾ったかを書きます。 「同じ契約先で30日に4回以上」「同じセンサーで30日に3回以上」「同じ区分が3回続いた」のどれに当たったかで、営業に回すか技術に回すかが変わります。

Step8

システムへ連携する

つなぎ先方式内容
SFTP サーバーFTP ノード(SFTP の資格情報)前日分の CSV を取り込み、処理済みへ移す
Data TableData Table ノード誤報台帳への書き込み、対応表と直近30日分の取り出し
ClaudeAnthropic Chat Model ノード区分の選択と連絡文の下書き
Microsoft TeamsMicrosoft Teams ノード管制課のチャネルへ一覧と下書きを送る
監視の仕組み書き出しのみこの構成からは書き込まない

連続の数は Summarize ノードで出します。 Data Table の Row の Get で直近30日の誤報を取り出し、Summarize で contract_code と sensor_id を Fields to Split By に入れて Count を取ります。公式ページでは、Fields to Split By は group by に近い働きとされています。

Teams への送り先は、管制課のチャネルにします。 Channel Message の Create で、拾った契約先の一覧と下書きを1日1件のメッセージにまとめます。担当の営業と技術へ直接は送りません。 下書きを確かめた管制担当が転送します。

Teams の資格情報の種類に気をつけます。 公式ページでは、Service Principal(App-Only)の資格情報は Chat・Chat Member・Chat Message に対応せず、Channel Message も一部の対応とされています。チャネルへの投稿が通るかを、組む前に試します。

Step9

人が確認する

管制担当が毎朝見るのは、次の3つの列だけです。

  1. 規則で外した発報(excluded) … 本当の異常の可能性があるもの。監視センターの通常の手順で、報告の中身と出動の記録を確かめます
  2. 区分の付かなかった発報(other) … 所見を読み、区分を付けるか、出動した警備員に聞き直します
  3. 連続として拾われた契約先 … 下書きを読み、事実の誤りが無いかを確かめて担当へ転送します

分類が付いた発報は、一覧で流し見ます。 区分の誤りに気づいたら台帳で直し、corrected を立てます。

3番目の下書きは、送る前に必ず所見の原文と突き合わせます。 連絡文は営業から契約先への提案のもとになります。「ネズミが出ている」と契約先に伝えるのは、店舗にとって軽い話ではありません。 所見に書かれていない原因を、下書きが言い切っていないかを見ます。

目標は、1,200件をならして1件1分です。 規則で外すものと Other に出るものが合わせて1〜2割という想定で、それより多い月は、区分の説明か前処理の規則を見直します。

Step10

例外に対処する

起きること対応
前日の CSV が無い止めて管制課へ知らせる。空のまま「0件」と報告しない
CSV の発報の日時が前日の範囲外書き出しの設定の誤りとして止める
文字化けしている分類に回さない。書き出しの文字コードを確かめる
所見が空欄・「確認中」分類に回さず人の確認の列へ
どの区分にも当てはまらないOther の出口へ。捨てない
契約先コードが対応表に無い新規の契約か解約済み。連続の拾い出しから外して管制課へ
AI の呼び出しが失敗するその行を pending にして台帳へ書き、翌朝の実行で拾い直す
Data Table の容量が上限に近づく既定では全体で200 MiB。90日より古い行を月に1回消す
Teams へ投稿できない一覧をファイルにして SFTP の連絡用フォルダへ置き、管制課へ電話で伝える

8行目は、運用を始めて数か月後に効いてきます。 公式ページでは、すべての Data Table の合計は既定で200 MiB までで、80%で警告が出て、上限を超えると書き込みのときにワークフローがエラーになるとされています。自社のサーバーに置く場合は環境変数で上限を変えられますが、古い行を消す運用を最初から組みます。

4行目と5行目は、件数を毎週見ます。 増えているなら、警備員の所見の書き方が変わったか、新しい種類の誤報が出てきた合図です。

Step11

記録を残す

  • 取り込んだ CSV の原本(処理済みのフォルダに日付ごと)
  • 誤報台帳の全行(route、cause、classified_by、corrected)
  • AI に渡した伏せ字の後の所見の文面と、選ばれた区分
  • 規則で外した発報と、外した理由
  • 連続として拾った契約先と、当てはまった基準、送った連絡文の最終版
  • 管制担当が区分を直した記録

3つ目で「伏せ字の後の文面」を残すのは、外へ出たものを後から確かめられるようにするためです。 暗証番号らしい数字の並びが伏せ字をすり抜けていないかを、月に1回抜き取りで見ます。

最後の行は、区分の説明を育てる材料です。 「環境」から「利用者の操作」への直しが多いなら、扉の半開きの書き方を区分の説明に足します。

04実装レベルの3段階

最小構成:伏せ字にした所見を手で AI に貼り、区分を出させる / 1件ごとの区分の判断
半自動化:上記+ n8n で CSV を取り込み、規則で外し、分類して台帳に書き込む / 取り込み・区分付け・台帳への転記
本格構成:上記+直近30日の集計で連続を拾い、担当への連絡文の下書きを Teams へ送る / 毎朝の台帳付けと、続いている誤報の連絡

最小構成は、確かめるための段階です。 月1,200件は手で貼れません。 半自動化で、1件3分が1.5分程度になります。 転記と区分付けは自動になりますが、契約先ごとの数え直しと連絡は人のままです。本格構成で1分になり、この段階が本記事の想定です。 差が大きいのは、数え直しが「気になったものだけ」から「全契約先」に広がるのに、人の手は増えないからです。 段階を飛ばさないでください。 半自動化の台帳を1か月見て区分の説明を直してから連続の拾い出しを足すほうが、担当への空振りの連絡が減ります。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
3 名
月間件数
1,200 件
1件あたり現在時間
3 分
1件あたり導入後時間
1 分
現在  1,200件 × 3分 ÷ 60 = 60 時間/月
導入後 1,200件 × 1分 ÷ 60 = 20 時間/月
月間削減時間
40h
削減率
67%
年間削減時間
480h
年間金額換算(時間単価2,800円)
134万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. 店舗・事務所・倉庫・介護施設などと機械警備の契約を数千件持ち、監視センターに毎月千件を超える発報が届く警備会社。警備員の対処報告に「異常なし」と書かれた発報の原因を、管制の担当が翌朝に1件ずつ読んで台帳に付け、同じ契約先で誤報が続いていることに気づくのが担当者の記憶頼みになっている場合。監視の仕組みから発報の記録を毎日ファイルで書き出せる場合。
向いていない
  1. 契約先が数百件で、発報が月に数十件しかなく、管制の担当が全件を覚えていられる場合。監視の仕組みから発報の記録を外に書き出せず、画面で見るしかない場合。なお、発報が侵入や火災などの本当の異常だったかどうかの判断、出動の要否、契約先への説明と機器の交換の判断は、この構成では代替できません。

07最小構成で試す方法

  1. 先月の発報のうち、警備員が「異常なし」と報告した100件を選ぶ(台帳で区分の付け方が分かれていたものを混ぜる)
  2. 所見の自由記述だけを取り出し、契約先の名称・人の名前・番号を手で伏せる
  3. 手元の AI サービスに、第7章の区分の表と厳守事項を貼り、100件を順に分類させる
  4. 出てきた区分を、台帳の区分と並べる
  5. 食い違ったものを、管制担当3名で読み直してどちらが正しいかを決める

100件は必ずやってください。 ワークフローを組む前に、「所見の文面だけで原因を分けられるのか」を確かめます。

出てきた内容判断
台帳とほぼ同じ区分が出たn8n での取り込みと台帳の書き込みに進む
所見に無い原因を補って区分を選んだ指示の書き方で直る。構成は有効
3名でも区分が決まらないものが多い区分の定義が先。 AI の問題ではない

3行目が出ることは珍しくありません。 台帳の傾向が見えなかった理由が1つ分かったということです。区分の説明を3名で書き直し、同じ100件で試し直してください。

08実装時につまずきやすいポイント

問題対策
本当の異常の発報が誤報に分けられる前処理の規則で外し、AI に見せない。 指示にも二重に書く
区分に当てはまらない発報が消えるWhen No Clear Match を Other の出口にする。既定は Discard Item
「原因不明のため誤作動」が機器の不具合に膨らむ機器の異常を確かめた記述があるときだけ、と区分の説明に書く
全件が1件目の所見で分類される式を Text Classifier の Input Prompt に書く。サブノードでは最初の1件で解決される
日本時間の夜に動く自分で置く n8n のタイムゾーンの既定は America/New York。Asia/Tokyo にする
翌朝に動かないSchedule Trigger のワークフローを保存して公開する
数分おきの同じ発報で連続の基準を超える同じセンサーの数分以内の発報を1件の出動にまとめる
CSV の列が番号で返る見出しの行の扱いを確かめる
Code ノードで台帳を読めないData Table ノードで取り出してから渡す
半年後に台帳へ書き込めなくなるData Table の合計は既定で200 MiB。古い行を消す
所見の暗証番号が外へ出る数字の並びを伏せ字にし、月に1回抜き取りで見る

上の3行が、この構成の失敗のほとんどです。 どれも「分類できなかったものを、どこかの区分に入れてしまう」という同じ形をしています。入れない出口を用意してあるかどうかで、台帳が使えるかが決まります。

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 契約先の名称と住所、警戒の開始と解除の時刻(建物が無人になる時間帯)、センサーの位置、警備員の所見、そして所見に書かれることのある解除の暗証番号や人の名前です。

  1. 外へ渡すのは所見の文面だけにする … 契約先の名称・住所・警戒の時刻は AI に渡しません。分類に要らない情報は、渡さない設計にできます
  2. 暗証番号と人の名前を伏せる … 前処理で数字の並びと名前を伏せ、伏せ字の後の文面をログに残して抜き取りで確かめます
  3. ワークフローの基盤を社内に置く … n8n を自社のサーバーに置き、発報の記録の全体は社外へ出しません
  4. 本当の異常の判断を AI に寄せない … 火災・非常通報・「異常あり」の報告は規則で外します。監視センターの通常の手順を、この構成で置き換えません
  5. 連絡を自動で送らない … 担当への連絡も、その先の契約先への提案も人が行います
  6. 台帳を使う人を絞る … Data Table はプロジェクトの中の人が既定で見られるとされています。管制課と、連続の連絡を受ける担当だけのプロジェクトに置きます

誤りが起きた場合のリスクは、本当の異常を誤報として記録することと、根拠の無い原因を契約先に伝えることの2つです。 前者は前処理の規則で、後者は Other の出口と人の確認で止めます。

10まず何から始めるか

1週目:誤報の区分の定義を揃える

管制担当3名で、台帳の区分を第7章の5つに揃え、それぞれに所見の書きぶりの例を3つずつ書きます。区分の付け方が分かれていた発報を10件選び、どちらにするかをここで決めます。

2週目:100件で試す

先月の「異常なし」の発報から100件を選び、所見を伏せ字にして手元の AI サービスで分類させます。台帳と突き合わせ、所見に無い原因を補っていないかを最優先で見ます。

3週目:書き出しと規則を決める

監視の仕組みの提供元に、前日分の発報の記録を毎朝 CSV で書き出せるかを確かめます。AI に見せない発報の規則(火災・非常通報・異常あり・通報あり・所見なし)を、監視センターの責任者と決めます。

4週目:取り込みから台帳までをつなぐ

n8n で CSV の取り込み、規則、分類、台帳への書き込みまでを作ります。この時点では連続の拾い出しをせず、台帳だけを1か月見ます。

2か月目: Summarize での集計と連続の基準を足し、管制課のチャネルに一覧を出します。拾った契約先の数を毎週数えます。3か月目以降: 連絡文の下書きを足し、1件3分が何分になったかを実測します。連続として拾った契約先への提案で誤報が減ったかを台帳で追えるようになった時点で、この構成は完成です。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-10-14/最終更新:2026-10-15
確認した内容情報源確認日
Schedule Trigger の間隔(Days など)と cron の式の例。ワークフローを保存して公開する必要があること。タイムゾーンがワークフロー、無ければインスタンスの設定に従い、自分で置く場合の既定が America/New York であることn8n Docs: Schedule Trigger2026-10-14
FTP ノードが FTP と SFTP のサーバーで動き、SFTP では SFTP の資格情報を使うこと。Download・List・Upload・Delete・Rename の操作と、Rename の移し先のフォルダを作るオプションn8n Docs: FTP2026-10-14
Extract From File に Extract From CSV の操作があり、見出しの行の扱いの設定があることn8n Docs: Extract From File2026-10-14
Data Table が n8n の中に構造化データを持ちワークフローをまたいで使えること。行の Insert・Get・Update・Delete・Upsert と If Row Exists の操作n8n Docs: Data Table2026-10-14
Data Table の合計が既定で200 MiB で、80%で警告、超えると書き込みでエラーになること。環境変数で上限を変えられること。プロジェクトの中の人が既定で見られること。Code ノードから直接読めないことn8n Docs: Data tables2026-10-14
Text Classifier が区分の名前と説明でモデルに分類させること。Allow Multiple Classes To Be True。When No Clear Match の既定が Discard Item で、Other の出口を作れること。System Prompt Template の {categories}n8n Docs: Text Classifier2026-10-14
Basic LLM Chain でプロンプトを決め、出力の形を求めるときに出力パーサーをつなぐこと。System のメッセージを設定できることn8n Docs: Basic LLM Chain2026-10-14
Anthropic Chat Model が Claude のモデルを使うこと。サブノードの式が常に最初の1件で解決されることn8n Docs: Anthropic Chat Model2026-10-14
Summarize ノードの Count などの集計と、Fields to Split By が group by に近い働きをすることn8n Docs: Summarize2026-10-14
Microsoft Teams ノードの Channel Message の Create などの操作。Service Principal(App-Only)の資格情報が Chat・Chat Message に対応せず、Channel Message が一部の対応であることn8n Docs: Microsoft Teams2026-10-14

本当の異常かどうかの判断、出動と通報の手順、契約先への説明は、監視センターの規程と責任者の判断に従ってください。 本記事は n8n の公開ページで確認できた範囲だけを扱っています。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-1554)についてのご相談はこちらから。

AI活用について相談する
目次