Media > AI活用ユースケース > 生産 > 海外の装置メーカーのフィールドエンジニアが残す英文のサービス報告書を読み取り、作業内容・交換部品・停止時間を設備保全台帳に転記して、保守契約に照らした有償・保証の区分と請求の確認点を出す

海外の装置メーカーのフィールドエンジニアが残す英文のサービス報告書を読み取り、作業内容・交換部品・停止時間を設備保全台帳に転記して、保守契約に照らした有償・保証の区分と請求の確認点を出す

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

海外の装置メーカーのフィールドエンジニアが残す英文のサービス報告書を読み取り、作業内容・交換部品・停止時間を設備保全台帳に転記します。保守契約に照らして作業ごとに保証・契約内・有償の区分の候補を付け、後で届く請求書で確かめる点を一覧にします。

サマリー
生成AI
ChatGPT/Claude/Gemini
AIサービス
AWS Textract/Azure AI/Google Document AI
連携・自動化
Python
対象業界
医療/商社/製造
対象部門
生産/購買
対象業務
データ入力・転記/内容確認・チェック
主な課題
入力作業が多い/引き継ぎができていない/確認ミスが多い
AIで行う処理
読み取り(OCR)
主な効果
入力漏れ削減/判断支援/工数削減
導入難易度
★★★☆☆
実装レベル
本格構成
費用感
API連携(中)
人間の確認
必須
現在工数
40h/月
AI導入後
12h/月
想定削減
70%
年間削減
336h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. サービス報告書のPDFを受け取るか、紙の控えをスキャンして共有フォルダに保存する
  2. 報告書を開き、作業日、装置、作業の種類、作業内容、交換部品、作業時間、停止時間を設備保全台帳に写す
  3. 交換部品の型番を、メーカーの部品表や過去の交換の記録と見比べて確かめる
  4. 保守契約の要点の表を開き、作業が定期点検の回数の内か、部品が契約の範囲か、保証期間の中かを考える
  5. 迷うものは英文の契約の原本を開いて読む
  6. 有償になりそうな作業を、購買の担当へメモで知らせる
  7. 請求書が届いたら、購買の担当からの問い合わせに、台帳とメモを見て答える
導入後(After)
  1. 人報告書のPDFか紙のスキャンを、メーカーごとの受け取りの場所(Amazon S3)に保存する
  2. 自動保存をきっかけに、AWS Textract が欄・表・質問への答え・署名の位置の読み取りを始める
  3. 自動プログラムが、欄と部品の表を組み立て、時刻から作業時間と停止時間を計算する
  4. 自動プログラムが、交換部品の型番を部品表と過去の交換の記録に照らす
  5. 自動Claude API が、作業の記述を点検・修理・部品交換・改造に分け、契約台帳のどの取り決めに当たりそうかを根拠付きで示す
  6. 自動プログラムが、保証期間・定期点検の回数・部品の範囲を契約台帳と照らし、区分の候補と請求の確認点を決める
  7. 人設備保全の担当者が、読み取りの信頼度が低い欄と、区分の候補を確かめ、台帳への登録を承認する
  8. 人有償の候補と請求の確認点を、購買の担当に回す
各工程の詳しい説明を読む
  1. サービス報告書のPDFを受け取るか、紙の控えをスキャンして共有フォルダに保存する
  2. 報告書を開き、作業日、装置、作業の種類、作業内容、交換部品、作業時間、停止時間を設備保全台帳に写す
  3. 交換部品の型番を、メーカーの部品表や過去の交換の記録と見比べて確かめる
  4. 保守契約の要点の表を開き、作業が定期点検の回数の内か、部品が契約の範囲か、保証期間の中かを考える
  5. 迷うものは英文の契約の原本を開いて読む
  6. 有償になりそうな作業を、購買の担当へメモで知らせる
  7. 請求書が届いたら、購買の担当からの問い合わせに、台帳とメモを見て答える

(a)手書きの欄を写すのに時間がかかる。 筆記体の作業内容を読み、型番を1文字ずつ写します。写し間違えた型番は、次に同じ部品を手配するときに誤った部品を頼む原因になります。

