検査記録の整理に年間40時間使っていた現実
私はNDT検査員として約20年、major Japanese refineriesを中心に検査業務を続けてきた。定期検査(定修)が終わるたびに直面するのが、数百件に及ぶ検査記録ファイルの整理作業だ。
従来の運用では、撮影した写真・測定データ・報告書の下書きを、手作業でフォルダに振り分けていた。ファイル名のルールは現場ごとに微妙に異なり、VT_Tank_A_20231015.jpgのような形式もあれば、UT測定_配管123_外面.xlsxのような日本語混じりもある。この分類作業だけで、1回の定修あたり約8時間、年5回の定修で年間40時間を消費していた。
2024年、Claude Codeを導入してサイト構築に成功した経験から、「この整理作業もスクリプト化できるのでは」と考え、検査記録の自動分類に挑戦した。結果、年間40時間の作業がほぼゼロになった。この記事では、プロンプト設計の試行錯誤と実運用の仕組みを公開する。
Claude Codeに「検査記録を分類するスクリプト」を作らせる
最初のプロンプトは次のように設計した:
「検査記録ファイル(写真・Excel・PDF)を、ファイル名のパターンで自動分類するPythonスクリプトを作成してください。ファイル名には
VT_、UT_、配管、Tank、外面、内面などのキーワードが含まれます。分類先はVT/、UT/、配管/、タンク/の4フォルダです。」
Claude Codeは約30秒で、正規表現を使ったファイル振り分けスクリプトを出力した。しかし、実際の検査記録で動かすと誤分類が頻発した。理由は次の2つ:
- ファイル名の表記ゆれ:
VT_とVT-、配管とPipeが混在 - 複数キーワードの優先順位:
VT_配管_Tank_A.jpgのような複合名称で、どのフォルダに入れるべきか曖昧
この段階で、「プロンプトに実例を渡す」方向に切り替えた。
Few-shot学習で分類精度を上げる
『LLMのプロンプトエンジニアリング』(オライリー・ジャパン)で学んだFew-shot学習の手法を応用した。実際の検査記録から20件のファイル名を抽出し、次のように「入力例と期待する出力」をプロンプトに追加した:
「以下の実例を参考に、分類ルールを学習してください:
VT_Tank_A_20231015.jpg→VT/UT測定_配管123_外面.xlsx→UT/配管-456-内面検査.pdf→配管/Tank_B_VT_外観.jpg→タンク/(以下16件略)上記パターンを踏まえ、新しいファイル名を分類するスクリプトを改良してください。」
このプロンプトで生成されたスクリプトは、分類精度が約95%まで向上した。残り5%の誤分類は、極端に表記ゆれが激しいファイルや、キーワードが一切含まれない IMG_1234.jpg 形式の写真だった。これらは「未分類フォルダ」に集約し、手動で最終確認する運用に落ち着いた。
実運用で見えた「プロンプトの再利用設計」の限界
自動分類スクリプトは、最初の定修では期待通り動作した。しかし、次の現場で問題が発生した:現場ごとにファイル名のルールが異なるため、Few-shotで渡した実例が通用しない現場があったのだ。
例えば、ある現場では設備番号が先頭に来る E-260A_VT_外面.jpg 形式だったが、別の現場では検査日が先頭の 20240315_VT_E260A.jpg 形式だった。プロンプトを毎回書き換えるのは手間がかかり、「再利用設計」の限界を痛感した。
解決策として、次の2段階アプローチを採用した:
- 汎用ルールをベースにする:
VT、UT、配管、Tankの4キーワードだけを優先的に拾う「最小限のルール」をプロンプトに固定 - 現場ごとの追加ルールを手動追記:現場固有のファイル名パターンが判明したら、スクリプト冒頭のコメント欄に追記し、次回の定修で再利用
この運用により、プロンプトの再利用性と現場対応力のバランスが取れた。2024年の定修5回で、整理作業は従来の40時間から約2時間(未分類ファイルの手動確認のみ)に短縮された。
「効く場面」と「効かない場面」の見極め
Claude Codeで検査記録を自動分類する取り組みを通じて、次の2点を学んだ:
効く場面
- パターンが存在する作業:ファイル名に一定の規則性があり、Few-shotで学習できる場合
- 繰り返し発生する作業:定修ごとに同じ整理作業が発生するため、スクリプト化の投資回収が早い
効かない場面
- 現場ごとにルールが激変する作業:プロンプトの再利用設計が通用しない。毎回ゼロから書き直すなら、手作業のほうが早い
- 判断基準が曖昧な作業:「このファイルは重要か」「この写真は報告書に載せるか」といった定性判断は、Claude Codeに任せられない
NDT検査の実務では、前者(パターン作業)と後者(判断作業)が混在している。自動化できる部分を見極め、Claude Codeに任せる範囲を絞り込むことが、実運用の鍵だと感じた。
まとめ:年間40時間を取り戻した設計のポイント
Claude Codeで検査記録の自動分類スクリプトを構築し、年間40時間の整理作業をほぼゼロにした。成功のポイントは次の3つ:
- Few-shot学習で分類精度を上げる:実例20件をプロンプトに渡し、誤分類を5%以下に抑えた
- 汎用ルール+現場追記の2段階運用:プロンプトの再利用性と現場対応力を両立
- 「効く場面」を見極める:パターン作業は自動化、判断作業は手動に割り切る
NDT検査に限らず、定型作業の自動化を検討している方の参考になれば幸いだ。次回の定修では、測定データの集計スクリプトにも挑戦する予定だ。
参考
- オライリー・ジャパン『LLMのプロンプトエンジニアリング』: https://www.oreilly.co.jp/
- Anthropic Claude API 公式ドキュメント: https://docs.anthropic.com/
- Python 正規表現ドキュメント: https://docs.python.org/ja/3/library/re.html
関連記事
- 法人と個人事業を併営して2年、マネーフォワードで「3財布の現金の流れ」を整理する実運用を言語化する
- 38歳が司令塔役を兼任して精度事故を3回出してから作り直した役割分離設計:判断する人と手を動かす人を一人でも分ける
- 38歳が Claude Code で3日分の作業を3時間で終わらせてから気づいた「速すぎる問題」の解決策3つ:成果の出現速度を受け手の期待値に合わせて調整する
まとめて読む: AI活用・自動化