毎日多くのメールを受信していると、
- 本当に急ぐメール
- 今日中に確認すればよいメール
- 後から確認しても問題ないメール
が同じ受信トレイに並びます。
メールの件数が増えるほど、
「重要なメールを見落とす」
「すべてのメールを確認するために時間がかかる」
といった問題が起こります。
そこで、Gmailに届いたメールをAIで分析し、
「緊急」「重要」「通常」の3段階に自動分類する仕組み
を構築します。
さらに、「緊急」と判定されたメールだけを即時通知するようにすれば、受信トレイを何度も確認する必要を減らせます。
1.改善前の業務
通常は、Gmailを開いて受信メールを上から順番に確認します。
たとえば1日に50件のメールが届く場合、
- 顧客からの発注
- 見積依頼
- 修正依頼
- 営業メール
- メールマガジン
- システム通知
などが混在します。
その中から人が件名や送信者を見て、
「これは急ぎ」
「これは後でいい」
と判断します。
改善前
**メール受信
→ Gmailを開く
→ 件名を確認
→ 本文を読む
→ 重要度を判断
→ 必要なら返信**
この作業を何度も繰り返します。
2.改善後の仕組み
改善後は、新しいメールが届いた時点でプログラムが自動的に内容を確認します。
基本的な流れは次のようになります。
**Gmail
→ 新着メール取得
→ 送信者確認
→ キーワード確認
→ AIで内容を分析
→ 重要度判定
→ Gmailにラベル付与
→ 緊急メールだけ通知**
たとえば、
AI/緊急
AI/重要
AI/通常
というGmailラベルを用意します。
メールを受信すると、自動的にどれかのラベルが付きます。
3.重要度を3段階で判定する
重要度は、単純な「高・中・低」ではなく、実際の業務に合わせて意味を持たせます。
緊急
すぐに確認した方がよいメールです。
たとえば、
- 至急
- 緊急
- 本日中
- 今日まで
- 発注
- キャンセル
- 納期変更
- サーバー停止
- Webサイト障害
- クレーム
- 電話してください
などです。
緊急と判定された場合は、Gmailのラベルだけではなく、Windowsやスマートフォンなどへ通知します。
重要
すぐに対応する必要はありませんが、必ず確認するメールです。
たとえば、
- 見積依頼
- 制作依頼
- 修正依頼
- 打ち合わせ
- 請求
- 契約
- 顧客からの問い合わせ
などです。
通常
急いで確認する必要がないメールです。
たとえば、
- メールマガジン
- 広告
- 営業案内
- 定期的な自動通知
- 情報提供
などです。
4.AIだけで判断しない
この仕組みで重要なのは、
すべてをAIだけで判断させないこと
です。
AIによる文章理解と、事前に決めたルールを組み合わせます。
AIの判断にはもっともらしい誤りが混じることがあるため、重要度の最終確認には人の判断を残します。ハルシネーション(AIのもっともらしい誤情報)の仕組みと確認の考え方も参照してください。
たとえば、メールごとに重要度スコアを計算します。
| 判定条件 | スコア例 |
|---|---|
| 重要顧客 | +30 |
| 「至急」を含む | +35 |
| 「緊急」を含む | +40 |
| 「発注」を含む | +25 |
| 「本日中」を含む | +30 |
| 「見積」を含む | +15 |
| 「修正お願いします」を含む | +15 |
| メールマガジン | -40 |
| 営業メール | -50 |
| 自動送信 | -30 |
このルールによる判定と、AIが本文を読んだ結果を組み合わせます。
5.送信者も判定材料にする
同じ文章でも、誰から届いたかによって重要度は変わります。
そのため送信者を、
- 重要顧客
- 通常顧客
- 取引先
- 社内
- 不明
- 営業
- 自動送信
などに分類しておきます。
たとえば、
重要顧客
+30点
通常顧客
+15点
営業会社
-20点
といったルールを設定できます。
これにより、
「重要な顧客から来たメール」
を優先できます。
6.AIにはメールの意味を判断させる
キーワードだけでは判断できないメールもあります。
たとえば、
「急ぎではありませんので、来週までにお願いします」
というメールには「急ぎ」という言葉があります。
単純なキーワード判定だけなら「緊急」と判断してしまう可能性があります。
そこでAIに文章全体を読ませます。
AIには、
- 重要度
- メールの種類
- 要約
- 対応が必要か
- 期限
- 判定理由
などを返させます。
たとえば次のようなデータです。
{
"priority": "important",
"score": 72,
"category": "estimate",
"summary": "Webサイト修正についての見積依頼",
"action_required": true,
"deadline": "2026-08-28",
"reason": [
"顧客からの見積依頼",
"期限は5日後のため即時対応ではない"
]
}
この情報をプログラム側で利用します。
7.Codexでシステムを作る
このシステム自体は、Codexを使って実装できます。
Codexはコード作成だけでなく、既存コードの修正、レビュー、テストなどにも利用できるコーディングエージェントです。
そのため、
「Gmail APIを使って新着メールを取得する」
「AIでメールを分類する」
「Gmailへラベルを付ける」
といった機能を順番に作らせることができます。
開発環境の例
Python
Gmail API
OpenAI API
SQLite
Windows通知
小規模な社内利用であれば、この程度の構成から始められます。
8.ファイル構成例
Codexには最初からすべてを1ファイルで作らせず、機能ごとに分けて実装させます。
gmail-priority-ai/
├─ app.py
│
├─ gmail/
│ ├─ auth.py
│ ├─ fetch.py
│ └─ labels.py
│
├─ classifier/
│ ├─ rules.py
│ ├─ ai.py
│ └─ priority.py
│
├─ notification/
│ └─ windows.py
│
├─ config/
│ ├─ senders.yaml
│ ├─ keywords.yaml
│ └─ rules.yaml
│
├─ database/
│ └─ mail.db
│
└─ logs/
こうしておくと、判定ルールを変更するときにも管理しやすくなります。
9.Gmailから新着メールを取得する
Gmail APIを使用してメールを取得します。
まず、
- Google Cloudプロジェクト
- Gmail API
- OAuth認証
を設定します。
最初の試作では、数分おきに新着メールを確認する方式でも構いません。
本格運用する場合は、Gmailの変更通知を利用して、新着メールを検知する方式にします。
10.メールをAIへ渡す
AIへメール全体を無条件に送るのではなく、必要な情報だけを整理して渡します。
たとえば、
送信者
送信先
件名
受信日時
本文
です。
添付ファイルは最初から解析対象にせず、必要になった時点で追加する方が安全です。
11.AIへ与える指示
AIには自由に回答させず、必ず決められた形式で結果を返させます。
たとえば、
次のメールを業務上の重要度で判定してください。
重要度は以下の3段階です。
urgent
important
normal
以下の情報を返してください。
priority
score
category
summary
action_required
deadline
reason
とします。
出力形式はJSONに固定します。
これにより、AIの回答をプログラムから安定して利用できます。
12.ルール判定とAI判定を組み合わせる
最終的な重要度は、
ルール判定
+
AI判定
で決めます。
たとえば、
ルール判定 40%
AI判定 60%
とします。
AIが「通常」と判断しても、
「重要顧客」
「至急」
「本日中」
などの条件が重なっていれば、最終判定を「緊急」に変更できます。
逆に、
「至急という言葉を使った広告メール」
などをAIが判断して重要度を下げることもできます。
13.Gmailへ自動でラベルを付ける
判定結果に応じて、
AI/緊急
AI/重要
AI/通常
を付けます。
さらに、
AI/発注
AI/見積
AI/修正
AI/請求
AI/障害
AI/営業
などの分類ラベルも付けられます。
たとえば、
AI/緊急
AI/発注
という2つのラベルを同じメールに付けることもできます。
14.緊急メールだけ通知する
すべてのメールを通知すると、結局通知が多くなります。
そのため、
priority = urgent
の場合だけ通知します。
通知内容は簡潔にします。
緊急メール
送信者:
○○株式会社
件名:
商品の発注について
重要度:
94 / 100
理由:
・発注依頼
・本日中の対応指定
概要:
商品5個の発注依頼です。
本日中の返信を希望しています。
これならメールを開く前に、確認するべき内容か判断できます。
15.最初から完全自動化しない
AIによる重要度判定には誤判定の可能性があります。
そのため最初は、
メールを移動したり削除したりしない
ことが重要です。
AIが行う処理は、
- ラベル付け
- 要約
- 通知
程度に限定します。
メール自体は元の受信トレイに残します。
16.判定結果を記録する
AIがどのように判断したかを保存しておくと、後から精度を改善できます。
たとえば、
| 日時 | 送信者 | AI判定 | 人の判断 |
|---|---|---|---|
| 8/23 09:15 | A社 | 緊急 | 緊急 |
| 8/23 10:20 | B社 | 通常 | 重要 |
| 8/23 11:30 | 広告会社 | 通常 | 通常 |
と記録します。
AIが間違えたメールを確認して、
この会社からのメールは +20
など、ルールを追加します。
17.使いながら判定精度を上げる
最初から完璧な判定ルールを作る必要はありません。
実際のメールを使って、
AI判定
↓
人が確認
↓
誤判定を記録
↓
ルールを修正
を繰り返します。
これにより、自社のメールに合った重要度判定システムになります。
18.さらに発展させる
重要度判定が安定したら、さらに次の機能を追加できます。
期限抽出
8月25日までにお願いします
という文章から期限を取得します。
未返信メール検出
重要メールに返信していなければ、
未返信
として表示します。
今日対応するメール一覧
朝に、
本日の対応
緊急 2件
重要 7件
本日期限 3件
未返信 4件
という一覧を生成できます。
業務別分類
メールを、
- 発注
- 見積
- 修正
- 請求
- 契約
- 問い合わせ
- 営業
などに分類します。
これにより、単なるメール分類ではなく、
メールを入口にした業務管理システム
へ発展させることができます。
19.この改善のメリット
この仕組みの目的は、
「すべてのメールをAIに任せる」
ことではありません。
人が確認する順番をAIに整理してもらうことです。
期待できる改善は、
- 重要メールの見落とし防止
- Gmail確認回数の削減
- メール確認時間の短縮
- 緊急案件への対応速度向上
- 発注や見積依頼の整理
- 未返信メールの把握
などです。
20.導入するときの注意点
メールには顧客情報や社内情報が含まれる場合があります。
そのため、
- AIへ送る情報の範囲
- APIキーの管理
- Gmail OAuth認証情報
- ログに保存する内容
- 個人情報の保存期間
などを事前に決めます。
特にAPIキーやOAuthトークンをソースコードへ直接書かないようにします。
環境変数や秘密情報管理機能を使用します。
Gmailに限らず、メールサーバー側で分類結果を共有したい場合は、IMAPメールをAIで重要度判定し、Outlook・Thunderbirdで自動振り分けするも参照してください。
まとめ
GmailのメールをAIで重要度判定する仕組みは、比較的小さなシステムから始めることができます。
最初は、
**Gmail
→ メール取得
→ AI重要度判定
→ 3段階ラベル付け
→ 緊急のみ通知**
という構成で十分です。
そして重要なのは、
AIだけで判断させず、送信者・キーワード・期限などのルールと組み合わせること
です。
Codexを利用すれば、Gmail APIとの接続、AI判定処理、ラベル付け、通知、ログ保存などを段階的に実装できます。
まずは、
「新着メール1通を取得して、緊急・重要・通常のいずれかを判定する」
ところから試作し、実際のメールを使いながら判定ルールを改善していく方法が現実的です。