(b)停止時間の数え方が人によって違う。 報告書には到着・開始・終了の時刻がありますが、装置が止まったのはその前からです。故障の連絡から復旧までを停止時間とするのか、エンジニアの作業時間だけとするのかが、担当者で揃っていません。

(c)契約の範囲を担当者しか覚えていない。 6社・約60台の契約の違いを覚えているのは、課の中で1名です。その人が休むと、4番と5番が止まります。 引き継ぎの資料は契約の要点の表だけです。

(d)請求書が来てから探し直す。 作業から数か月たって請求書が届くと、当時の報告書とメモを探し、どの作業の請求かを突き合わせるところから始まります。

  1. 【人】 報告書のPDFか紙のスキャンを、メーカーごとの受け取りの場所(Amazon S3)に保存する
  2. 【自動】 保存をきっかけに、AWS Textract が欄・表・質問への答え・署名の位置の読み取りを始める
  3. 【自動】 プログラムが、欄と部品の表を組み立て、時刻から作業時間と停止時間を計算する
  4. 【自動】 プログラムが、交換部品の型番を部品表と過去の交換の記録に照らす
  5. 【自動】 Claude API が、作業の記述を点検・修理・部品交換・改造に分け、契約台帳のどの取り決めに当たりそうかを根拠付きで示す
  6. 【自動】 プログラムが、保証期間・定期点検の回数・部品の範囲を契約台帳と照らし、区分の候補と請求の確認点を決める
  7. 【人】 設備保全の担当者が、読み取りの信頼度が低い欄と、区分の候補を確かめ、台帳への登録を承認する
  8. 【人】 有償の候補と請求の確認点を、購買の担当に回す

7番目が、この設計の分かれ目です。 担当者は報告書を一から写すのではなく、読み取った値と原本の該当箇所、区分の候補と根拠の取り決めを並べて見て判断します。 台帳への登録は、担当者の承認の後です。

6番目を規則で決めているのも、意図してのことです。 保証期間の中か、定期点検の回数の内かは、日付と回数の比較で決まります。AIには作業の性質を分けさせ、日付と回数の比較はプログラムが行います。

02今回想定するシステム構成

構成図
サービス報告書(英文のPDF/紙のスキャン。メーカー6社)
   │  担当者がメーカーごとの場所へ保存
   ▼【トリガー】Amazon S3 への保存
AWS Lambda ── StartDocumentAnalysis(FeatureTypes:FORMS、TABLES、QUERIES、SIGNATURES)
   ▼
AWS Textract(非同期の文書分析)
   │  完了の通知(Amazon SNS)
   ▼
AWS Lambda ── GetDocumentAnalysis
   ├──▶ Python:欄と部品の表の組み立て、時刻からの作業時間・停止時間の計算
   ├──▶ Python:型番を部品表・過去の交換の記録と照らす
   ├──▶ Claude API:作業の区分と、当たりそうな契約の取り決め(根拠付き)
   └──▶ Python:保証期間・点検の回数・部品の範囲との照合、区分の候補と請求の確認点
   ▼
台帳への登録の案と確認点の一覧(設備保全の担当者が確認)
   ▼
設備保全台帳へ登録(承認後)/購買の担当へ(有償の候補と確認点)
役割想定する製品代替候補
OCRAWS Textract(StartDocumentAnalysis/GetDocumentAnalysis。FORMS・TABLES・QUERIES・SIGNATURES)Azure AI Document Intelligence、Google Document AI
生成AIClaude API(作業の区分、当たりそうな契約の取り決めの提示)OpenAI API、Gemini API
差異計算Python(表の組み立て、時間の計算、型番と契約台帳との照合)保全管理のシステムの照合の機能
連携AWS Lambda(保存と完了の通知を起点に処理を動かす)AWS Step Functions
保管Amazon S3(報告書の原本、読み取り結果、判定の記録)社内のファイルサーバー

土台は、AWS Textract の文書分析です。 公式のページでは、FeatureTypes に TABLES・FORMS・QUERIES・SIGNATURES・LAYOUT を指定でき、FORMS で欄(キーと値の組)、TABLES で表、SIGNATURES で署名の位置、QUERIES で質問への答えが返るとされています。報告書は数ページになることがあるので、非同期の StartDocumentAnalysis を使います。 同期の処理ではPDFが1ページまでです。

