工場で作業標準書を改訂したときに、QC工程表・検査基準書・前後工程の標準書との食い違いを判定し、承認前に指摘一覧を出す
作業標準書の改訂案が出たときに、QC工程表・検査基準書・前後工程の標準書と管理項目を対応づけ、数値・単位・使用治具の食い違いを承認の前に一覧にします。 承認者は一覧から確かめ始められます。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Python
- 対象業界
- 医療/建設/製造
- 対象部門
- 品質管理/生産
- 対象業務
- 内容確認・チェック/比較検討
- 主な課題
- 判断に時間がかかる/属人化している/確認ミスが多い
- AIで行う処理
- 判定
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 生産技術の担当者が、改訂前後の作業標準書と変更点を書いた改訂申請を文書管理システムに登録する
- 品質保証の担当者が、品番と工程番号から関連するQC工程表・検査基準書・前後工程の標準書を探して開く
- 改訂した項目ごとに、QC工程表と検査基準書の同じ項目を探し、数値と単位を見比べる
- 治具・ゲージの番号を台帳で探し、使用中か、校正の期限が切れていないかを確かめる
- 前後の工程の標準書を開き、受け渡しの条件(前工程の印、置き方、次工程の確認)が変わっていないかを読む
- 食い違いを書き出し、改訂者へ返す。直ったら承認する
- 人生産技術の担当者が、改訂前後の作業標準書と変更点を書いた改訂申請を登録する(今までどおり)
- 自動改訂申請が「整合確認待ち」になったことをきっかけに、Python の処理が動く
- 自動品番と工程番号から、関連するQC工程表・検査基準書・前後工程の標準書の最新版を文書の台帳で引く
- 自動Gemini API が、各文書から管理項目(項目名、値、公差、単位、治具・ゲージ番号、頻度)を拾い、文書をまたいで同じ項目を対応づける
- 自動Python が、対応づけた項目の値の範囲と単位を比べ、治具・ゲージを台帳に照らす
- 自動変更点と照らし、食い違いを「波及漏れ」「既存の不整合」「片方にだけある」「台帳の問題」「判断不能」に分ける
- 自動指摘一覧を改訂申請に添え、品質保証の担当者へ知らせる
- 人担当者が指摘一覧と原文のページを見比べ、指摘ごとに扱いを決める
- 人波及漏れは改訂者と関連文書の持ち主へ返し、そろったところで承認する
各工程の詳しい説明を読む
- 生産技術の担当者が、改訂前後の作業標準書と変更点を書いた改訂申請を文書管理システムに登録する
- 品質保証の担当者が、品番と工程番号から関連するQC工程表・検査基準書・前後工程の標準書を探して開く
- 改訂した項目ごとに、QC工程表と検査基準書の同じ項目を探し、数値と単位を見比べる
- 治具・ゲージの番号を台帳で探し、使用中か、校正の期限が切れていないかを確かめる
- 前後の工程の標準書を開き、受け渡しの条件(前工程の印、置き方、次工程の確認)が変わっていないかを読む
- 食い違いを書き出し、改訂者へ返す。直ったら承認する
(a)探すのに時間がかかる。 2番目で開く文書は、1件の改訂で4〜6本です。項目の名前が文書ごとに違うため、QC工程表の何行目が標準書のどの写真の数値に当たるかを、毎回読んで探します。
(b)波及の漏れは、後で見つかる。 標準書で締付トルクの範囲を変えたのに、検査基準書の判定基準が古いまま、という食い違いは、検査の担当者が古い基準で合否を出して初めて表に出ます。 監査や顧客の工程監査で見つかることもあります。
(c)昔からの食い違いが紛れ込む。 3番目で見比べると、今回の改訂と関係のない項目でも値が違っていることがあります。それを今回の改訂の指摘として返すと、改訂者は「自分の変更ではない」と言い、承認が止まります。
たとえば、組付けのボルトを強度区分の高いものに変えて締付トルクの範囲を上げた改訂では、標準書とQC工程表は直っていたのに、検査基準書の判定基準とトルクチェッカの設定値が古いままでした。検査の担当者は正しく締めた製品を「規格外」と判定し、ラインが止まってから食い違いに気づきました。どの文書も単独で見れば正しく見えるのが、この種の不整合の厄介なところです。
(d)どこまで見るかが人で違う。 ある担当者は前後の工程まで必ず開き、別の担当者はQC工程表だけを見ます。忙しい月ほど5番目が省かれます。
- 【人】 生産技術の担当者が、改訂前後の作業標準書と変更点を書いた改訂申請を登録する(今までどおり)
- 【自動】 改訂申請が「整合確認待ち」になったことをきっかけに、Python の処理が動く
- 【自動】 品番と工程番号から、関連するQC工程表・検査基準書・前後工程の標準書の最新版を文書の台帳で引く
- 【自動】 Gemini API が、各文書から管理項目(項目名、値、公差、単位、治具・ゲージ番号、頻度)を拾い、文書をまたいで同じ項目を対応づける
- 【自動】 Python が、対応づけた項目の値の範囲と単位を比べ、治具・ゲージを台帳に照らす
- 【自動】 変更点と照らし、食い違いを「波及漏れ」「既存の不整合」「片方にだけある」「台帳の問題」「判断不能」に分ける
- 【自動】 指摘一覧を改訂申請に添え、品質保証の担当者へ知らせる
- 【人】 担当者が指摘一覧と原文のページを見比べ、指摘ごとに扱いを決める
- 【人】 波及漏れは改訂者と関連文書の持ち主へ返し、そろったところで承認する
8番目が、この設計の分かれ目です。 担当者は文書を探して開く代わりに、指摘一覧の引用とページを手がかりに原文を確かめます。 判断そのものは担当者が行います。
6番目の分け方を、変更点に頼っているのも意図してのことです。 変更点の書き方が粗いと、波及漏れが既存の不整合に紛れます。改訂申請の様式に「変更した管理項目」の欄を足すのが、最初の準備です。
02今回想定するシステム構成
改訂申請(文書管理システム) │ 改訂前後の作業標準書PDF/変更した管理項目/品番・工程番号 ▼【トリガー】申請の状態が「整合確認待ち」になる Python(取得と前処理) │ ・文書の台帳から、関連文書の最新版を引く │ ・QC工程表(Excel)を工程番号で絞って表の文字にする ▼ Gemini API │ ・各文書から管理項目を拾う(項目名、値、公差、単位、治具、頻度、ページ) │ ・文書をまたいで同じ管理項目を対応づける │ ・受け渡しの条件の食い違いを判定する │ ・JSONスキーマを指定して構造化出力で返させる ▼ Python(比較) │ ・値の範囲と単位を比べる │ ・治具・ゲージを台帳に照らす(使用中か、校正期限) │ ・変更点と照らし、食い違いを種類に分ける ▼ 指摘一覧(改訂申請に添付)── チャットで担当者へ通知 ▼ 【人】品質保証の担当者が確かめ、改訂者と関連文書の持ち主へ返す
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Gemini API | Claude API、OpenAI API |
| 差異計算 | Python(値の範囲・単位の比較、台帳との照合、種類の付与) | Google Apps Script |
| 保管 | 既存の文書管理システム | SharePoint、Google ドライブ |
| 通知 | 社内のチャット | メール |
新しく用意するのは、Python の処理と、Gemini API の呼び出しだけです。 文書管理システム、QC工程表、治具・ゲージの台帳は今あるものを使います。文書管理システムから申請の状態と文書を取り出す方法は、システムがAPIやWebhookを持つか、定時の書き出しだけかで変わるため、利用環境に応じた個別実装になります。
Gemini API を置いているのは、写真入りの作業標準書をPDFのまま渡せるためです。 公式のドキュメントでは、PDFは50MBまたは1,000ページまで扱え、各ページは258トークンに相当するとされています。ページの見た目まで読み取れるのはPDFだけとされ、写真に書き込んだ矢印と数値を読ませる用途に向きます。
一方で、PDF以外の文書は文字として扱われます。 公式のドキュメントでは、TXT、Markdown、HTML、XMLなども渡せるが、意味のある形で理解できるのはPDFだけで、ほかの形式は純粋なテキストとして取り出されるとされています。QC工程表のExcelは、Python で表の文字にしてから渡します。罫線や結合セルに意味を持たせている表は、文字にしたときに崩れないかを先に確かめます。
大きな文書や何度も使う文書は Files API でアップロードでき、保存期間は48時間とされています。1件の改訂の中で同じ文書を何度か参照するので、この範囲に収まります。
03どうやって実装するのか
処理の起点を決める
改訂申請の状態が「整合確認待ち」になったことを起点にします。 申請の登録そのものを起点にしないのは、改訂者が書きかけの申請を保存することがあるためです。改訂者が「確認を依頼する」を押した時点で動かします。
文書管理システムが状態の変化を外へ知らせる仕組みを持たない場合は、30分ごとに状態の一覧を書き出し、Python が新しく「整合確認待ち」になった申請を拾う形にします。どちらの方式でも、処理が終わったら申請の状態を「指摘一覧あり」に、失敗したら「要再実行」に変えます。
1日1回のまとめ処理にはしません。 改訂は設備の立ち上げや不具合の対策に合わせて急ぐことが多く、承認の待ち時間がそのまま現場の旧手順の期間になります。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 改訂申請 | 品番、工程番号、改訂理由、変更した管理項目、改訂者、適用予定日 | 文書管理システム |
| 作業標準書 | 改訂前と改訂後のPDF(写真と書き込み入り) | 文書管理システム |
| QC工程表 | 該当する品番の表。工程番号、管理項目、規格値、測定方法、頻度、記録の様式 | Excel |
| 検査基準書 | 該当する品番の検査項目、判定基準、使用するゲージ | 文書管理システム |
| 前後工程の標準書 | 工程番号が1つ前と1つ後の作業標準書の最新版 | 文書管理システム |
| 治具・ゲージの台帳 | 番号、名称、状態(使用中・保管・廃却)、校正の期限 | Excel |
| 項目名の対応表 | 文書ごとに違う項目名の言い換え(「締付トルク」「締め付けトルク」「Tq」) | 品質保証課で用意する一覧 |
質を決めるのは、変更した管理項目の欄と、項目名の対応表です。 変更した管理項目が書かれていないと、すべての食い違いが既存の不整合か波及漏れかを決められず、判断不能に寄ります。 項目名の対応表が無いと、AIは似た名前の別の項目を同じものとして対応づけることがあります。
前後工程は1つずつに限ります。 2つ先の工程まで含めると、文書の数が増えて対応づけの精度が落ちます。理由は「前処理」で述べます。
データの取得方法を決める
| 取るもの | どこから | どう取るか |
|---|---|---|
| 改訂申請と標準書 | 文書管理システム | APIか、定時の書き出しのフォルダ |
| 関連文書の特定 | 文書の台帳 | 品番と工程番号で引き、最新版の版数を確かめる |
| QC工程表 | Excel | 工程番号の行だけを Python で取り出す |
| 治具・ゲージの台帳 | Excel | Python で読み込む。AIには渡さない |
| 項目名の対応表 | 品質保証課の一覧 | 品番の分類で絞って渡す |
関連文書は必ず台帳で最新版を引きます。 改訂者が添付した関連文書を使うと、手元に保存していた古い版で比べることになります。比べる相手が古いと、食い違いの指摘そのものが誤ります。
治具・ゲージの台帳はAIに渡しません。 番号の照合は Python で済み、台帳には工場全体の治具の一覧と保管場所がまとまっているためです。
AIへ渡す前に整形する
- 版の確認 … 関連文書が台帳の最新版であることを確かめます。改訂の手続き中の文書が他にあれば、印を付けます
- QC工程表の切り出し … 該当する工程番号の行だけを、見出し付きの表の文字にします。結合セルは、上の行の値で埋めてから文字にします
- ページの向きと鮮明さ … 公式のドキュメントでは、ページの向きを正しく直してから渡すこと、ぼやけたページを避けることが勧められています。横向きにスキャンされた標準書は回転させます
- 1回に渡す文書を絞る … 1回の呼び出しで渡すのは、改訂後の標準書と、比べる相手の文書1本です。QC工程表、検査基準書、前工程、後工程の4回に分けます
- 問いを最後に置く … 文書を先に、指示を後に置きます
- 項目名の対応表を添える … 品番の分類で絞ったものだけを渡します
4番目を省かないでください。 公式のドキュメントでは、Gemini は100万トークンの文脈を受け付ける一方、探す情報が複数あるときは、1つを探すときと同じ精度では動かないと書かれています。改訂1件で比べる管理項目は数十あり、まさに「複数の情報を探す」使い方です。全部の文書を1回に入れるより、相手の文書ごとに分けるほうが取りこぼしが減ります。
5番目も同じドキュメントにある助言で、長い文書を扱うときは問いをプロンプトの最後に置くほうが性能がよいとされています。
AIに処理させる
させるのは、管理項目を拾い、文書をまたいで同じ項目を対応づけ、数値以外の食い違いを判定することです。
| 見るもの | 何を答えさせるか | 答えられないときの扱い |
|---|---|---|
| 管理項目の拾い出し | 項目名、値と公差の原文、単位、治具・ゲージ番号、頻度、ページ | 写真の書き込みが読めなければ unreadable |
| 対応づけ | 改訂後の標準書の各項目が、相手の文書のどの項目に当たるか | 候補が複数あれば ambiguous、無ければ no_counterpart |
| 数値以外の食い違い | 測定方法、確認の頻度、記録の様式、作業の順序が違わないか | 判断できなければ unclear |
| 受け渡しの条件 | 前工程が付けた印や置き方を、後工程が確認しているか | 手順に書かれていなければ not_stated |
数値は原文のまま返させます。 「12±1 N・m」「11〜13N・m」「12N・m(11-13)」のような書き方の違いを、AIに範囲へ直させると、直し方の誤りと文書の食い違いが区別できなくなります。 範囲への変換は Python が原文から行い、AIが返した参考の範囲と合わなければ ask にします。
| させないこと | 理由 |
|---|---|
| 値が合っているかの判定 | Python が範囲と単位で比べる |
| 単位の換算 | N・m と kgf・cm を換算して一致とみなさない。単位が違うこと自体が指摘 |
| 波及漏れか既存の不整合かの区分 | 変更した管理項目の欄と照らして Python が付ける |
| 改訂の妥当性の判断 | 生産技術と品質保証が決める |
| 治具・ゲージの照合 | 台帳に機械で照らす |
2行目がいちばん起きやすい失敗です。 単位の違う値を「換算すると同じ」と答えさせると、現場で使うトルクレンチの目盛りと標準書の単位が合っていない、という本当の問題が消えます。
指示内容を固定する
あなたは工場の品質保証課で、作業標準書の改訂案と関連文書の整合を確かめる担当者の補助です。
渡された2つの文書だけを見て答えてください。文書に無い知識で値を補わないでください。
【文書A】改訂後の作業標準書(品番 {part_no}、工程 {process_no}、版 {rev_a})
【文書B】比べる相手(種類 {doc_b_type}:qc_chart / inspection / prev_process / next_process、版 {rev_b})
【項目名の対応表】{alias_table}
【やること】
1. 文書Aの管理項目をすべて拾ってください。項目名、値と公差、単位、
治具・ゲージ番号、頻度、ページを書いてください。写真の書き込みも対象です。
2. 文書Bについても同じように拾ってください。
3. 文書Aの各項目が、文書Bのどの項目に当たるかを対応づけてください。
名前が違っても、対象の部位と特性が同じなら同じ項目です。対応表も使ってください。
候補が複数あれば ambiguous、文書Bに無ければ no_counterpart としてください。
4. 対応づけた項目について、測定方法、頻度、記録の様式、作業の順序が違うかを答えてください。
5. 文書Bが前後の工程のときは、受け渡しの条件(印、置き方、確認の手順)を比べてください。
【厳守事項】
- 値と公差は、文書に書かれたとおりの文字で value_raw に入れてください。
「±」「〜」「( )」の書き方を変えないでください。
- 値が合っているか、一致しているかを書かないでください。
- 単位を換算しないでください。単位が違うときは、それぞれの単位をそのまま書いてください。
- 写真の書き込みが読めないときは、推測せず unreadable としてください。
- 部位や特性が同じか判断できないときは、無理に対応づけず ambiguous としてください。
- 改訂の内容が適切かどうかを書かないでください。
- evidence には、根拠にした文字をそのまま写し、ページを書いてください。
以上の文書を読んだうえで、指定のJSONスキーマで答えてください。
「値が合っているかを書かない」を明記しないと、一致・不一致の判定まで返ってきます。 それ自体は便利に見えますが、換算や丸めを黙って行った判定が混ざります。比較は Python に一本化し、AIの判定とは二重に持ちません。
最後の一文を末尾に置いているのは、前処理の5番目のとおりです。 長い文書を先に、問いを後に置きます。
出力形式を固定する
レスポンスのMIMEタイプを application/json にし、JSONスキーマを渡して、次の形で受け取ります。 公式のドキュメントでは、構造化出力は構文として正しいJSONを返すが、値が意味の上で正しいとは限らないため、アプリケーションの側で値を検証し、スキーマに沿っていても意味が誤っている出力に備えたエラー処理を実装するよう案内されています。
{
"request_id": "",
"doc_a": { "doc_id": "", "rev": "" },
"doc_b": { "doc_id": "", "rev": "", "type": "qc_chart | inspection | prev_process | next_process" },
"pairs": [
{
"item_a": { "name": "", "value_raw": "", "unit": "", "tool_ids": [""], "frequency": "", "page": 0 },
"item_b": { "name": "", "value_raw": "", "unit": "", "tool_ids": [""], "frequency": "", "page": 0 },
"match_status": "paired | ambiguous | no_counterpart | unreadable",
"other_diffs": ["method | frequency | record | sequence"],
"evidence": ""
}
],
"handover": [ { "condition": "", "status": "consistent | differs | not_stated | unclear", "evidence": "" } ]
}
match_status と status は、スキーマの enum で値を固定します。公式のドキュメントでは、文字列に enum を使って分類に使えるとされています。
1つ目の理由は、AIの答えと機械の比較を別の層に置けることです。 pairs はAIが埋め、値の範囲と単位の比較、治具の照合、種類の付与は Python が行います。比較の規則を変えても、AIの呼び出しはやり直さずに済みます。
2つ目は、Python の側で検証できることです。 公式の案内どおり、value_raw を Python が自分で範囲に直し、直せない書き方なら ask にします。page の値が文書のページ数を超えていないか、tool_ids の形式が台帳の番号の形式に合っているかも確かめます。
Python が最後に付ける種類は次の5つです。
| 種類 | 条件 |
|---|---|
propagation_gap(波及漏れ) | 変更した管理項目で、文書Bの値・単位・治具が改訂前のまま |
preexisting(既存の不整合) | 変更していない管理項目で、文書Aと文書Bが食い違う |
one_side_only(片方にだけある) | no_counterpart。QC工程表に載るべき項目が無いなど |
ledger_issue(台帳の問題) | 治具・ゲージが廃却・保管中、または校正期限切れ |
ask(判断不能) | ambiguous、unreadable、範囲に直せない書き方 |
一覧の1行は、たとえば次のようになります。 改訂申請の変更点が「工程30 ハウジング締結 M6 締付トルク 10±1N・m → 12±1N・m」で、検査基準書の判定基準が「締付トルク 9〜11N・m(トルクチェッカ TC-07)」のままだった場合です。
| 種類 | 項目 | 文書A(改訂後の標準書) | 文書B(検査基準書) | 根拠 |
|---|---|---|---|---|
propagation_gap | M6 締付トルク | 12±1N・m(p.2 写真3) | 9〜11N・m(p.4 表2) | 変更点の欄に記載あり。文書Bは改訂前の範囲 |
担当者はこの1行から、検査基準書の4ページを開けば済みます。 何を探すかが先に分かっているので、確かめるのは数十秒です。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 文書管理システム | API、または定時の書き出し(利用環境に応じた個別実装) | 申請と文書を取り出し、指摘一覧を添付し、状態を変える |
| QC工程表・台帳(Excel) | Python で読み込む | 工程番号の行と、治具・ゲージの状態 |
| Gemini API | API呼び出し | 管理項目の拾い出しと対応づけ |
| 社内のチャット | 通知 | 指摘一覧ができたことを担当者へ |
QC工程表と検査基準書には書き込みません。 波及漏れを見つけても、直すのはそれぞれの文書の持ち主です。自動で書き換えると、品質保証課の承認を経ない値が正式な文書に入ります。
人が確認する
品質保証の担当者は、指摘一覧の種類の順に確かめます。 propagation_gap → ledger_issue → ask → one_side_only → preexisting の順です。
propagation_gapを原文で確かめる … 引用とページで文書Bを開き、本当に改訂前の値のままかを見ますledger_issueを確かめる … 台帳の更新が遅れているだけのこともありますaskを判断する … AIが対応づけられなかった項目です。担当者の仕事の中心はここですone_side_onlyを見る … QC工程表に載せるべき項目かを決めますpreexistingは今回の承認と切り離す … 別の改訂として起票します- 扱いを記録する … 指摘ごとに「今回直す/別件で起票/問題なし」を付け、理由を一言残します
5番目が、承認を止めないための手順です。 既存の不整合も放置はしませんが、今回の改訂の承認の条件にはしません。 別件として起票し、持ち主に返します。
指摘の無い項目も、改訂した項目だけは原文で見ます。 AIが対応づけを誤ると、その項目は paired として一致の側に流れます。変更した管理項目は件数が少ないので、全部を目で確かめる時間を確認の20分に含めています。
例外に対処する
| 起きること | 対応 |
|---|---|
| 写真の書き込みが読めない | unreadable で ask に。元の写真データを改訂者に求める |
| 関連文書が台帳に無い | QC工程表に工程が無いなど。一覧の先頭に「関連文書なし」を出す |
| 関連文書が改訂の手続き中 | 手続き中の版と最新版の両方で比べ、印を付ける |
| PDFが50MBまたは1,000ページを超える | 該当する工程のページだけを切り出す |
| Excelの結合セルで行が崩れる | 切り出した表を一覧に添え、担当者が崩れていないかを見る |
| 変更した管理項目の欄が空 | 種類の付与をせず、すべての食い違いを ask にする |
| 範囲に直せない書き方(「規定値以上」など) | ask。Python で無理に解釈しない |
| 返ってきたJSONの値が検証に通らない | 同じ組で再実行。2回目も通らなければ ask |
| 1つの改訂で複数の工程を変えている | 工程ごとに申請を分けてもらうか、工程番号ごとに処理を回す |
| 改訂前の標準書が添付されていない | 文書の台帳から1つ前の版を引く。引けなければ担当者へ |
| Gemini API が応答しない | 申請の状態を「要再実行」にする |
変更した管理項目の欄が空の申請を、通常どおり処理しないでください。 欄が空だと、すべての食い違いが preexisting に分かれ、波及漏れが「別件」として後回しになります。
記録を残す
- 改訂申請と、そのとき比べた関連文書の文書IDと版数
- Gemini API に渡した文書の組と、返ってきたJSONの全文、使ったモデル名
- Python の比較の結果と、付けた種類
- 担当者の扱い(今回直す/別件で起票/問題なし)と理由
- 別件で起票した既存の不整合と、その後の改訂の記録
1つ目で版数を残すのは、比べた相手が後から改訂されるためです。 監査で「この改訂のとき、検査基準書のどの版と比べたか」を問われたときに、版数が残っていないと説明できません。
4つ目は、項目名の対応表を育てる材料になります。 ask を担当者が「同じ項目」と判断した組は、対応表に足します。
04実装レベルの3段階
本記事の想定は半自動化です。 1件60分が20分になるのはこの段階で、効いているのは関連文書を探す時間と、同じ項目を別の文書の中で探す時間が無くなることです。 本格構成は、既存の不整合を減らすための段階です。 改訂のたびに preexisting が起票されるので、半年ほどで、食い違いの多い品番と文書の組が見えてきます。
05工数削減シミュレーション
導入後 60件 × 20分 ÷ 60 = 20 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 作業標準書、QC工程表、検査基準書を別々の部署が別々のファイルで持っている組立・加工の工場。改訂が月に数十件あり、生産技術や品質保証の担当者が関連する文書を開いて目で突き合わせている場合。締付トルクや寸法の公差、使用するゲージを変えたのに、QC工程表や次工程の標準書が古いまま残り、監査や顧客の工程監査で指摘されたことがある場合。文書の台帳に品番と工程番号があり、関連する文書を機械的に引ける場合。
- 作業標準書とQC工程表を一つの文書管理システムの同じデータから出力しており、数値の食い違いが構造上起きない工場。改訂が月に数件で、担当者1名の目視で足りる場合。作業標準書が紙と手書きの朱書きだけで管理され、PDFも台帳も無い場合(まず電子化と台帳が先)。なお、改訂の内容そのものが技術的に妥当か、品質や安全に影響しないかの判断は、この構成では代替できません。
07最小構成で試す方法
- 先月の改訂から10件を選ぶ(承認後に波及漏れが見つかったものを数件入れる)
- 各改訂について、改訂後の標準書のPDFと、QC工程表の該当行、検査基準書のPDFを用意する
- 手元のAIサービスに、改訂後の標準書と相手の文書を1本ずつ貼る
- 「両方の文書から管理項目を拾い、同じ項目を対応づけてください。値は書かれたとおりに写し、一致しているかは書かないでください」と指示する
- 対応づけの結果を見て、値の比較は手で行い、当時の承認の記録と突き合わせる
| 出てきた内容 | 判断 |
|---|---|
| 後で見つかった波及漏れの項目が対応づけられた | Python の比較と台帳の照合に進む |
| 写真の書き込みが拾えない | 標準書の写真の解像度を見直す。AIの問題ではない |
| 名前の似た別の項目を対応づけた | 項目名の対応表を先に作る |
3行目は、最初は必ず出ます。 失敗ではなく、文書ごとに項目名がばらばらだったことが見えたということです。
前後工程の標準書との比較も、10件のうち数件は試してください。 受け渡しの条件は数値ではなく手順の文章で書かれていることが多く、QC工程表との比較とは別の読み方になります。ここで not_stated ばかりが返るなら、そもそも受け渡しの条件が標準書に書かれていないということで、それ自体が改訂の材料になります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 波及漏れと既存の不整合が混ざる | 変更した管理項目の欄を必須にし、空なら種類を付けない |
| 単位の違う値を一致とみなす | 換算を禁じ、単位の違いそのものを指摘にする |
| 名前の似た別の項目を対応づける | 項目名の対応表を渡し、判断できなければ ambiguous |
| 全部の文書を1回に入れて取りこぼす | 相手の文書ごとに分けて呼ぶ |
| 古い版の関連文書と比べる | 台帳で最新版を引き、版数をログに残す |
| Excelの結合セルで表が崩れる | 上の行の値で埋めてから文字にする |
| 写真の書き込みが読めない | ページの向きを直し、元の写真データを求める |
| 「規定値以上」などを無理に範囲にする | 直せない書き方は ask |
| 構造化出力の値を信じ切る | Python で value_raw を自分で範囲に直し、検証する |
| 既存の不整合で承認が止まる | 別件として起票し、承認の条件にしない |
| 正式な文書を自動で書き換える | 書き込まない。 直すのは持ち主 |
上の2行が、この構成の失敗のほとんどです。 どちらも「値が違う」を一つの種類として扱うことから起きます。何が違うのか、なぜ違うのかを機械の側で分けておくかどうかで、担当者の確認時間が決まります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 製品の加工条件と管理値、設備と治具の構成、そして顧客から預かった図面の寸法と特性です。工場の製造ノウハウそのもので、顧客との機密保持の契約がかかっていることも多い情報です。
- 有料の利用枠で使う … Gemini API の規約では、無料の枠では入力と出力が製品の改善に使われ、人が読むことがあり、機密の情報を送らないよう書かれています。有料の枠では、プロンプトやファイル、応答を製品の改善に使わないとされています。この構成は有料の枠が前提です
- 不正利用の監視の扱いを知っておく … 有料の枠でも、禁止された使い方の検出と防止のために、プロンプトと応答が限られた期間記録されるとされています
- 顧客の図面を渡してよいかを契約で確かめる … 顧客との機密保持の契約で、外部のサービスへの提供が制限されていないかを先に確かめます。制限がある品番は、この構成の対象から外します
- 台帳を外へ出さない … 治具・ゲージの台帳と文書の台帳は Python の側で照合し、AIへは比べる2本の文書だけを渡します
- 正式な文書に書き込まない … 出すのは指摘一覧までです。QC工程表と検査基準書の改訂は、それぞれの持ち主が手続きを経て行います
- 改訂の妥当性を判断させない … 変更した値で品質が保てるかは、生産技術と品質保証が決めます
- APIキーと処理の置き場所を限る … Python の処理は社内のサーバーか、権限を絞ったクラウドの環境に置き、APIキーを個人の端末に置きません。指摘一覧には文書の引用が入るため、一覧を見られる人も申請の関係者に限ります
誤りが起きた場合のリスクは、波及漏れを見落として古い基準で検査が続くことと、既存の不整合で承認を止めて現場の旧手順が長引くことの2つです。 前者は対応づけの誤りで、後者は種類の分け方の誤りで起きます。
10まず何から始めるか
1週目:改訂申請の様式に欄を足す
改訂申請に「変更した管理項目」の欄を足し、項目名と改訂前後の値を書いてもらいます。これだけで、今の目視の確認も速くなります。
2週目:10件で試す
先月の改訂10件を、手元のAIサービスで対応づけさせます。後で見つかった波及漏れの項目が対応づけられているかを、最優先で見ます。
3週目:項目名の対応表を作る
10件で対応づけを誤った項目から、言い換えの一覧を作ります。品番の分類ごとに分けておくと、渡す量を絞れます。
4週目:台帳の引き当てと比較をつなぐ
Python で、品番と工程番号から関連文書の最新版を引き、Gemini API の対応づけと範囲の比較を行うところまで作ります。この時点では種類を付けず、対応づけの一覧だけを見ます。
2か月目以降: 種類の付与と治具の照合を足し、指摘一覧を申請に添えます。ask の件数が減り、承認後の波及漏れが見つからなくなった時点で、この構成は運用に乗っています。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| PDFが50MBまたは1,000ページまでであること、1ページが258トークン相当であること、Files API の保存期間が48時間であること、PDF以外(TXT、Markdown、HTML、XMLなど)は純粋なテキストとして扱われること、複数のPDFを1回に渡せること、ページの向きを直しぼやけたページを避けるよう勧められていること | Gemini API: Document understanding | 2026-10-01 |
JSONスキーマを指定した構造化出力、文字列の enum による分類、構文として正しいJSONでも意味の正しさは保証されずアプリケーションで値を検証しエラー処理を実装するよう案内されていること | Gemini API: Structured outputs | 2026-10-01 |
| 100万トークンの文脈を受け付けること、探す情報が複数あるときは1つのときと同じ精度で動かないこと、長い文書では問いを最後に置くほうがよいこと、同じ文脈を繰り返し使う場合にコンテキストキャッシュで費用を下げられること | Gemini API: Long context | 2026-10-01 |
| 無料の枠では入力と出力が製品の改善に使われ人が読むことがあり機密の情報を送らないよう求められていること、有料の枠ではプロンプトや応答を製品の改善に使わないこと、禁止された使い方の検出のために限られた期間記録されること | Gemini API 追加利用規約 | 2026-10-01 |
改訂の内容が技術的に妥当かは、生産技術と品質保証で判断してください。 本記事は Gemini API の公開ドキュメントで確認できた範囲だけを扱っています。文書管理システムとのつなぎ方は、お使いのシステムの仕様を確かめてください。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0405)についてのご相談はこちらから。
