
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

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

02 — 記録の作り直し
AIに聞く前に、まず記録を使える形へ
最初に取り組んだのは、記録の整理です。Excelは様式ごとに読み取り処理を用意し、紙の記録はOCRで読み取ります。そこからAIで設備・部位・現象・原因・処置・交換部品・作業時間・日付・担当を取り出し、「1つの故障=1つの事例」のデータに整えました。設備名と用語は、設備マスタと用語辞書でそろえています。Excelの記録は、年度や担当者によって列の位置が違い、結合されたセル、「〃」での省略、和暦が混ざっていたため、様式ごとの読み取り処理でこれらを処理しました。
- ① 読み取り:Excelと紙の記録を取り込む
- ② 整理・構造化:「1つの故障=1つの事例」に整形
- ③ 設備名・用語の統一:設備マスタと用語辞書
- ④ 現場担当者が確認:誤りを直してから登録
開発中の課題と解決
設備名と用語のゆれをそろえる
- 課題
- 同じ設備でも書き方が違い、略称や現場の言葉も使われていました。同じ設備かどうかは、現場の方にしか判断できません。
- 解決
- 設備マスタと用語辞書を作り、現場の担当の方に確認しながら、表記のゆれ、略称、現場の言葉をそろえました。たとえば「圧力が上がらない」「油圧弱い」を同じ現象としてまとめます。同型機の事例にも検索を広げられるようにしています。

03 — 設備と症状からの検索
設備名と症状だけで、過去の対応へ
現場では、タブレットやスマートフォンに「2号コンベア ベルト蛇行」のような短い語句を入力するだけです。同じ設備と同型機の過去の事例が、原因・処置・交換部品・再発までの期間とともに並び、どの事例からも元の記録を開けます。設備と現象を指定すれば、発生の履歴を時系列で一覧にでき、繰り返す故障の原因調査にも使えます。初めて担当する計画修理でも、前回までの交換部品、作業時間、当時のトラブルを確認できます。
- 短い語句の入力で、過去の事例を検索
- 原因・処置・交換部品を一覧で確認
- すべての事例に、元の記録へのリンク
- 同型機の事例と、発生履歴の時系列表示
開発中の課題と解決
短い文と型番に強い検索にする
- 課題
- 保全の記録は短い文と型番が多く、意味の近さで探すベクトル検索だけでは、目当ての事例に当たりませんでした。
- 解決
- 設備・期間での絞り込み、キーワード検索(日本語の全文検索)、ベクトル検索を組み合わせ、さらに結果を並べ直す仕組み(リランカー)を加えました。検索の組み立てはSQLで制御し、動きを細かく調整できるようにしています。

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つの設備系統とExcelだけに絞り、調査から評価までを通しで作りました。評価用の質問集で測り、現場に見せています(夜勤中の突発停止、点検中の異常の判断に対応)。
- 2
第2段階:対象の設備を広げ、画面、履歴の集計、補足の登録を作りました(繰り返す故障の原因調査、計画修理の段取りに対応)。
- 3
第3段階:紙の資料を取り込み、本番の環境で現場での試行を行い、引き継ぎました。
- 4
AI、埋め込みモデル、OCRの製品は、第1段階で実際のデータを使って候補を比べて決めました。
- 5
設備名の確認、評価への協力、試行への参加は、お客様の現場の方にお願いしました。
Quality & Security
品質・セキュリティ・運用
安全
保全の作業では、誤った指示が事故につながります。そのため、回答は過去の事例の提示にとどめ、出典を必ず示します。安全の手順は正規の手順書へ案内し、安全に関わる判断は人に任せる方針にしました。
該当なしの扱い
記録に無いことには答えません。該当がなければ「記録なし」と返し、上長への確認を促します。
機密
外部のクラウドに出せるデータの範囲をお客様と決め、構成をそれに合わせました。
評価と改善
評価用の質問集と自動採点で、検索とプロンプトを調整しました。回答ごとに「役立った/違う」を記録し、改善を数値で追えるようにしています。
利用環境
現場のタブレットとスマートフォンで使えます。入力は短い語句で足ります。
続けて使うための備え
新しい日報を追加で取り込めます。運用の手順書と、データを追加する手順を残しました。認証、バックアップ、ログも整えています。
Results
成果
熟練の作業者の知見を、若手が現場でのトラブル対応にそのまま使える形にしました。回答は過去の事例の提示にとどめ、必ず出典を示します。
- Excelと紙に分かれていた数年分の保全の記録を、「1つの故障=1つの事例」の検索できるデータに作り直しました。
- 設備と症状を短い語句で入力するだけで、同じ設備と同型機の過去の事例を、原因・処置・交換部品・元の記録付きで確認できるようになりました。
- 設備・現象別の発生の履歴を時系列で一覧にでき、繰り返す故障の原因調査に使えるようになりました。
- ベテランが事例に補足を書き足せ、その補足も検索の対象になる仕組みにしました。
- 3つの段階をすべて終え、現場での試行を経て、運用の手順書とともに引き継ぎました。
FAQ
技術面のよくあるご質問
- Q. AIの回答が間違っていたらどうなりますか?
- 回答は過去の事例の提示にとどめ、元の記録へのリンクを必ず付けます。利用者が元の記録をその場で確かめられます。安全の手順は正規の手順書へ案内します。
- Q. 記録に無いことを聞くとどうなりますか?
- 「記録なし」と返し、上長への確認を促します。記録に原因や処置が書かれていない事例には答えられません。記録の質が、答えられる範囲の上限になります。
- Q. なぜベクトル検索だけにしなかったのですか?
- 保全の記録は短い文と型番が多く、ベクトル検索だけでは当たらないためです。絞り込み、キーワード検索、ベクトル検索を組み合わせています。
- Q. 設備名の書き方がばらばらでも探せますか?
- 設備マスタと用語辞書で、表記のゆれ、略称、現場の言葉をそろえています。同型機の事例にも検索を広げます。
- Q. 新しい記録は追加できますか?
- 新しい日報を追加で取り込めます。データを追加する手順を残しています。
- Q. 故障の予測はできますか?
- このシステムの対象外です。故障の予測、センサーのデータとの連携、既存の保全管理システムとの双方向の連携は、範囲に含めていません。
Tech Stack