Textract を選べるのは、報告書が英文だからです。 公式の対応言語は英語・フランス語・ドイツ語・イタリア語・ポルトガル語・スペイン語で、手書きの文字の読み取りは英語だけとされています。手書きの欄が多いサービス報告書には、ここが効きます。日本語の報告書には使えません。 国内の代理店が日本語で報告書を書く装置は、Azure AI Document Intelligence か Google Document AI に替えます。

保守契約は、契約台帳として先に表にしておきます。 英文の契約の原本を毎回AIに読ませるのではなく、装置ごとに保証期間の終わり、定期点検の回数、範囲に含まれる部品の区分、時間外と移動の扱い、条項の番号を1行にまとめておきます。AIはこの台帳と照らします。

03どうやって実装するのか

Step1

処理の起点を決める

メーカーごとの受け取りの場所(S3 のフォルダ)にファイルが保存されたことを起点にします。 フォルダは fsr/<メーカーの記号>/<工場の記号>/ の形にし、どのメーカーの書式かを、保存した場所で決めます。 メーカーが分かれば、どの欄にどの情報があるかの設定を選べます。

PDFでメールされてくる報告書は、メールの受信から自動で保存することもできます。紙の控えは、現場の担当者が複合機でスキャンして同じフォルダに入れます。 経路が違っても、フォルダから先は同じ処理です。

読み取りを始めるとき、ClientRequestToken にファイルのハッシュを入れます。 同じ報告書がメールとスキャンの両方で入っても、読み取りは一度で済みます。完了は Amazon SNS の通知で受け、JobId が有効なあいだに結果を S3 に保存します。

Step2

入力データを集める

データ中身取得元
サービス報告書報告書番号、装置の型式と製造番号、作業日、到着・開始・終了の時刻、作業の種類のチェック、作業内容、不具合、交換部品の表、作業時間、移動時間、次回の推奨、署名メーカーからのPDF・紙
読み取り結果欄(キーと値)、表とセル、質問への答え、署名の位置、各要素の信頼度AWS Textract
メーカーごとの設定欄の見出しと台帳の項目の対応、質問の文、日付と時刻の書き方自社で用意する設定表
装置の台帳装置番号、メーカー、型式、製造番号、設置場所、導入日設備保全台帳
部品表と交換の記録メーカーの部品の型番と名称、過去の交換の日付設備保全台帳、メーカーの部品表
契約台帳装置ごとの保証期間の終わり、定期点検の年間の回数と実施済みの回数、範囲に含まれる部品の区分、消耗品の扱い、時間外・移動の扱い、条項の番号購買部と設備保全課で作る表
故障の連絡の記録装置が止まった時刻と、メーカーへ連絡した時刻保全管理のシステム

質を決めるのは、契約台帳です。 英文の契約には「Consumables are excluded from coverage」「Two (2) preventive maintenance visits per year」のように書かれています。これを台帳の列にしておけば、照合はプログラムで行えます。 原本を毎回読ませると、条項の解釈がその都度ぶれます。

故障の連絡の記録は、停止時間のために使います。 報告書の時刻だけでは、エンジニアが到着する前の停止が数えられません。停止の始まりは自社の記録、終わりは報告書の作業終了か、自社の復旧の記録と決めておきます。

Step3

データの取得方法を決める

取るものどこから何に使うか
欄(キーと値)KEY_VALUE_SET のブロック(EntityTypes が KEY と VALUE)報告書番号、製造番号、作業日、時刻、作業内容
チェック欄VALUE に含まれる選択の要素(SelectionStatus)作業の種類(PM/Repair/Installation など)
交換部品の表TABLE と CELL のブロック型番、名称、数量、保証の印
質問への答えQUERY と QUERY_RESULT のブロック欄の形になっていない箇所(例:What is the machine serial number?)
署名SIGNATURE のブロック現場の担当者の署名があるか
信頼度各ブロックの Confidence低い値を人に回す

欄はキーと値の組で返ります。 公式のページでは、KEY のブロックは VALUE のブロックとの関係を持ち、それぞれ文字のブロックを子に持つとされ、キーと値には同じ信頼度が付くとされています。「Serial No.」の値が何かは、この関係をたどって取ります。

