開発実績一覧へ
AI自動化・エージェント開発製造業

保全ナレッジ RAGシステム

設備名と症状を入力するだけで、過去の保全事例を、原因・処置・交換部品・元の記録付きで返す。

工場の現場でタブレットに「3号プレス 圧力上がらない」と入力し、過去の事例3件が原因・処置・交換部品・元の記録へのリンク付きで表示された画面イメージ

Overview

プロジェクト概要

製造業のお客様向けに、設備と症状を入力すると、過去の保全の事例を根拠付きで返す検索・回答システムを開発しました。熟練の作業者の知見を、若手が現場でのトラブル対応に使える形にすることが目的です。元になる素材は、数年分の点検記録と日報です。Excelと紙が混ざっており、様式と用語がそろっていませんでした。

このプロジェクトの中心は、AIによる回答の部分ではありません。ばらばらに書かれた保全の記録を「1つの故障=1つの事例」という検索できるデータに作り直すことでした。回答の精度の大半は、この作り直しで決まります。開発期間は6か月で、調査から現場での試行、引き継ぎまでを当社が担当しました。

※ お客様との守秘義務のため、お客様名は記載していません。掲載している画面とデータは、説明用に再構成したイメージです。

分類
設備保全の記録を検索・回答するAIシステム(RAG)の開発
開発期間
6か月
体制
AIエンジニア / テスター
利用者
工場の設備保全の担当者(とくに経験の浅い若手)。現場のタブレットやスマートフォンで使用
業種
製造業
ロール
調査と範囲の合意 / Excel・紙の記録の取り込み / 構造化と用語の統一 / 検索・回答API / 評価と改善 / 画面 / 環境構築 / 現場での試行・引き継ぎ
技術
Python / FastAPI / PostgreSQL / pgvector / PGroonga / LangChain / Claude API / Next.js / TypeScript / Ragas / Langfuse
導入前の課題:年度ごとに分かれたExcel、紙の点検記録、設備名・表現のゆれ、ベテラン担当者に電話がつながらない様子

01 — 導入前の課題

故障は待ってくれない。でも、過去の記録はすぐ見つからなかった

導入前は、設備が止まるたびに、年度別のExcelを順に開いて過去の事例を探すか、ベテランに電話で聞くしかありませんでした。夜勤中でベテランが不在のときは、それもできません。保全の記録は、年度ごとのExcelと紙の点検表・日報に分かれていました。さらに、同じ設備でも「3号プレス」「3号P」「プレス3」のように書き方が違い、検索しても目当ての記録に当たりませんでした。

  • 年度ごとにExcelが分かれている
  • 紙の点検表・日報も残っている
  • 設備名や表現が、書く人によってばらばら
  • ベテランに聞かないと、過去の対応が分からない
ばらばらな保全記録(Excel・紙・表記ゆれ)を、読み取り・構造化・用語の統一・現場担当者の確認を経て、整理された故障事例データにする流れの図

02 — 記録の作り直し

AIに聞く前に、まず記録を使える形へ

最初に取り組んだのは、記録の整理です。Excelは様式ごとに読み取り処理を用意し、紙の記録はOCRで読み取ります。そこからAIで設備・部位・現象・原因・処置・交換部品・作業時間・日付・担当を取り出し、「1つの故障=1つの事例」のデータに整えました。設備名と用語は、設備マスタと用語辞書でそろえています。Excelの記録は、年度や担当者によって列の位置が違い、結合されたセル、「〃」での省略、和暦が混ざっていたため、様式ごとの読み取り処理でこれらを処理しました。

  • ① 読み取り:Excelと紙の記録を取り込む
  • ② 整理・構造化:「1つの故障=1つの事例」に整形
  • ③ 設備名・用語の統一:設備マスタと用語辞書
  • ④ 現場担当者が確認:誤りを直してから登録

開発中の課題と解決

設備名と用語のゆれをそろえる

課題
同じ設備でも書き方が違い、略称や現場の言葉も使われていました。同じ設備かどうかは、現場の方にしか判断できません。
解決
設備マスタと用語辞書を作り、現場の担当の方に確認しながら、表記のゆれ、略称、現場の言葉をそろえました。たとえば「圧力が上がらない」「油圧弱い」を同じ現象としてまとめます。同型機の事例にも検索を広げられるようにしています。
タブレットで「2号コンベア ベルト蛇行」を検索し、過去の発生履歴3件と、過去の対応傾向、関連する同型機が表示された画面イメージ

03 — 設備と症状からの検索

設備名と症状だけで、過去の対応へ

