結論(先に数字で)

板金加工会社の「見積依頼メールの一次対応」をするAIエージェントを作り、実際に10件を処理させました。

項目 結果
処理した問い合わせ 10件
自動で返信を作れた 7件(うち3件は「対応できません」というお断り)
人間に回した 3件
処理の失敗 0件
所要時間 7分37秒(1件あたり45.7秒)
AIを呼んだ回数 17回(読み取り10回・返信の作文7回)
受注できるかの判断にかかった時間 1件あたり0.001秒(AIを使っていないため)

一番伝えたいのはこの一行です。受注できるかどうかの判断に、AIを一切使っていません。 AIがやったのはメールを読むことと、返信の下書きを書くことだけです。


何を作ったか

板金加工会社に届く見積依頼メールを、次の5工程で処理します。

工程 やること 担当
1 メール本文から材質・板厚・加工内容・数量・納期を取り出す AI
2 自社の設備マスタと照合し、受注できるかを決める プログラム(ルール)
3 過去案件から似た仕事を探し、単価の目安を出す プログラム(検索)
4 返信メールの下書きを書く AI
5 情報が足りないもの・納期が合わないものを人間に回す プログラム(ルール)

入力は「設備マスタ」と「過去案件」の2つの表だけです。

中身
設備マスタ 加工の種類 × 材質 × 対応できる板厚の範囲 × 最短納期(11行)
過去案件 材質・板厚・加工・数量・単価・納期(10件)

どちらもExcelで持っている会社がほとんどです。新しく作るのは判定のルールだけで、 データは既にあるものを使います。


なぜAIに「受注できるか」を判断させなかったのか

ここがこの仕組みの全てです。

AIに設備の一覧を渡して「この依頼は受けられますか」と聞けば、それらしい答えは返ってきます。 ただし間違っていても、同じくらい自信のある文面で返ってきます。

設備が対応していない板厚に「対応可能です」と自動返信した瞬間、この仕組みは会社にとって 損失にしかなりません。受けられない仕事を受けたことになり、断りの電話を入れるのは人間です。 自動化する前より手間が増えます。

だから判断は表とルールで行いました。設備マスタに該当する行がなければ「対応できない」、 板厚が範囲外なら「対応できない」。この判定は何度実行しても同じ結果になります。

実測では、この判定にかかった時間は1件あたり0.001秒未満でした。 一方でAIの読み取りと作文には合計45.7秒かかっています。

工程 1件あたりの時間
メールの読み取り(AI) 18.1〜73.6秒
受注可否の判定(ルール) 0.001秒未満
類似案件の検索(ルール) 0.001秒未満
返信の下書き(AI) 19.3〜22.1秒

時間の99.9%はAIが使っています。 判断までAIに任せれば、遅くなり、費用も増え、 そのうえ結果がぶれます。得るものがありません。


それでも誤判定が起きた(最初の実行)

最初に10件を流したとき、チタンの依頼を「アルミ」と判定して「対応可能です」と 返信を作りました。 対応できない材質です。

原因はAIではなく、こちらが書いたルールの穴でした。

客はメールに正式な材質記号を書きません。「ステンレス」「SUS304」「鉄」と書かれても 同じ棚に寄せる必要があるので、材質名の対応表を作って文字列が含まれているかで 判定していました。

そこに、チタン合金の記号 Ti-6Al-4V が来ました。この中に al が含まれています。 アルミの記号として登録してあった al に引っかかり、アルミと判定されました。

対策は2つ入れました。

  1. al ti のような短い記号は、前後が英数字やハイフンでないときだけ材質記号とみなす
  2. 複数の材質に当たった場合は決めつけず、人間に回す

修正後に同じ10件を流し直したところ、チタンの依頼は正しく「対応できません」になりました。

この失敗が示しているのは、判断をAIから引き剥がしても、引き剥がした先のコードが雑なら 同じ事故が起きるということです。AIを使うかどうかは論点ではありません。 自動で客に返信を送る仕組みは、どこで作っても事故りうる、という前提で組む必要があります。

だから最終的にこうしました。迷ったら人間に回す。 決めないことを、正常な動作として設計します。


人間に回った3件は何だったか

# 問い合わせの内容 回した理由
003 「金属の板を切って曲げるような加工です」 材質・板厚が書かれていない
006 「SPCC 3.2mm のブラケット、20個を明後日までに」 加工内容が書かれていない
010 「対応できる材質・板厚の資料をいただけますか」 材質・板厚・加工内容すべて不明

3件とも、メールに見積の材料が書かれていません。 人間が読んでも同じで、 電話をかけるか、確認のメールを返すしかない案件です。

ここを無理に自動化しないのが肝心です。情報が足りない相手に自動返信を送ると、 たいてい的外れなことを書いて、印象を悪くして終わります。

もうひとつ、人間に回した案件には返信の下書きを作らせていません。 下書きが付いていると、そのまま送られる事故が起きるからです。


過去の単価を、返信に書かせなかった理由

工程3で過去案件から似た仕事を探し、単価の目安を出しています。 最初の版では、これを返信文にも書かせていました。実際にこう出ました。

参考までに、同じSUS304 2.0mmの過去案件(J-2401)では単価3,800円での実績がございますので、 お見積もりの参考にしていただければと存じます。

これはやめました。 過去の単価は、数量・寸法・表面処理が違えば当てになりません。 そして自動返信で客に出した金額は、事実上の提示価格になります。

いまは参考単価を担当者へのメモに回しています。

参考: 類似3件の単価 3,800〜18,000円(J-2401、J-2403、J-2408)。条件が異なるため要査定。

同じ材質でも3,800円から18,000円まで開きます。この幅を見た人間が値を決める、 という形に残しました。


この記録の限界

正直に書いておきます。

  • データはすべて架空です。 設備マスタ・過去案件・問い合わせメールは、 この検証のために作ったものです。実在の企業・取引ではありません
  • したがって実測なのは処理時間・自動化率・失敗件数だけで、業務効果ではありません。 「何時間削減できた」という数字は測っていないので書きません
  • 10件は少ない件数です。実際の運用では、想定していない書き方のメールが必ず来ます
  • 自動返信をそのまま送るかどうかは別の話です。実導入では、 下書きまで作って人が確認してから送る形が現実的だと考えています

実導入で差し替えるのは、設備マスタと過去案件の2つの表だけです。 そこが自社のものに変われば、この構成のまま動きます。


まとめ

  • 見積依頼メール10件を処理させ、自動返信7件・人間へ3件・失敗0件、所要7分37秒
  • 受注可否の判断にAIを使っていない。 判断は設備マスタとルールで行い、AIは読み取りと作文だけ
  • 判断にかかる時間は0.001秒未満。時間の99.9%はAIの読み書き
  • それでも Ti-6Al-4V をアルミと誤判定した。AIを外しても、ルールが雑なら事故る
  • 対策は「迷ったら人間に回す」。決めないことを正常な動作として設計する
  • 過去単価は客に出さず、担当者へのメモに回す。値決めは人間に残す

この実装から言える「製造業でどこから手をつけるか」は、中小製造業はAIをどこから入れるか — 止まる理由は費用ではなく人。判断を「表」にできるかで決まるに、工程を繋いで無人で回すときの設計はAIエージェントのワークフローを組むにまとめています。

この仕組みのコードは、株式会社TOEが自社で書いて動かしたものです。 同じ形の仕事(問い合わせの一次対応、書類の仕分け、申請内容のチェック)は どの会社にもあります。何から始めるかのご相談は無料で承っています。