質問は、欄の見出しがメーカーごとに違う項目に使います。 製造番号が「S/N」「Serial」「Tool ID」とばらばらなら、「What is the machine serial number?」と1つの質問で聞けます。公式のページでは、質問は英語の文書だけで使え、非同期の処理では1ページあたり30件までとされています。質問には別名(Alias)を付けられるので、serial_no のような台帳の項目名を付けておきます。

署名は、位置と信頼度だけが返ります。 公式のページでは、SIGNATURE のブロックは署名の位置の情報を持つとされています。誰の署名かは分かりません。 「署名欄に署名がある」ことを確かめるのに使い、署名が無い報告書は人に回します。

Step4

AIへ渡す前に整形する

  1. 形式の確認 … JPEG、PNG、PDF、TIFF のどれかであることを確かめます。XFA の形式のPDFとパスワード付きのPDFは扱えません
  2. スキャンの確認 … 紙のスキャンは、文字の高さが15ピクセル(150DPIで8ポイント相当)以上になる解像度で取ります。複写式の紙の2枚目は薄いので、1枚目の控えをもらうか、解像度を上げます
  3. メーカーの設定の選択 … 保存した場所からメーカーを決め、欄の見出しの対応と質問の文を選びます
  4. 装置の特定 … 製造番号で装置の台帳を引きます。見つからなければ、型式と設置場所の候補を出して人に回します
  5. 日付と時刻の読み替え … 月・日の順か日・月の順かを、メーカーの設定で決めます。推し量りません
  6. 時間の計算 … 開始と終了の時刻から作業時間を、自社の故障の連絡の記録と合わせて停止時間を計算します
  7. 型番の照合 … 交換部品の型番を部品表と照らします。完全に一致しないものは、近い型番の候補を並べて人に回します

5番目を軽く見ないでください。 欧州のメーカーの報告書は日・月・年、米国のメーカーは月・日・年で書きます。「03/04」を3月4日と読むか4月3日と読むかで、保証期間の中か外かが変わることがあります。

7番目で近い型番に寄せないのは、手配の誤りにつながるからです。 「0190-47321」と「0190-47312」は別の部品です。読み取りの信頼度が低い型番は、原本の画像を見て人が決めます。

Step5

AIに処理させる

させるのは、作業の記述を区分することと、契約台帳のどの取り決めに当たりそうかを根拠付きで示すことの2つです。 数と日付は Textract とプログラムが扱います。

させること中身できないときの扱い
作業の区分作業内容の英文を、作業ごとに preventive(定期点検)/repair(修理)/part_replacement(部品交換)/modification(改造・更新)/other に分ける区分に当たらなければ other と原文
不具合の原因の記載の拾い出し原因として書かれた記述(摩耗・操作の誤り・外部の要因など)をそのまま写す書かれていなければ空
当たりそうな取り決め作業ごとに、契約台帳の条項の番号の候補と、根拠にした報告書の記述を返す当たるものが無ければ none
台帳の作業内容の要約作業内容を、台帳の作業内容の欄に入れる日本語の短い文にする原文を残し、要約は人が直す

2行目が、請求の確認で効きます。 保守契約の多くは、操作の誤りや外部の要因による故障を範囲の外にしています。報告書に「Damage caused by improper handling」と書かれていれば、その作業は有償の候補になります。 AIにはその記述を写させ、範囲の外かどうかは契約台帳と人が決めます。

させないこと理由
保証の対象か、有償かの決定契約の解釈と請求に応じるかは、設備保全と購買が決める
日付と時刻の読み替え・時間の計算月と日を取り違えると保証期間の判定が変わる。プログラムで行う
型番の補正近い型番は別の部品。原本を人が見る
契約の原本の解釈台帳に無い取り決めは「台帳に無い」として人へ
報告書に無い作業の補完書かれていない作業を、型番や時間から推し量らない

4行目を外すのは、AIに契約の原本を読ませると、条項の解釈が報告書ごとにぶれるからです。 台帳に無い論点が出たら、それは契約台帳を足す合図です。

Step6

指示内容を固定する