現場では、タブレットやスマートフォンに「2号コンベア ベルト蛇行」のような短い語句を入力するだけです。同じ設備と同型機の過去の事例が、原因・処置・交換部品・再発までの期間とともに並び、どの事例からも元の記録を開けます。設備と現象を指定すれば、発生の履歴を時系列で一覧にでき、繰り返す故障の原因調査にも使えます。初めて担当する計画修理でも、前回までの交換部品、作業時間、当時のトラブルを確認できます。

  • 短い語句の入力で、過去の事例を検索
  • 原因・処置・交換部品を一覧で確認
  • すべての事例に、元の記録へのリンク
  • 同型機の事例と、発生履歴の時系列表示

開発中の課題と解決

短い文と型番に強い検索にする

課題
保全の記録は短い文と型番が多く、意味の近さで探すベクトル検索だけでは、目当ての事例に当たりませんでした。
解決
設備・期間での絞り込み、キーワード検索(日本語の全文検索)、ベクトル検索を組み合わせ、さらに結果を並べ直す仕組み(リランカー)を加えました。検索の組み立てはSQLで制御し、動きを細かく調整できるようにしています。
故障事例にベテランからの補足が登録された画面と、現場の知見を追記・次の担当者が活用・安全な運用の3つの説明

04 — 知見の蓄積と安全な運用

ベテランの経験を、次の担当者へ残す

ベテランは、事例に補足や訂正を書き足せます。たとえば「この症状が出たときは、先に油量も確認する」といった注意点です。書き足した補足も検索の対象になり、次の担当者の現場で役立ちます。一方、保全の作業では、誤った指示が事故につながります。そのため回答は過去の事例の提示にとどめ、出典を必ず示します。記録に無いことには答えず、「記録なし」と返して上長への確認を促します。安全の手順は、正規の手順書へ案内します。

  • ベテランが事例に補足・訂正を書き足せる
  • 補足も検索の対象になり、知識が育っていく
  • 記録に無い内容には答えず、上長への確認を促す
  • 回答ごとに「役立った/違う」を記録して改善

開発中の課題と解決

手書きの紙の記録は、人の確認を通してから登録する

課題
手書きの記録は、OCRで読み違いが起きます。誤ったまま登録すると、誤った事例が検索結果に出てしまいます。
解決
読み取った結果を人が確認・修正できる画面を用意し、確認を通ったものだけを登録する流れにしました。紙のOCRは作業量がいちばん読みにくいため、Excelで成果を確かめた後の第3段階で取り組んでいます。

Scope

担当範囲

調査から引き継ぎまでを、当社が担当しました。データの提供、設備名の確認、評価への協力は、お客様にお願いしました。

工程担当
調査・合意当社(現地でのデータの確認、質問の例の収集、範囲と検収の条件の合意)
Excelの取り込み当社(様式ごとの読み取り処理、「1つの故障=1件」への整形)
構造化・用語の統一当社(AIによる項目の抽出、設備マスタと用語辞書の作成)
検索・回答API当社(絞り込み・キーワード検索・ベクトル検索の組み合わせ、出典付きの回答)
評価と改善当社(評価用の質問集、自動採点、検索とプロンプトの調整)
画面当社(検索・回答、元の記録の表示、履歴の一覧、補足の登録、評価ボタン)
紙の記録の取り込み当社(OCRでの読み取り、確認・修正の画面、登録)
環境構築当社(公開の作業、認証、バックアップ、ログ)
現場での試行・引き継ぎ当社(指摘への対応、運用の手順書、データを追加する手順)
動作の検証テスター
データの提供、紙の資料のスキャンお客様
設備名の確認、評価への協力お客様(現場の担当者、ベテラン、試行に参加する若手)

Architecture

使用技術・システム構成

バックエンド
Python / FastAPI(データ処理と検索・回答のAPI)
Excelの処理
pandas / openpyxl(結合されたセルや不規則な様式の読み取り)
データベース・検索
PostgreSQL / pgvector / PGroonga(日本語の全文検索)。構造化したデータ、ベクトル検索、キーワード検索を1台で扱う
RAG
LangChain(取り込みとAIの呼び出しに限って使用。検索の組み立てはSQLで制御)
精度の向上
ハイブリッド検索 / リランカー
紙の読み取り
クラウドのOCR / 確認・修正の画面
AI(LLM)
Claude API(項目の抽出、過去の事例の要約と回答)
画面
Next.js(TypeScript)。現場のタブレット・スマートフォンに対応
評価・監視
独自の評価用の質問集 / Ragas / Langfuse

主な技術の選定理由

PostgreSQLに検索をまとめる

