2025年12月21日
【制作実録⑥】要塞システム開発記 - メーラーとAIと顧客管理システム -
前回は、要塞システムのメーラー部分の基礎を作りました。 今回はそこからさらに一歩踏み込んで、
- スパムだらけの現代メール事情
- ランサムウェアへの現実的な対策の考え方
- 要塞メーラーだからこそ出来る「顧客管理との連携」 その過程でやらかした、いろいろな「失敗例」
あたりをまとめていきます。
メールという「古くて捨てられない」インフラ
メールは、いまでも顧客とつながるための重要なインフラです。 ところがこの30年ほど、基本的な仕組みはほとんど変わっていません。
その結果、今では
受信メールの半分以上がスパム、という企業も珍しくない ランサムウェアの入口にもなりうる とはいえ、仕事では結局メールを使わざるを得ない という、かなり歪な状況になっています。
「スパムだらけでも捨てられない」 それが現代のメーラーの立ち位置と言っていいと思います。
ランサムウェアとメールの関係(ざっくり整理)
ランサムウェアに関しては簡単に言えば 危ないファイルは取得しない、知らないメールを知らないと気が付く環境さえあればそうそう引っ掛かりません。
現実的にランサムウェアの入り口の大半はVPNからであり メールは2割程度
多くの場合は引っかからないのですが、それでも引っかかってしまうのは タイミングの問題。
例えばショッピファイでサイトを作り何らかの原因でその事を考えている場合 たまたま来たショッピファイを名乗るスパムに引っ掛かってしまったりする。 現状のメーラーはメールアドレスが見にくく、それが偽物なのかなんなのか分かり難い 冷静であれば引っかからないのに
偶然の産物でスパムに引っかかってしまう。
要塞のメーラーはその偶然の産物を無くすため 顧客管理とメールをリンクさせております。
要塞メーラーの狙い:偶然の事故を減らす
そこで要塞メーラーでは、その「偶然の事故」を少しでも減らすために、 顧客管理とメールを強くリンクさせています。
(図:要塞メーラーと顧客管理の連携イメージ)
具体的には、
顧客情報に登録されている会社・担当者からのメール
そうではない、見知らぬ相手からのメール
を、見た瞬間に判別できるようにしました。
スパム、または登録のない人・会社からのメールは、 一覧上で「薄いピンク色」で表示されます。
「知らない相手からのメールは、一拍おいて冷静に見る」 という当たり前の判断を、 色とレイアウトの力で支える設計です。
Gmailの要約機能と、要塞メーラーAIの違い
最近、Gmailに「メール要約機能」が追加されました。 当然、私も「要塞にも入れてみるか」と試してみましたが…
結論からいうと、要約機能は一度削除しています。
理由は単純で、 要約を見る 結局、本文も読む という二度読みになってしまい、 「むしろ仕事が増えた」と感じたからです。 リスト上で概要を掴むには悪くないのですが、 実務では結局、最終的に全文を確認せざるを得ません。 では、何が一番助かるのか?
私の答えは、 圧倒的に「返信文の自動作成」だろう というところに落ち着きました。
要塞メーラーのAIフロー
要塞メーラーでは、1通のメールに対して、
- 依頼なのか?
- 確認なのか?
- 営業なのか?
- それともクレームなのか…
- どれが挨拶で誰宛なのか?
- どこが本文で、どこが相手の情報なのか?
という分解を行います。
- 不満・怒りが強いか
- 「急ぎ」度合いはどうか
- 「下書き」として提案する
- 自動で送らない
という順番で処理を行っています。
要塞本体を開くと、右側のエリアに 顧客情報と連動した新着メール一覧が表示されます。 その中から気になるメールをクリックすると、 画面中央に内容が表示される仕組みです。
さらに「フル対応モード」に切り替えると、 この画面に自動返信文と感情分析の結果も表示されます。 (あくまでフルオート送信ではなく、返信案の作成まで)
失敗例①:スパムにもAIが真面目に返信文を作り続けた
当初の私は、自分のメールのボリューム感だけを前提に設計していました。 その結果どうなったかというと、 スパムメールにまで、AIが真面目に返信文を作り続ける
という、なかなかウザい状態を生み出してしまいました。
AIは基本的に「指示されたことは淡々とやり続ける」ので、 人間側が「ここから先はやらなくていい」と線引きをしてやらない限り、 スパムかどうかに関係なく処理を続けてしまいます。
顧客情報に登録されていない相手からのメールにはAIは動かない。 という方針に切り替えました。
「必要な相手にだけAIをちゃんと使い、 スパムには計算資源もお金も使わない」
失敗例②:メールから顧客情報を自動取得しようとしてスパム天国に
「メール本文から、名前や会社名を自動で拾って 顧客情報を更新してほしい」
という要望があり、一度チャレンジしてみました。
ところが現実には、 どこが名前で、どこが会社名なのか 署名に書かれた社名と、本文中に出てくる別の社名 CCに並ぶ複数の会社名と担当者名 といった情報が入り混じっていて、 AIにとっても判別が非常に難しい、という問題に直面しました。
さらに冷静に考えると、
スパムメールに書かれたデタラメな会社名や担当者名まで まじめに顧客情報に登録してしまう可能性がある かなり危険な構造ですよね。(笑)
「これ、スパム天国になるだけだな」と判断し、 この機能は即刻廃止しています。
失敗例③:過去メールもまとめて読ませて、変な返信文が出てきた
メールの世界ではよく、
過去のやり取りを引用したメール
スレッド全体が延々と下にくっついているメール
が飛び交います。
最初のバージョンでは、 これらをほぼそのまま AI に渡していました。
その結果、
今回の本文ではなく、かなり前のやり取りを拾ってしまう
別の話題が混ざったまま返信案を作ってしまう
といった、微妙にズレた返信が出てくるようになりました。
この違和感の正体は、 AI から見ると、「どこまでが今回の本文で、どこからが引用なのか」が曖昧だった という点にあります。
そこで、
挨拶部分
今回の本文
署名ブロック
引用された過去メール
という形で一度「分解」する工程を必ず挟み、 返信作成には「今回の本文」だけを使うように変更しました。
メールを分解するひと手間を入れたことで、 返信のズレはかなり減り、内容も安定してきています