あなたは工場の設備保全課で、海外の装置メーカーのフィールドエンジニアが残した
英文のサービス報告書を読み、作業を区分して、保守契約の台帳のどの取り決めに
当たりそうかを示す担当者を手伝います。渡された読み取り結果と契約台帳だけを見てください。

【やること】
1. 作業内容の記述を、作業ごとに分け、work_type を次から選ぶ。
   preventive / repair / part_replacement / modification / other
2. 不具合の原因として書かれた記述があれば、cause_text にそのまま写す。
3. 作業ごとに、契約台帳の条項の番号から当たりそうなものを clause_candidates に挙げ、
   根拠にした報告書の記述を quote に写す。当たるものが無ければ none とする。
4. 作業内容を、台帳に入れる日本語の短い文にして summary_ja に書く。

【厳守事項】
- 保証の対象か、有償か、請求に応じるべきかを書かないでください。
  「保証対象です」「有償です」という言葉を使わないでください。
- 日付・時刻・時間・数量・型番を、書き換えたり計算したりしないでください。
  読み取り結果の文字をそのまま使ってください。
- quote と cause_text は、報告書の原文を1字も変えずに写してください。
- 報告書に書かれていない作業や原因を、推し量って補わないでください。
- 契約台帳に無い取り決めを、一般的な保守契約の慣行から補わないでください。
  台帳に当たるものが無ければ none とし、note に理由を書いてください。

【メーカーと装置】{maker} {machine}
【読み取り結果(欄・表・質問への答え)】{extracted}
【契約台帳(この装置の行)】{contract_row}

「一般的な保守契約の慣行から補わない」を書くのは、 AIが「消耗品は通常は範囲外です」のように、台帳に無いことを当然のように書き足すからです。この装置の契約で消耗品が範囲内なら、その一言が誤った有償の候補を生みます。

summary_ja は、台帳の読みやすさのためだけに使います。 区分と照合には、英文の原文と work_type を使います。要約の言い回しが判定に入り込まないように、役割を分けます。

Step7

出力形式を固定する

AIの出力は、Claude API の構造化出力で形を決めて受けます。 公式のページでは、output_config.format に JSON スキーマを渡すとスキーマに合う JSON が返るとされ、正式提供の機能です。プログラムがこれに日付と時間の計算、契約台帳との照合を足して、台帳への登録の案を作ります。

{
  "report_no": "FSR-24-0917",
  "machine_id": "CVD-03",
  "visit_date": "2026-09-17",
  "downtime_hours": 14.5,
  "labor_hours": 6.5,
  "travel_hours": 2.0,
  "signature_found": true,
  "works": [
    { "work_type": "part_replacement",
      "summary_ja": "真空ポンプの軸受を交換",
      "cause_text": "Bearing worn after normal operation",
      "clause_candidates": ["5.2"],
      "quote": "Replaced vacuum pump bearing",
      "parts": [ { "part_no": "0190-47321", "qty": 1,
                   "part_match": "exact", "min_confidence": 96.1 } ],
      "category_candidate": "warranty | contract | chargeable | unknown",
      "billing_checks": ["移動時間の請求が契約の上限内か"] }
  ],
  "needs_human": [ { "field": "", "reason": "low_confidence | no_machine | part_mismatch | no_signature" } ]
}

1つ目の理由は、作業ごとに区分の候補を持てることです。 1枚の報告書に定期点検と修理が混ざっていても、作業ごとに category_candidate が付くので、請求書の明細と1行ずつ照らせます。

2つ目は、billing_checks を請求書の到着まで残せることです。 「移動時間の請求が契約の上限内か」「消耗品の請求が別に来ないか」を、作業の時点で書き残します。請求書が届いたとき、購買の担当はこの一覧から見始められます。

category_candidate決め方(プログラム)
warranty作業日が契約台帳の保証期間の終わりより前で、原因の記述が範囲外の型に当たらない
contract定期点検で、実施済みの回数が年間の回数より少ない。または部品が範囲に含まれる区分
chargeable保証期間の外で、範囲に含まれない区分の部品、または範囲外の原因の記述がある
unknown上のどれにも当たらない、または台帳に当たる行が無い
Step8

システムへ連携する