構造化したデータ、ベクトル、キーワードを1台で扱え、設備・現象別の履歴の集計もSQLで書けるためです。運用の軽さを優先しました。

ハイブリッド検索とリランカー

保全の記録は短い文と型番が多く、ベクトル検索だけでは目当ての事例に当たらないためです。

LangChainの使う範囲を絞る

取り込みとAIの呼び出しに限り、検索の組み立てはSQLで制御することで、検索の動きを細かく調整できるようにするためです。

OCRに確認の画面を組み合わせる

手書きは読み違いが起きるため、人が確認・修正してから登録する流れにするためです。

Process

開発の進め方

  1. 1

    第1段階:1つの設備系統とExcelだけに絞り、調査から評価までを通しで作りました。評価用の質問集で測り、現場に見せています(夜勤中の突発停止、点検中の異常の判断に対応)。

  2. 2

    第2段階:対象の設備を広げ、画面、履歴の集計、補足の登録を作りました(繰り返す故障の原因調査、計画修理の段取りに対応)。

  3. 3

    第3段階:紙の資料を取り込み、本番の環境で現場での試行を行い、引き継ぎました。

  4. 4

    AI、埋め込みモデル、OCRの製品は、第1段階で実際のデータを使って候補を比べて決めました。

  5. 5

    設備名の確認、評価への協力、試行への参加は、お客様の現場の方にお願いしました。

Quality & Security

品質・セキュリティ・運用

安全

保全の作業では、誤った指示が事故につながります。そのため、回答は過去の事例の提示にとどめ、出典を必ず示します。安全の手順は正規の手順書へ案内し、安全に関わる判断は人に任せる方針にしました。

該当なしの扱い

記録に無いことには答えません。該当がなければ「記録なし」と返し、上長への確認を促します。

機密

外部のクラウドに出せるデータの範囲をお客様と決め、構成をそれに合わせました。

評価と改善

評価用の質問集と自動採点で、検索とプロンプトを調整しました。回答ごとに「役立った/違う」を記録し、改善を数値で追えるようにしています。

利用環境

現場のタブレットとスマートフォンで使えます。入力は短い語句で足ります。

続けて使うための備え

新しい日報を追加で取り込めます。運用の手順書と、データを追加する手順を残しました。認証、バックアップ、ログも整えています。

Results

成果

熟練の作業者の知見を、若手が現場でのトラブル対応にそのまま使える形にしました。回答は過去の事例の提示にとどめ、必ず出典を示します。

  • Excelと紙に分かれていた数年分の保全の記録を、「1つの故障=1つの事例」の検索できるデータに作り直しました。
  • 設備と症状を短い語句で入力するだけで、同じ設備と同型機の過去の事例を、原因・処置・交換部品・元の記録付きで確認できるようになりました。
  • 設備・現象別の発生の履歴を時系列で一覧にでき、繰り返す故障の原因調査に使えるようになりました。
  • ベテランが事例に補足を書き足せ、その補足も検索の対象になる仕組みにしました。
  • 3つの段階をすべて終え、現場での試行を経て、運用の手順書とともに引き継ぎました。

FAQ

技術面のよくあるご質問

Q. AIの回答が間違っていたらどうなりますか?
回答は過去の事例の提示にとどめ、元の記録へのリンクを必ず付けます。利用者が元の記録をその場で確かめられます。安全の手順は正規の手順書へ案内します。
Q. 記録に無いことを聞くとどうなりますか?
「記録なし」と返し、上長への確認を促します。記録に原因や処置が書かれていない事例には答えられません。記録の質が、答えられる範囲の上限になります。
Q. なぜベクトル検索だけにしなかったのですか?
保全の記録は短い文と型番が多く、ベクトル検索だけでは当たらないためです。絞り込み、キーワード検索、ベクトル検索を組み合わせています。
Q. 設備名の書き方がばらばらでも探せますか?
設備マスタと用語辞書で、表記のゆれ、略称、現場の言葉をそろえています。同型機の事例にも検索を広げます。
Q. 新しい記録は追加できますか?
新しい日報を追加で取り込めます。データを追加する手順を残しています。
Q. 故障の予測はできますか?
このシステムの対象外です。故障の予測、センサーのデータとの連携、既存の保全管理システムとの双方向の連携は、範囲に含めていません。

Tech Stack

PythonFastAPIPostgreSQLpgvectorPGroongaLangChainClaude APINext.jsTypeScriptRagas / Langfuse

Contact

まだ要件が固まっていなくても大丈夫です。

業務内容や課題を整理しながら、実現方法・開発範囲・進め方をご提案します。 まずはお気軽にご相談ください。