金型の補修履歴と成形不良の記録から、いま出ている不良に近い過去の補修事例と効いた対策を探し、補修の段取りの材料にする
成形不良が出て金型の補修を検討するときに、同じ金型や同じ系列の金型で起きた近い不良の補修事例を探します。原因・補修の内容・その後の再発・停止の時間を事例番号付きで並べ、補修の段取りを決める材料にします。
- 生成AI
- Azure OpenAI Service/Claude/Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 対象業界
- 製造
- 対象部門
- 品質管理/生産
- 対象業務
- 情報検索/比較検討
- 主な課題
- 判断に時間がかかる/属人化している/情報が見つからない
- AIで行う処理
- 検索(RAG)
- 主な効果
- 判断支援/属人化解消/検索時間短縮
- 導入難易度
- ★★★★☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 品質管理から不良の連絡を受け、不良品と不良の記録を見る
- 金型台帳で金型の系列とショット数を確かめる
- 補修票のフォルダで、同じ金型の過去の補修を探す
- 見つからなければ、同じ系列の金型の補修を探すか、ベテランに聞く
- 当時の補修のあとに再発したかを、品質管理の不良の記録で確かめる
- 補修の方法と段取り(部品・外注・停止の時間)を決め、生産管理に伝える
- 自動品質管理のシステムに不良が登録され、金型の補修の検討が要る区分になったときに動く
- 自動Claude API が、不良の記録の自由記述から、不良の種類・箇所・キャビティ・症状の特徴を決まった区分に取り出す
- 自動Amazon OpenSearch Service が、同じ金型・同じ系列・同じ樹脂で絞って、症状の近い補修事例を検索する
- 自動同じ絞り込みで、補修の種類ごとに「再発なし」だった件数を数える
- 自動上位の事例について、原因・補修の内容・成形の条件の変更・再発の有無・停止の時間を取り出す
- 自動Claude API が、事例の要点と、段取りの論点(用意する部品・外注の要否・停止の見込みの幅)を事例番号付きで並べる
- 人金型保全の担当が事例を開き、不良品と金型を見て補修の方法を決める
- 人段取りを決めて生産管理に伝え、補修の結果を補修の記録に残す
各工程の詳しい説明を読む
- 品質管理から不良の連絡を受け、不良品と不良の記録を見る
- 金型台帳で金型の系列とショット数を確かめる
- 補修票のフォルダで、同じ金型の過去の補修を探す
- 見つからなければ、同じ系列の金型の補修を探すか、ベテランに聞く
- 当時の補修のあとに再発したかを、品質管理の不良の記録で確かめる
- 補修の方法と段取り(部品・外注・停止の時間)を決め、生産管理に伝える
(a)補修票が探せない。 スキャンした補修票は手書きで、全文で探せません。ファイル名の金型番号で開いて、1枚ずつ読むしかありません。 同じ系列の金型まで広げると、数十枚になります。
(b)系列のつながりが頭の中にある。 「この型は、あの型の改造品だ」という情報は、金型台帳に入っていないことがあります。ベテランが休みの日は、同じ系列の事例にたどり着けません。
(c)再発の有無が分からない。 補修票には直した内容しか書かれていません。その直し方が効いたのかを知るには、品質管理の記録を日付で追う必要があります。 忙しいときは省かれ、効かなかった直し方がまた選ばれます。
(d)言葉がそろっていない。 同じ不良が「バリ」「バリ大」「PL面のはみ出し」、同じ補修が「肉盛り」「溶接」「TIG補修」と書かれています。言葉で探すと、半分は見落とします。
- 【自動】 品質管理のシステムに不良が登録され、金型の補修の検討が要る区分になったときに動く
- 【自動】 Claude API が、不良の記録の自由記述から、不良の種類・箇所・キャビティ・症状の特徴を決まった区分に取り出す
- 【自動】 Amazon OpenSearch Service が、同じ金型・同じ系列・同じ樹脂で絞って、症状の近い補修事例を検索する
- 【自動】 同じ絞り込みで、補修の種類ごとに「再発なし」だった件数を数える
- 【自動】 上位の事例について、原因・補修の内容・成形の条件の変更・再発の有無・停止の時間を取り出す
- 【自動】 Claude API が、事例の要点と、段取りの論点(用意する部品・外注の要否・停止の見込みの幅)を事例番号付きで並べる
- 【人】 金型保全の担当が事例を開き、不良品と金型を見て補修の方法を決める
- 【人】 段取りを決めて生産管理に伝え、補修の結果を補修の記録に残す
3番目が、この設計の分かれ目です。 絞り込みを3段にします。まず同じ金型、足りなければ同じ系列、それでも足りなければ同じ樹脂と不良の種類。 どの段で見つかった事例かを画面に出し、担当が近さの度合いを読めるようにします。
4番目の件数は、検索基盤が数えます。 AIに「多く効いた対策はどれか」と聞くと、渡された数件だけを見て答えます。件数はプログラムが数え、AIはそれを読むだけにします。
02今回想定するシステム構成
不良の登録(品質管理のシステム) ▼【トリガー】補修の検討が要る区分での登録 AWS Lambda ▼ Claude API ── 不良の種類・箇所・キャビティ・症状の特徴を取り出す(構造化出力) ▼ Amazon Bedrock(Titan Text Embeddings V2)── 症状の文の埋め込み ▼ Amazon OpenSearch Service(kuromoji で日本語を解析) ├── ハイブリッド検索(金型 → 系列 → 樹脂の3段で絞る。min_max で正規化し重みを付けて合わせる) └── terms 集計で、補修の種類ごとの「再発なし」の件数 ▼ 上位の事例(原因・補修・条件の変更・再発・停止の時間) ▼ Claude API ── 事例の要点と段取りの論点(事例番号付き) ▼ 検索画面 ──【人】金型保全の担当が補修を決める ── 補修の記録 ── 索引へ
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Amazon OpenSearch Service(ハイブリッドクエリ、normalization-processor、terms 集計) | Azure AI Search、Vertex AI Search(Agent Search) |
| 埋め込み | Amazon Titan Text Embeddings V2(Amazon Bedrock) | Cohere Embed、OpenAI の埋め込みモデル |
| 生成AI | Claude API(不良の記録の項目の取り出しと、事例の要点・段取りの論点) | Azure OpenAI(Microsoft Foundry)、Gemini API |
| 連携 | AWS Lambda(不良の登録の受け取り、補修の記録の取り込み) | AWS Step Functions |
| 保管 | Amazon S3(補修票のスキャンと写真) | 社内のファイルサーバー |
品質管理のシステムと金型台帳には、この構成から書き込みません。 不良の記録と台帳を読み取るだけで、補修の判断と記録は今まで通り担当が行います。
点数の合わせ方は、normalization-processor の min_max と、重みを付けた算術平均にします。 単語の一致の点数と、意味の近さの点数は尺度が違うので、それぞれを0から1の範囲にそろえてから合わせます。この題材では、不良の種類や箇所の言葉の一致が効くので、単語の一致の側に重みを多めに置きます。 重みは2つの合計が1になるように指定します。
日本語の解析には、Amazon OpenSearch Service のすべてのドメインに入っている Japanese(kuromoji)Analysis を使います。
03どうやって実装するのか
処理の起点を決める
品質管理のシステムに不良が登録され、その区分が「金型起因の疑い」または「補修の検討が要る」のときに動かします。 材料のロットの不良や外観の軽微な不良まで動かすと、担当の画面が関係の薄い結果で埋まります。区分は品質管理と金型保全で決め、登録の画面の選択肢にします。
もう1つの起点は、補修の完了です。 担当が補修の記録を登録したときに、補修の事例を索引に足します。再発の有無は、補修から30日・90日の時点で品質管理の不良の記録を見て、プログラムが更新します。 同じ金型・同じ不良の種類・同じキャビティの不良が登録されていれば「再発あり」、無ければ「再発なし」とします。
再発の判定を後から足す形にするのは、補修の直後には結末が分からないからです。 補修の時点で事例を索引に入れ、結末が分かったら書き足します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 不良の記録 | 金型番号、品番、成形機、樹脂、不良の種類、発生した箇所とキャビティ、発生の率、自由記述 | 品質管理のシステム |
| 金型台帳 | 金型番号、系列、改造の元の金型、ショット数、前回の補修の日 | 金型台帳 |
| 補修の事例 | 事例番号、金型番号、系列、樹脂、不良の種類、箇所、症状、原因、補修の種類と内容、成形の条件の変更、使った部品、外注の有無、停止の時間、再発の有無、日付 | 補修の索引 |
| 言葉の対応表 | 不良と補修の言い方を決まった区分にそろえる表 | 金型保全と品質管理で作る |
質を決めるのは、補修の事例の「再発の有無」と、金型台帳の「系列」と「改造の元の金型」です。 再発が無ければ効いた直し方が分からず、系列が無ければ同じ金型にしか探しに行けません。系列の情報は、ベテランへの聞き取りで台帳に書き足すのが最初の仕事です。
データの取得方法を決める
| 取るもの | どこから | どう取るか |
|---|---|---|
| 近い補修事例 | 補修の索引 | ハイブリッドクエリ(症状の match + 埋め込みの knn)、金型・系列・樹脂で filter、上位10件 |
| 効いた対策の件数 | 補修の索引 | 同じ filter と不良の種類で絞った通常の検索で size 0、terms 集計(補修の種類)の中に再発の有無の terms |
| 同じ金型の直近の補修 | 補修の索引 | 金型番号で term、新しい順に5件 |
| 補修票の原本 | S3 | 上位の事例の補修票と写真へのリンク |
検索パイプラインと検索の形は、次のようになります。
PUT /_search/pipeline/repair-hybrid
{
"phase_results_processors": [
{ "normalization-processor": {
"normalization": { "technique": "min_max" },
"combination": { "technique": "arithmetic_mean",
"parameters": { "weights": [0.6, 0.4] } } } }
]
}
POST /mold-repairs/_search?search_pipeline=repair-hybrid
{
"size": 10,
"_source": ["case_id", "mold_id", "mold_family", "resin", "defect_type",
"location", "cause", "repair_type", "repair_detail",
"condition_change", "outsourced", "downtime_hours",
"recurrence_90d", "repaired_on"],
"query": {
"hybrid": {
"queries": [
{ "match": { "symptom": "PL面 キャビティ2 ゲート反対側 バリ 0.2mm" } },
{ "knn": { "symptom_vector": { "vector": [0.0], "k": 30 } } }
],
"filter": {
"bool": {
"filter": [
{ "term": { "mold_family": "DP-120" } },
{ "term": { "defect_type": "flash" } }
]
}
}
}
}
}
ハイブリッドクエリの filter は1つの検索の形で書き、複数の条件は bool にまとめます。 3段の絞り込みは、まず mold_id で検索し、上位の件数が3件に満たなければ mold_family に、さらに足りなければ resin と defect_type に広げて検索し直します。どの段の結果かを match_level として画面に渡します。
min_max の正規化は、返った結果の中の最小と最大でそろえます。 公式の説明では、結果が1件しかない検索ではその1件が1.0になるとされています。同じ金型の事例が1件しか無いときに、近さの点数が高く見えることがあるので、点数だけで近さを判断せず、match_level と一緒に表示します。
効いた対策の件数は、ハイブリッドクエリとは別の通常の検索で数えます。
POST /mold-repairs/_search
{
"size": 0,
"query": { "bool": { "filter": [
{ "term": { "mold_family": "DP-120" } },
{ "term": { "defect_type": "flash" } }
] } },
"aggs": {
"by_repair": {
"terms": { "field": "repair_type", "size": 10 },
"aggs": { "recurrence": { "terms": { "field": "recurrence_90d", "missing": "unknown" } } }
}
}
}
集計を別の検索にするのは、母数をはっきりさせるためです。 ハイブリッドクエリに集計を付けると、global を除いてハイブリッドクエリが返す文書の範囲で数えます。 「この系列のバリの補修のうち、研磨は12件で再発なし8件」と言うには、絞り込みに当たる全件を母数にしたいので、通常の検索で数えます。missing を指定すると、再発の判定がまだの事例を1つの区分にまとめて数えられます。
AIへ渡す前に整形する
- 補修票の起こし直し … 過去の補修票のスキャンを担当が読み、補修の事例の項目に入れます。手書きの読み取りに頼らず、直近3年分から人が起こします
- 言葉のそろえ … 「バリ」「PL面のはみ出し」を
flash、「肉盛り」「TIG補修」をweld_buildupのように、不良の種類と補修の種類を決まった区分にします。そろえられないものはotherにして原文を残します - 箇所の書き方 … キャビティの番号、PL面・ゲート・エジェクタピン・スライドなどの部位を区分で持ちます
- 再発の判定 … 補修から30日・90日の時点で、同じ金型・不良の種類・キャビティの不良の記録を引き、
recurrence_30d・recurrence_90dを入れます - 症状の文と埋め込み … 不良の種類・箇所・寸法・発生の状況をつないだ200字程度の文を作り、Titan Text Embeddings V2 で埋め込みます
- 系列の付与 … 金型台帳の系列と改造の元の金型を、すべての事例に付けます
補修の事例の1件は、次のような形にします。集計に使う項目はすべて keyword にし、症状と原因の文だけを kuromoji で解析する text にします。
{
"case_id": "MR-2025-0318",
"mold_id": "DP-120-03",
"mold_family": "DP-120",
"base_mold": "DP-120-01",
"resin": "PP-GF20",
"machine": "M-35",
"defect_type": "flash",
"location": "parting_line",
"cavity": "2",
"symptom": "キャビティ2のゲート反対側のPL面に0.2mmのバリ。型温を上げた日に増える",
"cause": "PL面の当たりの摩耗",
"repair_type": "weld_buildup",
"repair_detail": "PL面の肉盛り溶接と仕上げ研磨",
"condition_change": "型締力を5%上げる(暫定)",
"parts_used": [],
"outsourced": true,
"downtime_hours": 18,
"shots_at_repair": 820000,
"recurrence_30d": "none",
"recurrence_90d": "none",
"repaired_on": "2025-06-12",
"customer_group": "auto_interior"
}
2番目が、集計の質を決めます。 区分にそろえないまま数えると、同じ補修が別々の区分に割れます。区分の一覧は金型保全と品質管理で決め、決まった言い方への当てはめはプログラムで行います。 当てはまらない言い方だけを、生成AIで区分の候補に当て、人が確かめます。
Titan Text Embeddings V2 は英語に最適化されたモデルで、日本語は多言語の対応(プレビュー)に入っています。 症状の文の書き方は現場ごとの癖が強いので、単語の一致の検索を並べ、自社の事例でどこまで当たるかを最初に確かめます。
AIに処理させる
させるのは2つです。不良の記録から検索に使う区分を取り出すことと、検索の結果から事例の要点と段取りの論点を並べることです。
| させること | 中身 |
|---|---|
| 不良の記録の区分の取り出し | 不良の種類、箇所、キャビティ、寸法、発生の状況を、決まった区分と短い文に |
| 事例の要点 | 上位の事例ごとに、原因・補修の内容・条件の変更・再発の有無を1〜2文で |
| 段取りの論点 | 過去の事例で使った部品、外注の有無、停止の時間の幅を、事例番号付きで並べる |
| 効かなかった対策の明示 | 再発ありの事例の補修を「再発あり」として挙げる |
| させないこと | 理由 |
|---|---|
| 補修の方法の決定 | 金型を見て担当が決める |
| 件数の集計 | 検索基盤の集計で数える |
| 停止の時間の見込みの断定 | 事例の値の幅を示すだけ。決めるのは担当 |
| 根拠の無い原因の推定 | 事例に書かれた原因だけを示す |
| 出荷の判定 | 品質管理が決める |
4行目を外すのは、もっともらしい原因を作らせないためです。 生成AIは、症状から「ガス抜き不足と考えられます」と書くことができます。しかしそれは事例の記録ではなく推測です。 推測は担当が金型を見て行います。
指示内容を固定する
あなたは射出成形の工場の金型保全課で、成形不良が出た金型の補修を
検討する担当のために、過去の補修事例を整理する立場です。
補修の方法を決めないでください。決めるのは担当です。
【やること】
1. 検索で見つかった補修事例を読み、事例ごとに原因・補修の内容・
成形の条件の変更・再発の有無を1〜2文でまとめてください。
2. 段取りの論点として、過去の事例で使った部品、外注の有無、
停止の時間を、事例番号(case_id)付きで並べてください。
3. 集計の結果を読み、補修の種類ごとの再発なしの件数をそのまま書いてください。
4. 再発ありの事例の補修は「再発あり」として挙げてください。
【厳守事項】
- 件数を自分で数えないでください。集計の結果の数字だけを使ってください。
- 検索結果に無い事例番号を書かないでください。
- 事例に書かれていない原因を推測して書かないでください。
- 停止の時間は事例の値を並べるだけにし、「〇時間で済みます」と断定しないでください。
- match_level が family や resin の事例は、同じ金型の事例ではないことを必ず書いてください。
- 再発の判定がまだ(unknown)の事例は、効いたかどうか分からないと書いてください。
【いまの不良】{defect}
【検索結果(上位の補修事例と match_level)】{cases}
【集計(補修の種類ごとの再発の有無)】{aggregations}
「match_level が family や resin の事例は、同じ金型の事例ではないと書く」を入れないと、系列の別の金型の補修を、この金型の過去の補修のように書きます。 担当は「前にこの型で直した」と読み、同じ直し方が効くと思い込みます。
「件数を自分で数えない」は、上位の10件から割合を作らせないためです。 集計の母数は絞り込みに当たる全件で、上位の10件とは違います。
出力形式を固定する
Claude API の構造化出力で、次の形のJSONを受け取ります。
{
"defect": { "mold_id": "", "defect_type": "", "location": "", "cavity": "", "note": "" },
"cases": [
{ "case_id": "MR-2025-0318", "match_level": "mold | family | resin",
"summary": "", "recurrence_90d": "none | recurred | unknown" }
],
"repair_counts_used": [
{ "repair_type": "", "total": 0, "no_recurrence": 0 }
],
"setup_points": [
{ "topic": "parts | outsourcing | downtime", "finding": "", "evidence_cases": [] }
],
"recurred_repairs": []
}
1つ目の理由は、evidence_cases と cases の事例番号を照らせることです。 検索結果に無い番号があれば、その論点は表示しません。
2つ目は、repair_counts_used を集計の結果と照らせることです。 AIが書いた件数が集計の数字と一致しなければ、その行は集計の結果をそのまま表示し直します。
3つ目は、match_level が画面の並びを決められることです。 同じ金型の事例を上に、系列・樹脂の事例をその下に分けて表示します。
応答が refusal や max_tokens で終わったときは、スキーマに合わないことがあるので、受け付けずにやり直します。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 品質管理のシステム | 不良の登録の通知で Lambda を起動 | 不良の記録の受け取り、再発の判定の材料 |
| 金型台帳 | 読み取り | 系列、改造の元の金型、ショット数 |
| Claude API | Messages API の構造化出力 | 区分の取り出し、事例の要点と段取りの論点 |
| Amazon Bedrock | Titan Text Embeddings V2 の呼び出し | 症状の文の埋め込み |
| Amazon OpenSearch Service | 検索パイプラインを指定した _search、集計 | 近い事例と件数 |
| 検索画面 | 社内のWeb画面 | 事例と論点の表示、補修の記録の登録 |
人が確認する
- 事例の補修票と写真を開く … 上位の2〜3件は原本を読みます
- 不良品と金型を見る … 事例と同じ箇所・同じ症状かを確かめます
- 補修の方法と段取りを決める … 再発ありの対策を選ぶときは、理由を記録に残します
- 補修の記録を登録する … 補修の種類・内容・部品・外注・停止の時間を、決まった区分で入れます
2番目を省かないでください。 記録の上で近くても、金型の摩耗の進み方や、前回の補修の跡で状況は違います。
目標は、120件をならして1件15分です。 同じ金型の事例が見つかるものは数分、系列まで広げたものは原本を読むのに時間がかかります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 同じ金型・系列・樹脂のどの段でも事例が無い | 「近い事例なし」と出し、担当とベテランで検討する |
| 系列の情報が台帳に無い | 同じ金型の次は樹脂と不良の種類の段に進み、系列の未整備を一覧に出す |
| 事例番号が検索結果に無い | その論点を表示しない |
| 件数が集計と合わない | 集計の結果をそのまま表示し直す |
| 再発の判定がまだの事例が多い | unknown の件数を表示し、集計の信頼の目安にする |
構造化出力が refusal や max_tokens で終わる | 受け付けず再実行 |
記録を残す
- 不良の記録と、取り出した区分
- 検索の条件(
filter、match_level、重み)と、上位の事例番号と点数 - 集計の結果
- Claude API の出力と、指示の版
- 担当が決めた補修の方法と、再発ありの対策を選んだ理由
- 補修のあとの再発の判定(30日・90日)
最後の行が、この仕組みを育てます。 補修の記録と再発の判定がそろうと、次に同じ不良が出たとき、効いた直し方の件数が増えています。
04実装レベルの3段階
半自動化で、1件40分が25分程度になります。 探す時間は減りますが、再発の有無を品質管理の記録で確かめる作業が残ります。本格構成で15分になり、この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化で言葉の区分と系列の情報を整えてから、再発の判定の自動化を足します。
05工数削減シミュレーション
導入後 120件 × 15分 ÷ 60 = 30 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 自動車部品・電子部品・日用品などの射出成形の工場で、数百面の金型を自社で保全し、月に百件を超える成形不良の検討と補修の手配をしている場合。補修の記録が紙の補修票・金型台帳・担当者のノートに分かれ、似た不良を前にどう直したかを知っているのがベテランの金型の担当に限られている場合。AWS を社内で使っている場合。
- 金型の面数が少なく、補修をすべて金型メーカーに任せている場合。補修の記録がほとんど残っていない場合(先に補修票の様式をそろえる運用から始めます)。不良の原因が材料のロットや成形機の故障に偏っていて、金型の補修が対策の中心にならない場合。なお、補修の方法と時期の決定、出荷の判定、顧客への報告の内容は、この構成では代替できません。過去の補修事例を探して示すまでです。
07最小構成で試す方法
- 過去3年の補修票から、不良の多い金型の系列を3つ選び、各20件を選ぶ(再発した補修を必ず含める)
- 1件ずつ、金型・不良の種類・箇所・補修の内容・再発の有無を1行にまとめた表を作る
- 先月の不良のうち、その系列で補修を検討した10件を選ぶ
- 手元のAIサービスに表と不良の記録を渡し、「この不良に近い補修事例を表から選び、事例番号付きで、補修の内容と再発の有無を並べてください。補修の方法は決めないでください」と指示する
- 出てきた事例を、そのとき担当が実際に参考にした事例と比べる
| 出てきた内容 | 判断 |
|---|---|
| 担当が参考にした事例が上位に出た | 索引と検索の仕組みづくりに進む |
| 系列の別の金型を同じ金型として書いた | 指示と match_level で直る。構成は有効 |
| 言い方の違いで事例が出ない | 言葉の対応表を先に作る |
表を作る段階で、再発の有無を書けない補修票が多いことに気づくはずです。 それは失敗ではなく、品質管理の記録とつなぐ作業が要るということが分かったということです。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 系列の別の金型を同じ金型として読む | match_level を出し、画面で分けて表示する |
| AIが上位の事例から件数を数える | 集計を別の検索で行い、件数を照合する |
| 言い方の違いで事例が出ない・集計が割れる | 言葉の区分にそろえ、other の件数を見る |
| 再発の有無が分からない | 30日・90日の時点で不良の記録から判定する |
| 事例が1件だけで点数が高く見える | 点数だけで判断せず、match_level と件数を出す |
| もっともらしい原因が書かれる | 事例に書かれた原因だけを示す |
| 補修の記録が自由記述に戻る | 登録の画面を区分の選択にする |
| 系列の情報が無い金型がある | 未整備の一覧を出し、ベテランへの聞き取りで埋める |
上の2行が、この構成の失敗のほとんどです。 近さの度合いを読み違えることと、件数の母数を取り違えること。どちらも、絞り込みの段と集計の場所を画面で見せることで防ぎます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 金型の補修の記録、成形の条件、不良の記録です。金型の構造と成形の条件は、自社と顧客の技術情報で、社外に出せません。
- 顧客ごとに見られる範囲を分ける … 顧客の図面を元にした金型の記録は、その顧客の品番を担当する人だけが見られるように、索引の文書に顧客の区分を持たせて権限を分けます
- 外部の生成AIに渡す範囲を絞る … 渡すのは、不良の記録と検索で見つかった事例の要点だけです。図面や写真は渡しません
- 補修の判断をこの構成で行わない … 補修の方法と時期は、担当が金型を見て決めます
- 出荷の判定をこの構成と切り離す … 不良品の扱いは品質管理の決まった手順で行います
- 顧客への報告に事例をそのまま使わない … 報告の内容は品質管理が確かめてから作ります
誤りが起きた場合のリスクは、近くない事例の直し方を選んで停止が延びることと、効かなかった直し方を繰り返すことの2つです。 前者は match_level の表示で、後者は再発の判定の付与で防ぎます。
10まず何から始めるか
1週目:金型台帳に系列を書き足す
不良の多い上位100面の金型について、系列と改造の元の金型を台帳に書き足します。ベテランの担当に1時間ずつ聞き取るのが早道です。
2週目:60件で試す
系列を3つ選び、各20件の補修を表にまとめます。先月の不良10件で手元のAIサービスに事例を当てさせ、担当が実際に参考にした事例と比べます。
3週目:言葉の区分と再発の判定の規則を決める
不良の種類・補修の種類・箇所の区分の一覧を作ります。補修から30日・90日で、何をもって再発とするかを品質管理と決めます。
4週目:索引と検索をつなぐ
OpenSearch に補修の索引を作り、3段の絞り込みのハイブリッド検索と、補修の種類ごとの集計まで作ります。この時点では段取りの論点を出さず、近い事例と件数だけを見ます。
2か月目: 不良の登録からの自動の起動と、段取りの論点、事例番号と件数の照合を足します。3か月目以降: 再発の判定の自動の更新を足し、1件40分が何分になったかを実測します。ベテランが休みの日にも、同じ系列の過去の補修とその結末を見て段取りを決められるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Japanese(kuromoji)Analysis がすべてのドメインに含まれること。Neural Search と k-NN が使えること | AWS: Plugins by engine version | 2026-10-14 |
ハイブリッドクエリの検索が最大5つで、全体の filter は1つの検索の形で書き複数の条件は bool にまとめること | OpenSearch: Hybrid query | 2026-10-14 |
normalization-processor の正規化が min_max(既定)・l2・z_score で、合わせ方が arithmetic_mean(既定)など、weights が各検索の重みで合計が1.0であること。min_max は返った結果の中の最小と最大でそろえ、結果が1件の検索ではその文書が1.0になること | OpenSearch: Normalization processor | 2026-10-14 |
ハイブリッドクエリと集計を組み合わせられ(2.13から)、global を除く集計はハイブリッドクエリが返す文書の範囲で行われること | OpenSearch: Combining hybrid search and aggregations | 2026-10-14 |
terms 集計の対象が keyword などの項目で、size の既定が10、missing で項目が無い文書を1つの区分に入れられること | OpenSearch: Terms aggregation | 2026-10-14 |
| Titan Text Embeddings V2 の入力が8,192トークン・50,000字まで、出力が1,024(既定)・512・256次元であること。英語に最適化され、日本語を含む多言語の対応がプレビューであること | AWS: Amazon Titan Text Embeddings models | 2026-10-14 |
output_config.format に JSON スキーマを渡すとスキーマに合う JSON が返ること。refusal・max_tokens で終わるとスキーマに合わないことがあること | Claude Docs: Structured outputs | 2026-10-14 |
補修の方法と時期、出荷の判定、顧客への報告は、金型保全と品質管理の責任者が判断してください。 本記事は公開されている製品の仕様で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1437)についてのご相談はこちらから。