つなぎ先方式内容
Amazon S3保存の通知で Lambda を動かすメーカーと工場をフォルダで決める
AWS TextractStartDocumentAnalysis/GetDocumentAnalysis欄・表・質問への答え・署名・信頼度
設備保全台帳装置と部品の参照、承認後の登録登録は担当者の承認の後
契約台帳読み取り保証期間、点検の回数、部品の範囲
Claude APIAPI呼び出し(構造化出力)作業の区分、取り決めの候補、要約
購買の担当有償の候補と確認点の一覧を共有フォルダに置き、チャットで知らせる請求書の確認に使う

設備保全台帳への登録は、承認の後だけです。 承認の前に登録すると、読み取りの誤った型番が台帳に残り、次の手配の根拠になります。 承認の画面では、読み取った値と原本の該当箇所を並べて見せます。

Claude を Amazon Bedrock から使う場合は、構造化出力の対応を先に確かめます。 公式のページでは、Bedrock では構造化出力が旧来の Bedrock の連携でだけ使え、Claude in Amazon Bedrock では使えないとされています。

Step9

人が確認する

設備保全の担当者が全件を承認します。 見る順を決めておきます。

  1. needs_human を先に見る … 信頼度の低い欄、装置が特定できないもの、型番が部品表と合わないもの、署名が無いもの
  2. 型番を原本で確かめる … 部品の表の該当セルから原本の画像を開き、型番を1文字ずつ見ます
  3. 区分の候補を確かめる … chargeable と unknown は、根拠の記述と契約台帳の条項を読みます
  4. 停止時間を確かめる … 自社の故障の連絡の時刻と、報告書の終了の時刻が合っているかを見ます
  5. 承認して台帳に登録する … 有償の候補と確認点は、購買の担当に回します

3番目で区分を確定させないでください。 担当者が付けるのは「確認済みの候補」で、請求に応じるかは、請求書が届いたときに購買と決めます。 メーカーと話して保証の扱いが変わることもあるからです。

目標は、80件をならして1件9分です。 定期点検だけの報告書は数分、修理と部品交換が混ざったものは20分ほどかかる想定です。

Step10

例外に対処する

起きること対応
パスワード付き・XFA のPDF読めない。メーカーに外して送ってもらう
日本語の報告書が届いた読み取りに通さず、人が写すか、別の読み取りのサービスへ
製造番号で装置が見つからない型式と設置場所から候補を出して人へ
型番が部品表に無い・信頼度が低い近い候補を並べ、原本を見て人が決める
署名が無い現場の担当者に作業の確認を取ってから承認
契約台帳に装置の行が無いunknown。契約台帳を足す
1つのファイルに複数の報告書ページで分けて再投入
JobStatus が FAILED か PARTIAL_SUCCESS読めなかったページを人が写す

上から4行目が、最初の数か月は多く起きます。 手書きの型番は読み取りの信頼度が下がりやすく、ここだけは人の目を残す設計にしておきます。

Step11

記録を残す

  • 報告書の原本と、受け取りの経路(メール/スキャン)
  • Textract が返したブロックの全文と、組み立てた欄と表
  • 使ったメーカーの設定と契約台帳の、その日の版
  • AIの出力の JSON と、プログラムが付けた区分の候補と確認点
  • 担当者が直した箇所 … どの欄の値を、どう直したか
  • 請求書が届いたときの購買の判断と、メーカーとのやり取り

最後の行が、契約台帳を育てます。 請求書の段で「この作業は保証の扱いになった」と分かったら、その根拠を契約台帳の条項に書き足します。 担当者の記憶にあった判断が、表に移っていきます。

04実装レベルの3段階

最小構成:コンソールで報告書を読み取り、作業の区分は手元のAIサービスで試す / 手書きの欄の写し
半自動化:上記+欄と表の組み立て、時間の計算、型番の照合をプログラムで行い、台帳への登録の案を出す / 写し、時間の計算、型番の照合
本格構成:上記+保存を起点に自動で動かし、作業の区分、契約台帳との照合、区分の候補と請求の確認点まで出す / 転記と契約の照合の全体

