はじめに
問い合わせメールの一次対応は、地味ですが意外と時間を使います。
- 見積依頼なのか
- 納期確認なのか
- 不具合報告なのか
- 営業メールなのか
- 誰に回すべきなのか
- 返信前に何を確認すべきなのか
このあたりを毎回人間が読んで判断していると、件数が少なくてもじわじわ負担になります。
今回は、問い合わせ本文を入力すると、
- 分類
- 優先度
- 担当候補
- 不足情報
- 返信ドラフト
を出す社内向けツールの設計を考えてみます。
作りたいもの
イメージとしては、問い合わせを一覧で確認できる小さなWeb画面です。
問い合わせ本文
↓
AIまたはルールで分類
↓
SQLiteに保存
↓
Flaskの管理画面で確認
↓
人間が分類を修正
↓
返信ドラフトを利用
ポイントは、AIに全部任せきるのではなく、人間が最後に確認・修正できる前提にすることです。
分類結果の形
AIの返答は文章ではなく、JSONで受け取る想定にします。
{
"category": "見積依頼",
"priority": "high",
"assignee_hint": "営業",
"missing_info": ["希望納期", "数量"],
"summary": "A製品について価格と納期の問い合わせ",
"reply_draft": "お問い合わせありがとうございます。お見積りのため、希望納期と数量を確認させてください。"
}
自然文で返してもらうと後続処理が難しくなるので、業務ツールでは最初から構造化して扱う方が楽です。
テーブル設計
最小構成なら、まずは1テーブルで十分です。
create table inquiries (
id integer primary key autoincrement,
received_at text not null,
body text not null,
category text,
priority text,
assignee_hint text,
missing_info_json text,
summary text,
reply_draft text,
status text not null default 'new'
);
最初からきれいに分けすぎるより、試作段階では「問い合わせ1件に対するAIの判断結果」を保存できれば十分だと思います。
Python側の処理イメージ
import json
def classify_inquiry(body: str) -> dict:
prompt = f"""
次の問い合わせを業務用に分類してください。
必ずJSONだけを返してください。
分類候補:
- 見積依頼
- 納期確認
- 不具合報告
- 資料請求
- 営業メール
- その他
返すJSONの形式:
{{
"category": "分類名",
"priority": "high | medium | low",
"assignee_hint": "担当候補",
"missing_info": ["不足情報"],
"summary": "要約",
"reply_draft": "返信ドラフト"
}}
問い合わせ本文:
{body}
"""
result = call_ai_model(prompt)
return json.loads(result)
実運用ではここに、JSONの検証、失敗時のリトライ、カテゴリ外の値を弾く処理を入れます。
AIに任せすぎない
業務利用で大事なのは、AIの精度よりも「間違えた時に困らない設計」です。
たとえば以下のようにします。
- 自動送信はしない
- 返信ドラフトは必ず人間が確認する
- 優先度はあとから修正できる
- 分類結果と元本文を必ず一緒に表示する
- AIが判断できない場合は「要確認」に寄せる
特に返信文の自動送信は怖いので、最初はドラフト生成までに止めるのが安全です。
Flaskで一覧画面を作る
管理画面では、最低限これだけ見えれば使えます。
受信日時 / 分類 / 優先度 / 担当候補 / 要約 / 状態
詳細画面では、
元の問い合わせ本文
AIの要約
不足情報
返信ドラフト
分類修正ボタン
対応済みにするボタン
を表示します。
この程度なら、Flask + SQLite + Jinjaでも十分作れます。
業務ツールとして考えること
実際に社内で使うなら、技術よりも運用設計の方が重要になります。
- 誰が最初に見るのか
- どの分類なら誰に回すのか
- 返信ドラフトをどこまで使うのか
- 個人情報をAIに渡してよいのか
- ローカル処理にするのか、外部APIを使うのか
- 間違った分類をどう修正するのか
AIを入れる前に、このあたりを決めておくと破綻しにくいです。
まとめ
問い合わせ分類ツールは、AIの派手さよりも、業務フローに合わせた地味な設計が大事だと感じました。
特に重要なのはこのあたりです。
- AIの出力をJSONで扱う
- 人間が確認・修正できる画面を作る
- 自動送信まではやらない
- 分類ミスを前提に運用を作る
- 最初は小さい社内ツールとして試す
問い合わせ対応、見積前確認、FAQ整備のような業務は、いきなり大規模システム化しなくても、小さなWeb画面やスクリプトでかなり楽にできそうです。
名古屋・愛知の中小企業向けに、こうした小さな業務ツール制作も試しています。
https://business.syunpp.com