0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIに問い合わせメールを分類させる社内向けワークフロー設計

0
Posted at

はじめに

問い合わせメールの一次対応は、地味ですが意外と時間を使います。

  • 見積依頼なのか
  • 納期確認なのか
  • 不具合報告なのか
  • 営業メールなのか
  • 誰に回すべきなのか
  • 返信前に何を確認すべきなのか

このあたりを毎回人間が読んで判断していると、件数が少なくてもじわじわ負担になります。

今回は、問い合わせ本文を入力すると、

  • 分類
  • 優先度
  • 担当候補
  • 不足情報
  • 返信ドラフト

を出す社内向けツールの設計を考えてみます。

作りたいもの

イメージとしては、問い合わせを一覧で確認できる小さな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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?