半自動化で、1件30分が18分程度になります。 写しと型番の照合は機械が行いますが、契約に照らした区分が手作業のまま残ります。 本格構成で9分になり、この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化で2か月回すと、メーカーごとの書式の癖と、契約台帳に足りない列が分かります。そこを埋めてから区分の候補を出すほうが、unknown が減ります。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
4 名
月間件数
80 件
1件あたり現在時間
30 分
1件あたり導入後時間
9 分
現在  80件 × 30分 ÷ 60 = 40 時間/月
導入後 80件 × 9分 ÷ 60 = 12 時間/月
月間削減時間
28h
削減率
70%
年間削減時間
336h
年間金額換算(時間単価3,500円)
118万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. 海外の装置メーカーの製造装置・検査装置を複数台使い、メーカーのフィールドエンジニアによる定期点検と修理が月に数十件ある工場。作業のあとに英文のサービス報告書(手書きの欄を含むPDFや紙)を受け取り、設備保全の担当者が作業内容と交換部品を台帳へ手で写している場合。保守契約の範囲と保証期間を担当者が覚えていて、後で届く請求書が契約どおりかを確かめるのに時間がかかっている場合。
向いていない
  1. メーカーのサービスのポータルから作業の記録をデータで取れる場合(読み取りは要らず、データをそのまま台帳に入れれば足ります)。装置が数台で、作業が月に数件の場合。報告書が日本語や中国語で書かれている場合(この構成で使う読み取りのサービスは英語など6言語に対応し、手書きは英語だけです)。なお、作業が保証の対象か、請求に応じるかの判断はこの構成では代替できず、設備保全と購買の担当者が契約を確かめて決めます。

07最小構成で試す方法

  1. 先月のサービス報告書から15件を選ぶ(うち数件は、手書きの欄が多い紙のスキャンを入れる)
  2. AWS のコンソールで Textract の文書分析を開き、欄と表の読み取りを試す
  3. 読み取った欄と部品の表を、当時担当者が台帳に写した内容と並べる
  4. 手元のAIサービスに、作業内容の英文と契約の要点の表を貼り、作業の区分と当たりそうな条項を出させる
  5. 出てきた区分を、当時の担当者のメモと突き合わせる

手書きの紙は必ず入れてください。 読み取りの精度より先に、どの解像度でスキャンすれば型番が読めるかが、ここで分かります。

出てきた内容判断
欄と型番が取れ、区分も当時のメモと合った照合のプログラムに進む
複写式の2枚目で型番が読めないスキャンの設定か、1枚目の控えをもらう運用で直る
区分の根拠に台帳に無い一般論を書いた指示で直る。契約台帳の列が足りていない合図でもある

08実装時につまずきやすいポイント

問題対策
「03/04」の月と日を取り違えるメーカーごとの設定で決める。推し量らない
手書きの型番を近い型番に寄せる部品表と完全に一致しないものは人へ
複写式の2枚目が薄くて読めない1枚目の控えをもらうか、解像度を上げる
「保証対象です」と結論を書く結論の言葉を禁じ、区分の候補はプログラムで付ける
台帳に無い一般論で区分の根拠を書く補わないと指示し、none を許す
停止時間が作業時間だけになる停止の始まりは自社の故障の連絡の記録から取る
製造番号の見出しがメーカーごとに違う質問(QUERIES)に別名を付けて1つの項目で取る
署名の有無を誰の署名かと取り違える署名の位置だけが返る。誰の署名かは人が見る
Bedrock で構造化出力が使えないClaude API を直接使うか、対応を先に確かめる

上の2行が、この構成の失敗のほとんどです。 どちらも、読み取りの段の推し量りが、後の判定を静かに変えてしまう失敗です。月と日、型番の1文字は、推し量らずに人に回します。

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 装置の型式と製造番号、故障の内容、交換部品、作業の時間、保守契約の取り決め、そして現場の担当者とメーカーのエンジニアの氏名と署名です。

  1. 装置の不具合の情報を外部に出す範囲を決める … 故障の内容と装置の構成は、生産の秘密に当たることがあります。生成AIに渡すのは作業内容の欄と契約台帳の1行に限り、報告書の全体は渡しません
  2. 署名の画像を生成AIに渡さない … 署名は Textract で位置を確かめるだけにします
  3. 受け取りの場所の権限を絞る … S3 のフォルダは、設備保全課と処理のプログラムだけが読めるようにします
  4. この構成は契約の解釈を代替しません … 保証の対象か、請求に応じるかは、設備保全と購買が契約を確かめて決めます。AIが出すのは、作業の区分と、当たりそうな取り決めの候補までです
  5. 台帳への登録を自動にしない … 承認の後だけ登録します
  6. メーカーとの契約で、報告書の扱いを確かめる … 報告書の中にメーカーの技術情報が含まれることがあります。外部のサービスで読み取ることが、秘密保持の取り決めに触れないかを確かめます

