Media > AI活用ユースケース > 品質管理 > ヒヤリハット報告を分類して、危険の傾向と対策候補を月次でまとめる

ヒヤリハット報告を分類して、危険の傾向と対策候補を月次でまとめる

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

現場から上がるヒヤリハット報告を入力に、厚生労働省の「事故の型」に沿って分類し、起因物・場所・作業を抽出します。安全衛生担当の作業は、1件ずつ読んで台帳に転記することから、分類結果を確認して月次のまとめを仕上げることに変わります。

サマリー
利用ツール
ChatGPT/Claude/Gemini/Google Apps Script/Make/Power Automate/Python
対象業界
介護/医療/建設/物流/製造
対象部門
品質管理/生産
対象業務
分類・仕分け/集計・分析
主な課題
データ分析に時間がかかる/人手が足りない/属人化している
AIで行う処理
分類
主な効果
品質標準化/属人化解消/工数削減
導入難易度
★★☆☆☆
実装レベル
半自動化
費用感
SaaS追加(小)
人間の確認
必須
現在工数
40h/月
AI導入後
12.5h/月
想定削減
69%
年間削減
330h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. 現場の作業者がGoogleフォームでヒヤリハットを報告する
  2. 回答がスプレッドシートに1行ずつ貯まる
  3. 安全衛生担当が自由記述を読む
  4. 「事故の型」を判断し、分類の列に入力する
  5. 起因物(設備・台車・薬品など)と発生場所を読み取って、別の列に入力する
  6. 過去に似た報告がなかったかを検索する(キーワードで探す)
  7. 月末に、分類別の件数を集計してグラフを作る
  8. 目立つものを選んで、安全衛生委員会の資料にまとめる
  9. 委員会で対策を検討し、決まったものを対策台帳に記録する
導入後(After)
  1. 現場の作業者がGoogleフォームでヒヤリハットを報告する(入力欄は変えない)
  2. 自動回答がスプレッドシートに記録され、フォーム送信をきっかけに処理が走る
  3. 自動自由記述から「事故の型」を判定し、確信度を付ける
  4. 自動起因物・場所・作業・時間帯を抽出する
  5. 自動不安全な行動と不安全な状態のどちらに寄る事象かを判定する
  6. 自動過去の報告から、意味の近いものを5件まで探して結び付ける
  7. 自動台帳に1行として書き込む
  8. 安全衛生担当が、確信度の低いものと新しい型のものだけを確認して直す
  9. 自動月末に、分類別の件数、増減、類似事例のまとまり、対策候補を資料の形で出す
  10. 安全衛生担当が資料を仕上げ、安全衛生委員会に出す
  11. 委員会が対策を決め、対策台帳に記録する
各工程の詳しい説明を読む
  1. 現場の作業者がGoogleフォームでヒヤリハットを報告する
  2. 回答がスプレッドシートに1行ずつ貯まる
  3. 安全衛生担当が自由記述を読む
  4. 「事故の型」を判断し、分類の列に入力する
  5. 起因物(設備・台車・薬品など)と発生場所を読み取って、別の列に入力する
  6. 過去に似た報告がなかったかを検索する(キーワードで探す)
  7. 月末に、分類別の件数を集計してグラフを作る
  8. 目立つものを選んで、安全衛生委員会の資料にまとめる
  9. 委員会で対策を検討し、決まったものを対策台帳に記録する

問題は4つあります。

(a)分類が担当者によってぶれる。 「台車を押していて棚の角に肩をぶつけた」は「激突」なのか「激突され」なのか。判断が人によって違い、月をまたぐと集計の連続性が崩れます。1人が2名を兼務している現状では、2人の基準の差がそのまま集計に出ます。

(b)似た報告を見つけられない。 「フォークリフトの後退時に人が近くにいた」と「リーチ式の後ろを人が通った」は同じ危険ですが、キーワード検索では別物として扱われます。結果として、同じ危険が毎月報告されているのに、傾向として浮かび上がりません。

