新しい改善テーマに取りかかるときに、他の工場・ラインの過去の改善報告書と効果の記録を探し、横展開できる対策を根拠付きで返す
新しい改善テーマを登録したときに、他の工場・ラインの過去の改善報告書と効果確認の記録から、設備・不良の現象・現場の言葉が近い事例を探します。対策と効果、自分のラインとの条件の違いを、根拠の報告書付きで返します。
- 生成AI
- Azure OpenAI Service/Claude/Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 対象業界
- 建設/物流/製造
- 対象部門
- 品質管理/生産
- 対象業務
- 情報検索/比較検討
- 主な課題
- 判断に時間がかかる/属人化している/情報が見つからない
- AIで行う処理
- 検索(RAG)
- 主な効果
- 判断支援/属人化解消/検索時間短縮
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 改善担当が、不良の集計や設備の停止の記録から改善テーマを決め、登録票に書く
- 自分の工場のファイルサーバーで、設備名や不良の名前を入れてファイル名を検索する
- 見つからなければ、改善発表会の資料をめくって、近そうな事例を探す
- 心当たりのある他の工場の担当者に、電話かメールで「似た事例はないか」と聞く
- 返ってきた報告書を読み、設備の型式、材料、条件が自分のラインと同じかを書き出す
- 効果が続いたかどうかは、品質保証部に聞くか、聞かずに進める
- 参考になる事例がなければ、原因調査を一から始める
- 人改善担当が、改善テーマの登録票に設備・工程・不良の現象・現状の数値を書いて登録する
- 自動登録をきっかけに、登録票の内容から検索の問い合わせを作る
- 自動現場の言葉を同義語の辞書で広げ、設備台帳から型式と設備番号の両方を引く
- 自動言葉の一致と文章の意味の近さを組み合わせて、過去の改善報告書のカードを探す
- 自動見つかった事例に、効果確認の記録(1か月後・3か月後の数値)を突き合わせる
- 自動上位の事例について、対策・効果・自分のラインとの条件の違いを引用付きでまとめる
- 自動結果を登録票に添付し、改善担当に知らせる
- 人改善担当が、根拠の報告書を開いて条件の違いを確かめ、参考にする事例を選ぶ
- 人必要なら、その報告書を書いた担当者に連絡する(誰に聞けばよいかが分かった状態で)
各工程の詳しい説明を読む
- 改善担当が、不良の集計や設備の停止の記録から改善テーマを決め、登録票に書く
- 自分の工場のファイルサーバーで、設備名や不良の名前を入れてファイル名を検索する
- 見つからなければ、改善発表会の資料をめくって、近そうな事例を探す
- 心当たりのある他の工場の担当者に、電話かメールで「似た事例はないか」と聞く
- 返ってきた報告書を読み、設備の型式、材料、条件が自分のラインと同じかを書き出す
- 効果が続いたかどうかは、品質保証部に聞くか、聞かずに進める
- 参考になる事例がなければ、原因調査を一から始める
(a)ファイル名でしか探せない。 ファイルサーバーの検索は、実質的にファイル名とフォルダ名の検索です。「2019_3ライン_改善報告_No.42.docx」という名前からは、中身が成形機のバリの話かどうか分かりません。 開いて読むしかありません。
(b)言葉が工場ごとに違う。 第1章のとおり、同じ現象に違う名前が付いています。設備も、ある工場は型式で、別の工場は社内の設備番号で書きます。自分の工場の言葉で探すかぎり、他の工場の報告書は出てきません。
(c)人に聞くしかなく、聞ける相手は人による。 4番目は、他の工場に知り合いがいる担当者しかできません。ベテランは電話1本で答えにたどり着き、新任の担当者は存在すら知らないまま調査を始めます。 答えの見つかりやすさが、担当者の社内の人脈で決まっています。
(d)効果が続いたかが分からない。 6番目を飛ばすと、3か月後に元に戻った対策をそのまま持ち込むことになります。 報告書の「効果」欄は対策直後の値で、その後の記録は報告書の外にあります。
- 【人】 改善担当が、改善テーマの登録票に設備・工程・不良の現象・現状の数値を書いて登録する
- 【自動】 登録をきっかけに、登録票の内容から検索の問い合わせを作る
- 【自動】 現場の言葉を同義語の辞書で広げ、設備台帳から型式と設備番号の両方を引く
- 【自動】 言葉の一致と文章の意味の近さを組み合わせて、過去の改善報告書のカードを探す
- 【自動】 見つかった事例に、効果確認の記録(1か月後・3か月後の数値)を突き合わせる
- 【自動】 上位の事例について、対策・効果・自分のラインとの条件の違いを引用付きでまとめる
- 【自動】 結果を登録票に添付し、改善担当に知らせる
- 【人】 改善担当が、根拠の報告書を開いて条件の違いを確かめ、参考にする事例を選ぶ
- 【人】 必要なら、その報告書を書いた担当者に連絡する(誰に聞けばよいかが分かった状態で)
8番目が、この設計の分かれ目です。 横展開できるかどうかは、設備の型式が同じでも、材料のロット、金型の年数、作業者の熟練で変わります。決めるのは改善担当で、AIが出すのは判断の材料までです。
9番目の人への問い合わせは、なくしません。 変わるのは、「似た事例はないか」という漠然とした問い合わせが、「報告書の No.42 の対策で、金型温度は何度でしたか」という具体的な質問になることです。
02今回想定するシステム構成
改善報告書(6工場のファイルサーバー) 効果確認の記録(品質保証部) │ 承認済みのものを取り込む │ ▼ ▼ AWS Lambda ── 本文の取り出し、カードへの分割、効果の記録との結び付け │ ├──▶ Claude(Amazon Bedrock)── 報告書から現象・原因・対策・効果を取り出す ├──▶ Amazon Titan Text Embeddings V2 ── カードの文を埋め込む ▼ Amazon OpenSearch Service(言葉の一致+意味の近さ) ▲ │【トリガー】改善テーマの登録 AWS Lambda ── 問い合わせの作成、同義語と設備台帳での展開 ▼ ハイブリッドクエリ(工場・設備の区分で絞り込み) ▼ AWS Lambda ── 効果確認の記録を突き合わせ、並べ直す ▼ Claude(Amazon Bedrock)── 対策・効果・条件の違いを引用付きでまとめる ▼ 登録票に添付 ──▶【人が根拠を確かめて選ぶ】
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Amazon OpenSearch Service(ハイブリッドクエリと k-NN、Sudachi の日本語解析) | Azure AI Search、Vertex AI Search(Agent Search) |
| 埋め込み | Amazon Titan Text Embeddings V2(Amazon Bedrock) | Cohere Embed、OpenAI の埋め込みモデル |
| 生成AI | Claude(Amazon Bedrock。カードの取り出しと検索結果のまとめ) | Azure OpenAI(Microsoft Foundry)、Gemini API |
| 連携 | AWS Lambda(取り込み、問い合わせの展開、並べ直し) | AWS Step Functions |
| 保管 | Amazon S3(報告書の写しとカード) | 既存のファイルサーバー |
改善報告書のファイルサーバーと効果確認の記録は、そのまま使います。 この構成は写しを取り込むだけで、元のファイルには書き込みません。最初の準備作業は、6工場の不良の現象の呼び方と、設備の型式と設備番号の対応を、1つの表にそろえることです。
検索基盤は Amazon OpenSearch Service です。 ハイブリッドクエリは、複数のクエリの関連度のスコアを1つのスコアにまとめるもので、言葉の一致で探すクエリと、埋め込みの近さで探すクエリを並べられます。 サブクエリは最大5つで、スコアをまとめるのは検索パイプラインです。正規化のプロセッサで尺度をそろえてから組み合わせます。
日本語の解析には Sudachi を使います。 Amazon OpenSearch Service の対応プラグインの一覧で、Sudachi は「日本語に推奨」とされ、任意で関連付けるプラグインとして用意されています。kuromoji と ICU はすべてのドメインに含まれています。現場の言葉を同義語の辞書で吸収するため、辞書を差し替えられる Sudachi を選びます。
埋め込みは Amazon Titan Text Embeddings V2 です。 入力は最大8,192トークンまたは50,000文字、出力は1,024次元(512・256も選べる)です。対応言語の一覧に日本語は入っていますが、英語に最適化されたモデルで、100を超える言語は「プレビュー」と書かれています。 第8章で、自社の報告書で探せるかを先に確かめます。
03どうやって実装するのか
処理の起点を決める
取り込みと検索で、起点が2つあります。
取り込みは、改善報告書の承認を起点にします。 承認済みの報告書だけを取り込むのは、途中で方針が変わった対策や、差し戻された原因の推定を検索結果に出さないためです。 ファイルサーバーの承認済みフォルダへの保存を毎晩見に行き、新しく入った報告書を Lambda が取り込みます。
効果確認の記録は、品質保証部の表の更新を起点に取り込み直します。 1か月後・3か月後の数値は報告書の承認より後に入るので、報告書のカードに後から効果を結び付ける形になります。結び付けはテーマの番号で行います。
過去10年の約9,000件は、別に一括で取り込みます。 このときは書いた担当者に確認が取れないので、カードに「未確認」の印を付け、検索結果で区別して出します。
検索は、改善テーマの登録で動きます。 登録票が保存されたら Lambda が動き、結果を登録票に添付します。改善担当が条件を変えて探し直せるように、検索画面からも同じ検索を呼べるようにします。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 改善報告書 | 本文、テーマの番号、工場・ライン・工程、設備、承認日、作成者 | 工場ごとのファイルサーバー |
| 効果確認の記録 | テーマの番号、指標(不良率・停止時間など)、対策前・1か月後・3か月後の値 | 品質保証部の表 |
| 設備台帳 | 設備番号、型式、メーカー、導入年、設置工場 | 設備台帳 |
| 現象の同義語の辞書 | 不良の現象・停止の呼び方の対応(バリ=ばり=はみ出し=フラッシュ) | 生産技術部が整える表 |
| 改善テーマ(検索時) | 設備、工程、不良の現象、現状の数値、材料、テーマの説明文 | 改善テーマの登録票 |
質を決めるのは、下から2つ目と3つ目です。 設備台帳で型式と設備番号を対応させておかないと、「M-0312」と書いた報告書と「成形機 XX-180」と書いた報告書が同じ設備だと分かりません。 同義語の辞書は、最初は各工場の改善担当に10語ずつ挙げてもらうところから始めます。
効果確認の記録を入力に入れることが、この構成の要です。 報告書だけで探すと、対策直後の「不良率 2.1% → 0.3%」が並びます。3か月後に1.8%に戻っていた事例は、横展開の候補ではなく注意事例です。
データの取得方法を決める
報告書の本文は、Word と文字の入った PDF から取り出します。スキャンした画像だけの古い報告書は、この構成の対象外にします。 取り出せなかったものは一覧にして、別に文字起こしの作業を回します。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 本文(欄ごと) | 報告書のファイル | 現象・原因・対策・効果の取り出し |
| 工場・ライン・設備 | 報告書の表題欄と設備台帳 | 絞り込みと、型式による名寄せ |
| 効果の数値 | 効果確認の記録 | 効果の持続の判定材料 |
| 公開範囲 | 報告書の属性(顧客名・共同開発の有無) | 検索できる人の制限 |
検索時には、登録票から2種類の問い合わせを作ります。 1つは設備の型式・現象の名前(同義語で広げたもの)の言葉の一致、もう1つはテーマの説明文の埋め込みによる近さです。この2つをハイブリッドクエリのサブクエリにし、filter で公開範囲を絞ります。filter はすべてのサブクエリに効き、条件が複数あるときは bool クエリで包みます。
工場では絞りません。 他の工場の事例を探すのがこの構成の目的なので、自分の工場だけに絞る設定を既定にしないでください。 設備の型式で絞るかどうかは、改善担当が検索画面で選べるようにします。
AIへ渡す前に整形する
- 欄への分割 … 報告書を「現象」「原因」「対策」「効果」「水平展開の可否」の欄に分けます。欄の名前が工場ごとに違うので、対応表で読み替えます
- カードへのまとめ … 1件の報告書を1枚のカードにし、欄ごとの文を別々に持ちます
- 設備の名寄せ … 設備番号から型式を引き、カードに両方を持たせます
- 現象の名寄せ … 同義語の辞書で、現象の正規の名前をカードに付けます。元の言葉も残します
- 効果の結び付け … テーマの番号で効果確認の記録を引き、1か月後・3か月後の値をカードに入れます
- 埋め込みの対象を絞る … 現象と原因と対策の文だけを埋め込みます。数値は埋め込まず、数値の項目として持ちます
- 重複の検知 … 同じテーマの中間報告と最終報告があれば、最終報告を正とします
1番目を軽く見ないでください。 欄に分けずに本文をまとめて1つにすると、引用したときに「対策」の文なのか「原因の推定」の文なのかが分からなくなります。 第7章の後半で、欄ごとに引用を返す形にするための下ごしらえです。
同義語の辞書は、Sudachi の辞書として登録します。 ドキュメントでは、Sudachi の辞書ファイルを関連付け直してもすぐにはドメインに反映されず、次のブルー/グリーンデプロイで更新されるとされています。すぐ反映したいときは、新しいパッケージで新しいインデックスを作って再インデックスし、インデックスのエイリアスを切り替えます。 辞書の更新は月に1回にまとめます。
AIに処理させる
AIの仕事は2か所です。取り込み時のカードの取り出しと、検索結果のまとめです。
| 場面 | させること |
|---|---|
| 取り込み | 報告書の欄から、現象・原因・対策・効果の文と、設備・材料・工程の条件を取り出す |
| 検索 | 上位8件について、改善テーマとの条件の違い、対策、効果の持続を引用付きでまとめる |
| 検索 | 効果が続かなかった事例を、注意事例として分けて書く |
| させないこと | 理由 |
|---|---|
| 横展開できるかの結論 | 材料・金型・作業者で変わる。改善担当が決める |
| 報告書に書かれていない原因の推測 | 推測された原因が「過去の報告書に書いてあったこと」として広まる |
| 効果の数値の補完 | 3か月後の記録が無ければ「記録なし」。対策直後の値で埋めない |
| 新しい対策の提案 | 社内に記録のある対策を探すのが目的。根拠の無い提案が混ざる |
| 事例の並べ直し | 効果の持続と条件の近さから Lambda が機械で並べる |
3行目がいちばん起きやすい失敗です。 3か月後の記録が空の事例を渡すと、AIは対策直後の値から「効果あり」とまとめます。記録が無いことと、効果が続いたことは別の話です。 記録が無ければ「記録なし」と書かせ、並びも下げます。
並べ直しは、Lambda で行います。 ハイブリッドクエリは検索の最上位に置くクエリで、function_score などの中には入れられないとされています。効果の持続(3か月後の値が対策前より改善しているか)と設備の型式の一致で、候補を集めたあとに並べ直します。
指示内容を固定する
取り込み時(カードの取り出し):
あなたは生産技術部で、承認済みの改善報告書を整理する担当です。
報告書の本文だけを根拠にしてください。推測で埋めないでください。
【取り出すもの】
- 現象:不良や停止の様子。報告書の言葉のまま写す
- 原因:報告書が「原因」として結論づけた文。推定と書かれていれば推定と記す
- 対策:実施した対策。実施しなかった案は含めない
- 効果:報告書に書かれた対策前後の数値と単位
- 条件:設備、材料、工程、金型、治具など、報告書に書かれたもの
【厳守事項】
- 書かれていない欄は null にしてください。他の欄から補わないでください。
- 原因が「推定」「可能性」と書かれていれば、confirmed を false にしてください。
- 対策の案と、実施した対策を分けてください。案は proposals に入れます。
- 数値は単位とともに写し、換算や丸めをしないでください。
- 顧客名や取引先名が本文にあれば、contains_customer_name を true にしてください。
検索時(結果のまとめ):
あなたは工場の改善担当を助ける担当です。
渡された検索結果だけを根拠に、改善テーマと過去の事例を比べてください。
【改善テーマ】{theme}
【書くこと】
1. 各事例の対策を、報告書の記載どおりに短く
2. 各事例と改善テーマの条件の違い(設備の型式、材料、工程、数値の水準)
3. 効果の持続:1か月後・3か月後の記録。無ければ「記録なし」
4. 3か月後に対策前の水準へ戻った事例は、「注意事例」として分けて書く
【厳守事項】
- 横展開できるかどうかの結論を書かないでください。
- 新しい対策や、検索結果にない対策を提案しないでください。
- 報告書に書かれていない原因を書かないでください。
- 「未確認」の印のある事例は、その旨を必ず書いてください。
- 近い事例が1件も無ければ、「近い過去の事例は見つかりませんでした」と書いてください。
検索結果は、Claude の検索結果ブロックで渡します。 1件の事例を1つの search_result にし、source に報告書の番号、title に工場・ライン・テーマ名、content に欄ごとのテキストブロックを並べます。引用を有効にすると、まとめの文ごとに、どの検索結果のどのブロックを根拠にしたかが付きます。
欄ごとにブロックを分けるのは、引用の単位がブロックだからです。 ドキュメントでは、テキストブロックが引用の最小単位で、Claude はブロックの一部ではなくブロック全体を引用するとされています。報告書を1つのブロックにすると、どの文を引用しても報告書の全文が返ってきます。
「横展開できるかの結論を書かない」を明記しないと、最後に「この対策は適用可能と考えられます」と添えてきます。 改善担当が条件の違いを確かめる前に、結論のほうが先に目に入ります。
出力形式を固定する
取り込み時のカードは、次の形のJSONで受け取ります。 Lambda が形を確かめ、欠けた項目があれば取り込みを止めて一覧に出します。
{
"report_id": "KZ-B2-2019-042",
"plant": "B工場",
"line": "成形2ライン",
"equipment": { "asset_no": "M-0312", "model": "" },
"phenomenon": { "text": "", "normalized": "バリ" },
"cause": { "text": "", "confirmed": false },
"countermeasure": "",
"proposals": [],
"effect_reported": { "metric": "", "before": "", "after": "" },
"conditions": { "material": "", "mold": "", "process": "" },
"contains_customer_name": false
}
検索結果は、Lambda が組み立てた次の形で登録票に添付します。
{
"theme_id": "T-2026-10-018",
"candidates": [
{
"report_id": "KZ-B2-2019-042",
"plant": "B工場",
"same_model": true,
"effect_followup": { "m1": "0.4%", "m3": "0.5%", "status": "sustained" },
"summary": "",
"citations": [ { "report_id": "KZ-B2-2019-042", "block": "対策" } ],
"unverified": false
}
],
"cautions": [],
"not_found": false
}
effect_followup.status は sustained(3か月後も改善が続く)/reverted(対策前の水準に戻った)/no_record(記録なし)の3つで、効果確認の記録の数値から Lambda が決めます。 AIには付けさせません。
1つ目の理由は、AIの文と機械の値を分けられることです。 summary はAIが書き、effect_followup と same_model は記録と台帳から機械で入れます。効果が続いたかどうかを、AIの言い回しに頼らずに読めます。
2つ目は、引用を報告書の欄まで戻せることです。 Claude が返す引用の位置(search_result_location)には、検索結果の番号とブロックの範囲が入ります。Lambda がそれを報告書の番号と欄の名前に置き換え、citations に入れます。 改善担当は「No.42 の対策の欄」をそのまま開けます。
3つ目は、reverted の事例を cautions に分けられることです。 横展開の候補と注意事例が同じ並びにあると、上から順に読んで、戻った対策を採ってしまいます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 工場ごとのファイルサーバー | 承認済みフォルダの読み取り | 改善報告書の取り込み |
| 品質保証部の効果確認の表 | 読み取り | 1か月後・3か月後の数値 |
| 設備台帳 | 読み取り | 設備番号と型式の対応 |
| Amazon OpenSearch Service | インデックスとハイブリッドクエリ | カードの保管と検索 |
| Amazon Bedrock | API呼び出し | 埋め込み、カードの取り出し、まとめ |
| 改善テーマの登録票 | 結果の添付 | 検索結果と根拠の報告書の一覧 |
ファイルサーバーにも、効果確認の表にも書き込みません。 この構成が書き込むのは、検索基盤のインデックスと、登録票への添付だけです。報告書の正本は工場のファイルサーバーに残し、検索結果からはそこへのリンクで戻ります。
人が確認する
AIのまとめをそのまま改善の計画に写す運用にはしません。 改善担当が次の順で確かめます。
cautionsを先に読む … 効果が戻った事例は、何が原因で戻ったかを報告書で確かめます- 候補の根拠を開く …
citationsから報告書の対策の欄を開き、まとめと食い違いがないかを見ます - 条件の違いを自分で確かめる … 材料のグレード、金型の年数、サイクルタイムなど、報告書に無い条件は書いた担当者に聞きます
- 参考にした事例を登録票に記録する … どの報告書を採り、どれを採らなかったかを残します
取り込み時のカードも、確かめる人を決めます。 新しく承認された報告書のカードは、書いた担当者に取り込みの翌日に送り、欄の取り違えがないかを見てもらいます。 過去分の「未確認」のカードは、検索で参照に選ばれたときに、その場で確かめます。
4番目の記録が、この仕組みを育てます。 採られた事例と採られなかった事例が溜まると、どの工場のどの型式の事例がよく使われるかが分かり、同義語の辞書と並べ直しの重みの見直しに使えます。
例外に対処する
| 起きること | 対応 |
|---|---|
| 近い事例が1件も無い | 「見つかりませんでした」と返す。似ていない事例で埋めない |
| 効果確認の記録が無い | no_record。並びを下げ、「記録なし」と明記する |
| 3か月後に対策前の水準へ戻っている | reverted。cautions に分けて出す |
| スキャン画像だけの報告書 | 取り込まず、文字起こしの一覧に回す |
| 設備番号が設備台帳に無い | 型式を空のまま取り込み、台帳の担当へ一覧で回す |
| 顧客名を含む報告書 | 公開範囲を限定し、権限のある人の検索にだけ出す |
| 欄の名前が対応表に無い | 取り込みを止め、対応表の追加を生産技術部へ依頼する |
| Bedrock が応答しない | 言葉の一致だけの検索結果を、まとめなしで返す |
| 同義語の辞書の更新が反映されない | ブルー/グリーンデプロイを待つか、再インデックスしてエイリアスを切り替える |
1行目を守ることが、信頼を保ちます。 何も見つからないときに無理に3件並べると、改善担当は次から結果を読まなくなります。 「無い」と返すことも、社内に前例が無いという情報です。
記録を残す
- 取り込んだ報告書の版と、取り出したカード(どのモデルで取り出したかを含む)
- 検索のたびの問い合わせ、同義語で広げた後の言葉、ハイブリッドクエリの上位の結果とスコア
- Claude に渡した検索結果と、返ってきたまとめと引用の位置
- 改善担当が参考に選んだ事例と、選ばなかった事例
- カードの取り違えを担当者が直した記録
- 同義語の辞書の版と更新日
2つ目で同義語を広げた後の言葉を残すのは、辞書の誤りを見つけるためです。 「ショート」を「ショートショット(充填不足)」と「電気の短絡」の両方に広げていると、成形のテーマで電気設備の報告書が出てきます。 ログを見れば、どの語の広げ方が外れを呼んでいるかが分かります。
04実装レベルの3段階
半自動化で、①の検索の40分と、②の問い合わせの大半が減ります。 残るのは、見つけた報告書を読んで条件の違いと効果の持続を確かめる③で、効果確認の記録を品質保証部に聞きに行く手間はまだ残ります。 本格構成で、効果の記録が候補に結び付き、条件の違いがまとめて出るので、1件30分になります。この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化の検索画面を1か月使うと、どの言葉で探して何が出なかったかのログが溜まります。それが同義語の辞書の材料になります。辞書が育ってからまとめを足すほうが、まとめの質が上がります。
05工数削減シミュレーション
導入後 60件 × 30分 ÷ 60 = 30 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 工場やラインが複数あり、改善報告書が工場ごとの共有フォルダや改善管理の仕組みに分かれて溜まっている製造業。毎月数十件の改善テーマが立ち上がり、他の工場で同じ不良や設備の不具合を解決した記録があるはずなのに探せていない場合。改善の効果を数か月後に確かめる記録を残している場合。
- 工場が1つで改善担当が数名に限られ、過去の事例を担当者どうしの会話で引き継げている場合。改善報告書が紙で保管され、本文を文字として取り出せない場合。報告書の書式が決まっておらず、現象・原因・対策・効果のどれが書かれているかが報告書ごとにばらばらな場合は、先に書式をそろえる必要があります。
07最小構成で試す方法
- 過去1年に解決した改善テーマから20件を選ぶ(他の工場に似た事例があると分かっているものを半分入れる)
- その20件について、当時どの報告書を参考にしたか、誰に聞いたかを担当者から聞き取る
- 2工場分の報告書(数百件)を、欄ごとにテキストにしてまとめる
- 20件のテーマの説明文で、言葉の一致の検索と、埋め込みの近さの検索を別々に試す
- 当時参考にした報告書が、上位10件に入ったかを数える
20件は必ずやってください。 生成AIのまとめを作る前に、「そもそも探せるのか」を確かめます。 Titan Text Embeddings V2 の日本語はプレビューの扱いなので、ここで自社の言葉で効くかを見ます。
| 出てきた内容 | 判断 |
|---|---|
| 当時の報告書が上位に入った | 取り込みとまとめの段階に進む |
| 言葉の一致では出ず、埋め込みでは出た | ハイブリッドクエリで組み合わせる。構成は有効 |
| どちらでも出ない | 同義語の辞書と欄の分け方が先。 埋め込みのモデルを替える前に見直す |
3行目が出ることは珍しくありません。 報告書の本文が短く、設備番号と略語だけで書かれていると、どの検索でも当たりません。その場合は、設備台帳での名寄せと同義語の辞書を作ってから、同じ20件で試し直してください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 他の工場の報告書が出てこない | 同義語の辞書と設備の名寄せが足りない。 言葉の一致のサブクエリを見直す |
| 対策直後の数値だけで「効果あり」と並ぶ | 効果確認の記録を結び付け、3か月後の値で並べ直す |
| 効果の記録が無い事例を AI が「効果あり」とまとめる | 「記録なし」と書かせ、status は機械で決める |
| 引用すると報告書の全文が返ってくる | 引用の単位はブロック。 欄ごとにブロックを分ける |
| 辞書を更新したのに結果が変わらない | 次のブルー/グリーンデプロイで反映。急ぐなら再インデックスとエイリアスの切り替え |
| 「ショート」が成形と電気の両方に広がる | 同義語を工程ごとに分け、ログで外れを見つける |
| 自分の工場の事例ばかり出る | 工場で絞る設定を既定にしない |
| 顧客名を含む報告書が誰にでも出る | ドキュメントレベルのセキュリティで公開範囲を絞る |
| AIが新しい対策を提案してくる | 指示で禁じ、検索結果にない対策は書かせない |
| 埋め込みが日本語で効かない | Titan V2 の日本語はプレビュー。第8章で先に確かめ、だめなら埋め込みのモデルを替える |
上の2行が、この構成の失敗のほとんどです。 1行目は「探せない」、2行目は「探せたが、戻った対策を勧める」です。後者のほうが害が大きく、気づかれにくい失敗です。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 改善報告書の本文(設備の条件、材料、工程の数値)、不良率と停止時間の記録、設備台帳、そして報告書に書かれていることがある顧客名、共同開発先の名前、作成者の氏名です。
- 報告書ごとに公開範囲を持たせる … 顧客から預かった図面の条件や、共同開発の成果を含む報告書は、全社の改善担当に見せてよいとは限りません。Amazon OpenSearch Service の細かいアクセス制御では、ロールに付けたクエリに一致するドキュメントだけを見せるドキュメントレベルのセキュリティと、項目を隠すフィールドレベルのセキュリティ、値を匿名化するフィールドマスキングが使えます
- 細かいアクセス制御の前提を満たす … ドメインへの通信を HTTPS にし、保管時の暗号化とノード間の暗号化を有効にすることが前提とされています。一度有効にすると無効に戻せないので、最初の構築時に決めます
- 効果の数値を人事の評価に使わない … 改善の効果の記録が工場をまたいで見えるようになると、担当者ごとの成績表のように使いたくなります。 この仕組みは事例を探すためのもので、評価に使うと、効果の出なかった報告書が書かれなくなります
- 作成者の氏名は「誰に聞けばよいか」のためだけに出す … 異動や退職の後も、報告書の作成者として残ります。退職者の名前は部署名に置き換えて出すなどの扱いを決めておきます
- 横展開の判断をAIに任せない … 設備の型式が同じでも、安全装置や作業手順が違えば同じ対策は使えません。安全に関わる対策は、必ず生産技術と安全の担当が確かめてから展開します
誤りが起きた場合のリスクは、効果の続かなかった対策を広めることと、見せてはいけない報告書を見せることの2つです。 前者は効果の記録を機械で結び付けることで、後者はドキュメントレベルのセキュリティで防ぎます。
10まず何から始めるか
1週目:言葉をそろえる
6工場の改善担当に、不良の現象と停止の呼び方を10語ずつ挙げてもらい、同義語の対応表にします。あわせて、報告書の欄の名前の対応表と、設備番号と型式の対応を設備台帳から書き出します。
2週目:20件で探せるかを試す
過去1年に解決したテーマから20件を選び、2工場分の報告書で言葉の一致と埋め込みの検索を試します。当時参考にした報告書が上位10件に入ったかを数えます。
3週目:効果確認の記録を結び付ける
品質保証部の効果確認の表から、テーマの番号で報告書と結び付けられる件数を数えます。結び付けられない報告書が多ければ、テーマの番号の付け方から直します。
4週目:公開範囲を決める
顧客名や共同開発を含む報告書をどう扱うかを、品質保証部と決めます。ここが決まらないうちに全工場の報告書を取り込まないでください。
2か月目: 6工場の報告書を取り込み、検索画面を改善担当に使ってもらいます。3か月目以降: 登録をきっかけにした検索と引用付きのまとめを足し、1件120分が何分になったかを実測します。効果が戻った事例が cautions に分かれて出るようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
ハイブリッドクエリが複数のクエリの関連度のスコアを1つにまとめること。スコアのまとめに検索パイプライン(正規化のプロセッサなど)を使うこと。サブクエリが最大5つであること。filter がすべてのサブクエリに効き、複数の条件は bool クエリで包むこと。検索の最上位に置くクエリで、function_score などの中に入れられないこと | OpenSearch Documentation: Hybrid query | 2026-10-09 |
| Sudachi Analysis が日本語に推奨とされ、任意のプラグインとして関連付けられること。kuromoji と ICU がすべてのドメインに含まれること。Neural Search と k-NN のプラグイン。Sudachi の辞書ファイルの関連付け直しが次のブルー/グリーンデプロイで反映され、急ぐ場合は新しいパッケージで再インデックスしエイリアスを使うこと | AWS: Plugins by engine version in Amazon OpenSearch Service | 2026-10-09 |
| 細かいアクセス制御で、ロールのクエリに一致するドキュメントだけを見せるドキュメントレベルのセキュリティ、フィールドレベルのセキュリティ、フィールドマスキングが使えること。HTTPS、保管時の暗号化、ノード間の暗号化が前提で、有効にすると無効に戻せないこと | AWS: Fine-grained access control in Amazon OpenSearch Service | 2026-10-09 |
| Titan Text Embeddings V2 の入力が最大8,192トークンまたは50,000文字、出力が1,024次元(512・256も可)であること。英語に最適化され、100を超える言語がプレビューとされ、対応言語の一覧に日本語があること。文書は段落などに分けることが推奨されること | AWS: Amazon Titan Text Embeddings models | 2026-10-09 |
検索結果ブロック(source・title・content)で渡した内容を Claude が引用すること。引用の位置が search_result_location とブロックの範囲で返り、テキストブロックが引用の最小単位であること。Claude API・Amazon Bedrock・Google Cloud で使えること | Claude Docs: Search results | 2026-10-09 |
横展開してよいかどうかは、設備・材料・安全の条件を確かめたうえで、改善担当と生産技術が決めてください。 本記事は公開仕様で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1205)についてのご相談はこちらから。