誤りが起きた場合のリスクは、読み取りの誤った型番や日付が台帳に残ることと、保証の作業に有償の請求を払ってしまうことの2つです。 前者は推し量りを禁じた前処理と承認で、後者は区分の候補と請求の確認点を作業の時点で残すことで防ぎます。

10まず何から始めるか

1週目:契約台帳を作る

装置ごとに、保証期間の終わり、定期点検の年間の回数、範囲に含まれる部品の区分、消耗品の扱い、時間外と移動の扱い、条項の番号を1行にまとめます。件数の多いメーカー2社の装置から始めます。

2週目:15件で読み取りを試す

手書きの紙を含む15件をコンソールで読み取り、当時台帳に写した内容と並べます。型番と日付が正しく取れるか、どの解像度でスキャンすればよいかを最優先で見ます。

3週目:メーカーごとの設定表を作る

欄の見出しの対応、質問の文と別名、日付の書き方をメーカーごとに決めます。月と日の順は、過去の報告書で必ず確かめます。

4週目:組み立てと時間の計算をつなぐ

保存を起点に読み取り、欄と表を組み立て、時間を計算し、型番を照らすところまで作ります。この時点では区分の候補を出さず、台帳への登録の案だけを見ます。

2か月目: 作業の区分と契約台帳との照合を足し、unknown の件数を毎週数えます。3か月目以降: 購買の担当に有償の候補と確認点を回し始め、1件30分が何分になったかを実測します。請求書の段の判断を契約台帳に書き足す流れが回り始めた時点で、この構成は完成です。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-10-13/最終更新:2026-10-14
確認した内容情報源確認日
対応する形式が JPEG・PNG・PDF・TIFF で XFA の形式のPDFは扱えないこと。同期の処理はPDFが1ページまで、非同期の処理はPDFが500MB・3,000ページまでであること。パスワードで保護されたPDFは扱えないこと。対応言語が英語・フランス語・ドイツ語・イタリア語・ポルトガル語・スペイン語で、手書きは英語だけであること。縦書きに対応しないこと。クエリは英語の文書だけで、非同期で1ページ30件までであること。文字の高さの下限が15ピクセル(150DPIで8ポイント相当)であることAWS: Set Quotas in Amazon Textract2026-10-13
FeatureTypes に TABLES・FORMS・QUERIES・SIGNATURES・LAYOUT があること。SIGNATURE のブロックが署名の位置の情報を持つこと。QUERY と QUERY_RESULT のブロックで質問と答えが返り、答えに信頼度が付くこと。チェック欄などの選択の要素が選択の状態とともに返ること。非同期の処理には StartDocumentAnalysis を使うことAWS: AnalyzeDocument2026-10-13
欄が KEY_VALUE_SET のブロック(EntityTypes が KEY と VALUE)で返り、KEY が VALUE との関係と文字のブロックを持つこと。キーと値に同じ信頼度が付くこと。日付は文書に書かれたとおりに返ることAWS: Form Data (Key-Value Pairs)2026-10-13
質問(Query)が Text・Alias・Pages を持ち、Text と Alias が200文字までであること。Pages を指定しなければ1ページ目だけに適用されることAWS: Query2026-10-13
output_config.format に JSON スキーマを渡すとスキーマに合う JSON が返ること。正式提供の機能であること。Amazon Bedrock では旧来の連携でだけ使え、Claude in Amazon Bedrock では使えないことClaude Docs: Structured outputs2026-10-13

作業が保証の対象か、請求に応じるかは、設備保全と購買の担当者が保守契約を確かめて決めてください。 本記事は公開されている製品の仕様で確認できた範囲だけを扱っています。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-1416)についてのご相談はこちらから。

AI活用について相談する
目次