(c)月末に3日かかる。 300件を読み直して集計し、資料にまとめる作業が月末に集中します。委員会の直前に徹夜で作る月もあります。

(d)対策が単発で終わる。 委員会で検討するのは、目立った数件だけです。件数の少ない報告は「その他」に埋もれ、複数の報告が同じ根本原因を指していても気づけません。

  1. 現場の作業者がGoogleフォームでヒヤリハットを報告する(入力欄は変えない
  2. 【自動】 回答がスプレッドシートに記録され、フォーム送信をきっかけに処理が走る
  3. 【自動】 自由記述から「事故の型」を判定し、確信度を付ける
  4. 【自動】 起因物・場所・作業・時間帯を抽出する
  5. 【自動】 不安全な行動と不安全な状態のどちらに寄る事象かを判定する
  6. 【自動】 過去の報告から、意味の近いものを5件まで探して結び付ける
  7. 【自動】 台帳に1行として書き込む
  8. 【人】 安全衛生担当が、確信度の低いものと新しい型のものだけを確認して直す
  9. 【自動】 月末に、分類別の件数、増減、類似事例のまとまり、対策候補を資料の形で出す
  10. 【人】 安全衛生担当が資料を仕上げ、安全衛生委員会に出す
  11. 【人】 委員会が対策を決め、対策台帳に記録する

自動化されるのは「読む」「分類する」「台帳に書く」「似たものを探す」「集計する」の5つです。残るのは「分類が正しいかを判断する」と「対策を決める」で、後者は委員会の仕事です。

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

構成図
現場の作業者
   │
   ▼ Google フォーム(いつ/どこで/何が起きたか/どうすればよかったか)
   │
   ▼【トリガー】フォーム送信時
Google Apps Script
   │
   ├──▶ Gemini API ── 事故の型の判定 + 起因物・場所・作業の抽出
   │
   ├──▶ 過去の報告との照合(類似事例の紐付け)
   │
   ▼
Google スプレッドシート(ヒヤリハット台帳)──【担当者が確認・修正】
   │
   ▼【トリガー】毎月1日 朝6時(時間主導型)
Google Apps Script
   │
   ├──▶ 分類別の集計 + 前月・前年同月との比較
   ├──▶ 類似事例のまとまりの抽出
   └──▶ Gemini API ── まとまりごとの対策候補の下書き
   │
   ▼
月次レポート(スプレッドシート/ドキュメント)──【安全衛生委員会で検討】
役割想定する製品代替候補
実行環境Google Apps ScriptPower Automate、Python、Make
生成AIGemini APIClaude API、OpenAI API
報告の受付Google フォームMicrosoft Forms、社内チャット
台帳の置き場Google スプレッドシートSharePoint リスト

すでに安全管理システムを導入していて、分類まで行えるなら、そちらを使ってください。 この構成は「フォームとスプレッドシートで集めている」状態からの一歩です。自前で組む価値があるのは、分類の軸を自社の現場に合わせて調整したい場合と、過去データの再分類を一括でやりたい場合です。

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

Step1

処理の起点を決める

トリガーは2つあります。

1つ目は、フォームが送信されたときです。Apps Script のインストール可能なトリガーには「フォーム送信時」があり、Googleフォームの回答が入るたびに関数を実行できます。1件ずつその場で分類します。

2つ目は、毎月1日の時間主導型トリガーです。Apps Script の時間主導型トリガーは最短で1分ごと、最長で月1回まで設定でき、月次のまとめはこれで動かします。

1件ずつ処理する設計にしてください。 月末にまとめて300件を処理する形にすると、API呼び出しが一度に集中して実行時間の上限に当たります。また、報告が入った時点で分類されていれば、危険度の高い報告をその日のうちに拾えるという副次的な効果があります。

なお、インストール可能なトリガーは作成した人のアカウントで動きます。 担当者が異動すると止まるので、共用アカウントか、部門の代表アカウントで作成してください。 失敗時はそのアカウント宛に通知メールが届きます。

Step2

入力データを集める

データ中身取得元
ヒヤリハット報告発生日時、場所(工場・ライン)、何が起きたか、どうすればよかったかGoogle フォーム
事故の型の一覧墜落・転落、転倒、激突、飛来・落下、崩壊・倒壊、激突され、はさまれ・巻き込まれ、切れ・こすれ、高温・低温の物との接触、感電・火災、有害物との接触、交通事故、動作の反動・無理な動作、破裂、その他厚生労働省「職場のあんぜんサイト」の分類
起因物の一覧自社の設備・機械・車両・薬品・構造物の名称と略称設備台帳
場所の一覧工場・棟・ライン・工程の名称社内のレイアウト図
過去の報告5年分・約15,000件(分類済み)スプレッドシート
対策台帳過去に実施した対策と、その対象となった報告スプレッドシート

「事故の型」を自分で作らないでください。 厚生労働省の「職場のあんぜんサイト」では、ヒヤリ・ハット事例が事故の型別に整理されており、労働災害の統計もこの区分で公表されています。同じ区分を使えば、自社の傾向を公的な統計と比べられます。 自社独自の分類軸を作ると、比較する相手がいなくなります。

Step3

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

報告: Googleフォームの回答は、連携先のスプレッドシートに1行ずつ追加されます。Apps Script のフォーム送信トリガーで、追加された行を受け取ります。

起因物と場所の一覧: 設備台帳とレイアウト図から、名称と現場での呼び名(略称・通称)を対応づけた表を作ります。「3号機」「三号」「サンゴー」がすべて同じ設備を指すことを、あらかじめ表にしておく必要があります。これは1度作れば、設備を入れ替えたときだけ直します。

過去の報告: すでにスプレッドシートにあります。類似事例の照合に使います。件数が多いので、毎回15,000件を渡すのではなく、同じ工場・同じ事故の型のものに絞ってから渡します。

生成AIの呼び出し: Apps Script の UrlFetchApp.fetch() で Gemini API の generateContent を呼びます。リクエストには contents 配列にテキストを入れ、contentTypeapplication/json にします。応答は candidates[0].content.parts[0].text で取り出します。APIキーはスクリプトプロパティに置き、コードに直接書かないでください。

Step4

AIへ渡す前に整形する

  1. 個人が特定できる記述の除去 … 報告に「Aさんが」「◯◯班長が」といった記述が入ることがあります。AIに渡す前に、氏名と役職を除きます。 ヒヤリハット活動は報告者を責めない前提で成り立っており、個人名が集計に残ると報告数が落ちます
  2. 場所の表記ゆれの正規化 … 「第2工場A棟」「2工場A」「2-A」をそろえます。対応表で機械的に置き換えます
  3. 短すぎる報告の分離 … 「危なかった」だけの報告があります。分類できないので、AIには渡さず「情報不足」として担当者に回します
  4. 重複の検出 … 同じ事象を複数人が報告することがあります。「同じ日・同じ場所・似た記述」で候補を出し、自動では統合せず担当者に判断を委ねます。統合すると件数が減り、現場の関心が下がります
  5. 緊急度の一次判定 … 「けがをしていたら重大」と読める報告は、月次を待たず当日中に担当者へ通知します。分類の前にこの判定を通します
Step5

AIに処理させる

処理内容
事故の型の判定自由記述から、厚生労働省の区分のどれに当たるかを判定し、確信度を付ける
起因物の抽出何が原因となった物かを抜き出し、設備台帳の名称に対応づける
場所・工程の特定どの工場のどのラインで起きたかを特定する
作業の特定何をしている最中だったか(運搬、清掃、段取り替え、点検など)を取り出す
不安全行動/不安全状態の判定人の行動によるものか、設備・環境の状態によるものかを判定する
類似事例の紐付け過去の報告から、同じ危険を指すものを5件まで探す
月次の対策候補の下書き類似事例のまとまりごとに、対策の候補を並べる

AIに対策を決めさせないでください。 対策候補を並べるところまでです。ヒヤリハットへの対策は、費用・工期・現場の運用・他の作業への影響を踏まえて安全衛生委員会が決めるものであり、記述だけから決められるものではありません。候補は「検討の出発点」として出させます。

「不安全行動/不安全状態」の判定は、使い方に注意が必要です。 これを個人の評価に使うと、報告が「自分のミスを申告する行為」になり、数が落ちます。この判定は、対策を人への教育に向けるか設備の改善に向けるかを決めるためだけに使ってください。

Step6

指示内容を固定する

あなたは製造業の安全衛生を担当する実務者です。
現場から上がったヒヤリハット報告を読み、決められた区分で分類してください。

【厳守事項】
- 事故の型は、下記の15区分からのみ選んでください。
  新しい区分を作らないでください。判断できない場合は「その他」とし、
  reason に判断できなかった理由を書いてください。
- 記述に書かれていないことを補わないでください。
  起因物や場所が書かれていない場合は null とし、
  needs_review に「起因物の記載なし」のように入れてください。
- 個人名、役職名、班名が含まれていた場合は、抽出結果に転記しないでください。
- 「不安全行動」「不安全状態」の判定は、記述に現れた事実だけから行ってください。
  報告者の不注意を推測しないでください。
  どちらとも言えない場合は both としてください。
- けがに至っていた可能性が高いと読める記述は、severity を high にしてください。
  判断に迷う場合は high にしてください。
- 類似事例は、意味が同じものだけを選んでください。
  同じ場所で起きただけの報告を類似として挙げないでください。

【事故の型(15区分)】
墜落・転落 / 転倒 / 激突 / 飛来・落下 / 崩壊・倒壊 / 激突され /
はさまれ・巻き込まれ / 切れ・こすれ / 高温・低温の物との接触 /
感電・火災 / 有害物との接触 / 交通事故 / 動作の反動・無理な動作 /
破裂 / その他

【自社の設備・場所の名称一覧(略称を含む)】
{equipment_and_locations}

【今回の報告】
発生日時: {occurred_at}
場所(報告者の記入): {place}
何が起きたか: {description}
どうすればよかったか: {suggestion}

【過去の報告(同じ工場・直近3年、要約)】
{past_reports}

「新しい区分を作らないでください」の1行が重要です。 これを書かないと、「作業手順の不備」「注意不足」といった、事故の型とは別の軸の言葉が返ります。混ざると集計が崩れます。

「判断に迷う場合は high にしてください」も外せません。 重大さの判定は、安全側に倒す設計にします。担当者が後から下げるほうが、見落とすより安全です。

Step7

出力形式を固定する

{
  "accident_type": "",
  "accident_type_confidence": "high | medium | low",
  "causative_object": "",
  "causative_object_matched": "",
  "location": "",
  "process": "",
  "task_at_the_time": "",
  "time_band": "",
  "unsafe_factor": "action | condition | both",
  "severity": "high | medium | low",
  "similar_reports": [
    { "report_id": "", "reason": "" }
  ],
  "needs_review": [],
  "reason": ""
}

自由記述の要約は入れていません。 元の記述をそのまま台帳に残し、AIは分類のための項目だけを返す設計にしています。要約すると、後から読み返したときに現場の言葉が失われます。 「ガシャンと音がして振り向いたら」という記述が「異音を確認」に置き換わると、危険の実感が伝わらなくなります。

月次のまとめでは、別の呼び出しで次を返させます。

{
  "clusters": [
    {
      "theme": "",
      "report_ids": [],
      "count": 0,
      "trend": "increasing | flat | decreasing",
      "common_factor": "",
      "countermeasure_candidates": [
        { "approach": "設備 | 作業手順 | 教育 | 表示・標識", "content": "", "note": "" }
      ]
    }
  ],
  "new_themes": [],
  "recurring_after_countermeasure": []
}

recurring_after_countermeasure は、対策台帳に記録済みの対策が打たれた後に、同じ危険が再び報告されたまとまりです。ここに入ったものは、委員会で優先して扱う対象になります。この欄が、単発の対策で終わらせないための仕掛けです。

Step8

システムへ連携する

つなぐ先内容
スプレッドシート(台帳)分類結果を1行として追記する。元の記述は残す
Google チャット/メールseverity: high の報告を、当日中に担当者と工場長へ通知する
Google ドキュメント月次レポートを所定の様式で生成する
対策台帳委員会で決まった対策を記録し、翌月以降の再発判定に使う

当日通知の設計が重要です。 月次でまとめるだけの構成にすると、重大なヒヤリハットが月末まで埋もれます。危険度の高いものは、その日のうちに現場へ返します。

Step9

人が確認する

全件を人が見る必要はありません。 ただし、次の3つは必ず人が確認します。

対象理由
accident_type_confidence が medium / low のもの分類の誤りが集計を崩すため
severity: high のもの対応の要否を人が判断するため
「その他」に分類されたもの新しい型の危険が現れている可能性があるため

月300件のうち、この3つに当たるのは70〜90件程度が目安です。残りは確認なしで台帳に入れ、月次のまとめを作る段階で担当者が全体を見渡します。

「その他」の扱いを軽くしないでください。 既存の区分に収まらない報告が増えているとき、それは新しい作業や新しい設備が入ったサインであることがあります。件数が少なくても毎月確認します。

Step10

例外に対処する

起きること対応
記述が短すぎて分類できない「情報不足」として担当者に回す。推測で分類しない
事故の型が複数当てはまる主たる型を1つ選ばせ、reason に他の候補を書かせる。集計の主キーは1つに保つ
起因物が設備台帳にないcausative_object_matched を null にして人へ回す。自動で台帳に追加しない
個人名が記述に含まれている前処理で除く。除去に失敗して抽出結果に現れた場合は、台帳書き込み前に機械的に落とす
同じ事象の重複報告候補として提示し、統合は人が判断する。自動で統合しない
けがに至った報告が混ざっているヒヤリハットではなく労働災害として、別の手続きに回す。その場で担当者と工場長に通知する
API呼び出しが失敗する未分類のまま台帳に行を作り、再実行の対象として印を付ける。報告そのものを失わないことを優先する
Apps Script の実行時間の上限に当たる1件ずつ処理する設計にする。過去データの一括分類は、日付で区切って分割実行する
トリガーを作った担当者が異動した共用アカウントで作成する。異動時の引き継ぎ項目に入れる
報告数が急に減った分類の精度ではなく、運用を疑う。 現場に「分類されて評価に使われる」と受け取られていないかを確認する
Step11

記録を残す

  • 報告の原文(要約せずそのまま
  • 分類結果と確信度、判断の理由
  • 人が修正した項目と、修正前後の値
  • 月次まとめのまとまりと、委員会での判断
  • 対策台帳(対策の内容、対象となった報告、実施日)

2つ目と3つ目の組み合わせが、分類の基準そのものになります。 「台車と棚の接触は激突として分類する」という判断が積み上がれば、それをプロンプトの例示に加えることで、翌月以降の精度が上がります。担当者が2名いても基準がそろうのは、この仕組みがあるからです。

個人名は保存しません。 前処理で除いたうえで、除去前の原文も残さない設計にしてください。

04実装レベルの3段階

最小構成:月末に、その月の報告をまとめて生成AIに貼り、分類結果を受け取って台帳に貼る / 分類
半自動化:フォーム送信をきっかけに1件ずつ分類し、台帳に自動記入。確信度の低いものだけ担当者が直す。月次のまとめも自動生成 / 分類・台帳記入・集計・対策候補
本格構成:上記+当日通知+対策台帳との突き合わせによる再発検知+公的統計との比較 / 委員会にかける材料づくりまで(対策の決定は人)

半自動化で効果の大半が出ます。 8分が2.5分程度になります。本格構成にしても1件あたりの時間はあまり変わりませんが、「対策を打ったのに再発している危険」が自動で浮かぶようになります。 そこがこの業務の本当の目的です。

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

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

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

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

AI活用について相談する

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

向いている
  1. ヒヤリハット報告が月100件以上あり、自由記述で集めている企業。安全衛生委員会が月次で開かれ、そこに出す資料の作成に時間がかかっていること。過去の報告が電子データで残っていること。
向いていない
  1. 報告が月20件未満で、担当者が全件を覚えていられる場合。報告が紙でしか集まっておらず、電子化の計画もない場合。すでに分類まで行う安全管理システムを導入している場合。

07最小構成で試す方法

  1. 過去の報告から50件を選ぶ(分類済みのもの。工場と事故の型がばらつくように選ぶ)
  2. 分類の列を隠して、記述だけを生成AIに貼る
  3. 15区分での分類結果を受け取る
  4. 担当者が過去に付けた分類と比べ、一致率を数える

判断の目安は次のとおりです。

一致率判断
8割以上半自動化に進める。確信度の低いものだけ人が見る運用で回る
6〜8割一致しなかったものを見て、プロンプトに自社の判断例を足す。多くはここで上がります
6割未満AIの問題より、過去の分類にぶれがある可能性を疑う。 担当者2名で同じ50件を分類し直して、人どうしの一致率を先に測る

3番目の確認を飛ばさないでください。 人どうしの一致率が7割しかない業務で、AIに9割を求めることはできません。この検証自体が、分類基準を見直す機会になります。

類似事例の紐付けは、過去1年分の報告を貼って「この報告と同じ危険を指しているものを5件選んで」と聞くだけで試せます。

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

問題対策
AIが独自の分類名を返す15区分を列挙し、「新しい区分を作らない」と明記する。返り値を機械的に検証し、区分外なら「その他」に倒す
分類の一致率が上がらないAIを疑う前に、担当者どうしの一致率を測る。過去の分類にぶれがあることが多い
設備名が当たらない略称・通称の対応表を作る。「3号機」「三号」「サンゴー」をそろえる
個人名が台帳に残る前処理で除いたうえで、書き込み前にもう一度機械的に検査する。2段構えにする
重複報告を自動で統合してしまう統合は人の判断にする。件数が減ると現場の関心が下がる
Apps Script の実行時間の上限に当たる1件ずつ処理する。過去データの一括処理は日付で分割する
トリガーが止まっていることに気づかない失敗通知メールの宛先を共用アドレスにする。台帳の最終更新日を月次で確認する
APIキーがコードに書かれているスクリプトプロパティに置く。スクリプトを共有するときの事故を防ぐ
月次レポートが件数の羅列になるまとまり(クラスタ)単位で出す。「転倒が45件」ではなく「洗浄後の床の水たまりに起因する転倒が12件」の粒度にする
報告数が減るもっとも重大な失敗です。 入力欄を増やさない、個人名を残さない、不安全行動の判定を評価に使わない。この3つを守る

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

この構成で扱うデータ: 現場で起きた事象の記述、発生場所、作業内容。報告者の氏名は扱いません。 これは技術上の制約ではなく、活動を成立させるための設計上の前提です。

  1. 報告者を特定しない … 報告フォームに氏名欄を設けるかは運用次第ですが、AIに渡すデータと台帳に残すデータには含めません。 ヒヤリハット活動は報告者を責めない前提で成り立っており、個人が特定される仕組みになった時点で報告数が落ちます
  2. 人事評価に使わない … 分類結果や「不安全行動」の判定を、個人や班の評価に結び付けないでください。この一線を越えると、活動そのものが機能しなくなります。 方針として明文化し、現場に説明してください
  3. 外部AIへの入力可否 … 自社の設備名、工程、レイアウトが含まれます。製造条件が推測できる記述が混ざることもあります。自社の情報管理規程を確認してください
  4. 学習利用 … 入力を学習に使わないことが契約で保証されるサービスを選びます
  5. アクセス権限 … 台帳の閲覧は安全衛生の関係者に限ります。ただし月次のまとめは現場に広く公開してください。 報告が使われていることが見えないと、報告は続きません
  6. 労働災害との切り分け … けがに至った事案は、ヒヤリハットではなく労働災害として、労働安全衛生法に基づく手続きに回します。この判定をAIに任せず、疑わしいものはすべて人へ通知する設計にします
  7. 自動実行してよい範囲 … 分類と集計までです。対策の決定と、労働災害としての取り扱いの判断は、必ず人が行います

誤りが起きた場合のリスクは、危険の見落としです。分類を誤ると集計に現れず、対策の対象から外れます。確信度の低いものを人が見る運用を省かないでください。

10まず何から始めるか

1週目:人どうしの一致率を測る

過去の報告50件を選び、安全衛生担当2名がそれぞれ分類します。2名の一致率を先に測ってください。 ここが低ければ、AIの導入より先に基準のすり合わせが必要です。あわせて、一致しなかった事例が自社の判断例のもとになります。

2週目:AIの一致率を測る

同じ50件を生成AIに分類させ、担当者の分類と比べます。一致しなかったものを見て、プロンプトに自社の判断例を3〜5件足します。多くの場合、これだけで一致率が1割上がります。

3週目:設備・場所の対応表を作る

設備台帳とレイアウト図から、正式名称と現場の呼び名の対応表を作ります。過去の報告に出てくる呼び方を全部拾うのが早道です。 100行程度の表で足ります。

4〜5週目:フォーム送信トリガーで自動分類を動かす

Apps Script でフォーム送信トリガーを作り、1件ずつ分類して台帳に書く形にします。1か月動かし、確信度の低いものを担当者が直します。8分が何分になるかを実測します。

2か月目以降: 月次まとめの自動生成と、当日通知を追加します。並行して、担当者の修正ログから判断例を追加し、プロンプトを更新します。3か月分の修正ログが貯まれば、分類基準を文書として整理できます。 それは、この構成がなくても残る成果物になります。


11関連ユースケース

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

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

技術仕様確認日:2026-09-14/最終更新:2026-09-14
確認した内容情報源確認日
厚生労働省「職場のあんぜんサイト」が、ヒヤリ・ハット事例を事故の型別(墜落・転落、転倒、激突、飛来・落下、崩壊・倒壊、激突され、はさまれ・巻き込まれ、切れ・こすれ、高温・低温の物との接触、感電・火災、有害物との接触、交通事故、動作の反動・無理な動作、破裂、その他)に整理して公開していること厚生労働省 職場のあんぜんサイト:ヒヤリ・ハット事例2026-09-14
安全衛生情報センターが、労働災害事例を業種別・事故の型別に公開していること安全衛生情報センター:労働災害事例2026-09-14
Apps Script のインストール可能なトリガーに「フォーム送信時」と「時間主導型」があり、時間主導型は最短1分ごと・最長月1回で設定できること。トリガーは作成した人のアカウントで動き、失敗時に通知メールが届くことGoogle for Developers: Installable triggers2026-09-14
Gemini API の generateContent でテキスト生成を呼び出せることGoogle AI for Developers: Text generation2026-09-14

労働災害としての届出の要否と手続きは、事案の内容によって異なります。この部分は、自社の安全衛生管理規程と労働基準監督署の指導に従ってください。 ヒヤリハットの分類結果を人事評価に用いないことは、社内の方針として明文化することを推奨します。

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

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

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

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