FiveVai AI Lab
← 実演一覧に戻る

Gmail Organize

受信トレイのノイズを6分類に仕分け、Slack DM で今すぐ動くべきメールだけを届ける。

未読の山を毎朝眺める時間 → P1/P2/P3 の優先度リストが Slack に届いた状態
任せるAI難易度 2/5bash / jq / Claude Haiku 4.5 / Gmail API(gws CLI) / Slack Incoming Webhook

このPoCから得た実装知

  1. 1LLMにメール本文を渡す前にローカルでプロンプトインジェクション疑いを除外する2段構えが、経営者メールボックスの安全な自動化に不可欠
  2. 2モデル出力はスキーマ存在・値域・ID整合性の3段バリデーションで受け取り、いずれかで落ちたメールには 95_AI_ERROR ラベルを付けて人に戻す
  3. 3Bash + jq だけで完結する構成は、GASやサーバーなしで macOS の cron に乗せられる最小スタック
  4. 4分類カテゴリは6種に絞り込み、判断に迷ったら 90_Unknown を選ぶルールにすることでモデルの過剰重要判定を抑制した
  5. 5Slack 通知は P1/P2/P3 の優先度別セクション+要返信リストに構造化し、通知を開いた瞬間に次のアクションが分かる形にした

判断材料

AI 権限レベル
任せるAI
想定対象部門
経営総務DX推進
扱うデータ
Gmail受信トレイSlack DM
人間の承認
不要(閲覧・通知のみ)
失敗時の止め方
バリデーション不通過のメールには 95_AI_ERROR ラベルを付与して処理をスキップ。注入疑いのメールは 91_Prompt_Injection_Suspected で隔離し、Gmail 上で人が手動確認できる
導入難易度
2 / 5
初期導入期間
環境変数(APIキー・Webhook URL)と gws 認証が整えば当日中に動く
必要な社内担当
メールオーナーSlack ワークスペース管理者(Webhook作成のみ)
連携対象 SaaS
GmailSlackClaude API(Anthropic)
最小構成
CLAUDE_API_KEY と SLACK_WEBHOOK_URL を .env に記入し、gws 認証を通せば実行可能
横展開先
受信トレイ管理メール優先度付け経営者アシスタントSlackブリーフィング

このPoCが向いている会社

以下に1つでも当てはまる会社では、効果が大きい。

  • 未読メールが毎日50件以上溜まり、重要なものを見逃しやすい経営者・DX責任者
  • Gmail と Slack を軸に業務を回しており、新たなツールを増やしたくない
  • サーバーを立てずに macOS の cron だけで定期実行したい
  • メールのプロンプトインジェクション対策を実装込みで試したい

経営インパクト

Before

受信トレイを自分で開き、件名と差出人を目視で優先度判断してから返信対象を選ぶ

After

Slack DM に P1/P2/P3 のブリーフィングが届き、受信トレイを開かずに今日の対応順序が分かる

減ったリスク
プロンプトインジェクション疑いのメールを事前除外することで、悪意あるメールがLLM判断を乗っ取るリスクを低減
横展開できる型
注入スクリーニング → LLM分類 → バリデーション → ラベル付与 → Slack通知 のパイプライン構成

このデータがあれば、これができる

最小構成 ─ まずここから
INPUT DATA
  • Gmail 未読・未処理メール(件名 / 差出人 / スニペット)
YOU CAN DO
  • 6カテゴリへの自動分類
  • Gmail ラベル付与
  • Slack DM ブリーフィング(P1/P2/P3別)
発展構成 ─ ここまでつなぐと強い
INPUT DATA
  • Gmail 未読・未処理メール
  • カスタム user_context(顧客名・案件名)
  • cron による平日90分毎の定期実行
YOU CAN DO
  • 優先度別・要返信別 Slack サマリー
  • 注入疑いメールの自動隔離と通知
  • 処理済み / エラー別 Gmail ラベル管理
  • 実行ログ(~/.gmail-briefing/)

Pain — どんな痛みがあったか

経営者・COO/CIOの痛み
  • 受信トレイを開くと重要メールと営業メールが混在し、優先度判断に時間が取られる
  • 移動中や会議の合間に「今すぐ返すべきか」を件名だけで判断しなければならない
  • 見落としが怖くて通知をオフにできない

Intent — なぜ作ったか

毎日の受信トレイ確認を自動化し、本当に今動くべきメールだけを Slack に届ける。ツールを増やすのではなく、すでに使っている Gmail と Slack の間にだけ処理を挟む構成にこだわった。

Approach / Rationale / Lessons / 改善ログ の続きを読む

Magic Link で 60 秒。クレカ不要・退会即時。

最初の1週間でやること

  • gws 認証と Slack Webhook URL を用意する
  • Gmail に9つのラベルを作成する(初回セットアップスクリプトで一括作成)
  • MAX_EMAILS=5 の Dry Run で分類精度を確認する
  • precheck_injection.sh の誤検出閾値をログで確認・調整する
  • cron に平日90分毎の実行を登録する

やらないこと

  • メール本文全文をスクリーニングなしで LLM に渡さない
  • バリデーション失敗を無視して分類結果をそのまま適用しない
  • 注入疑いメールを自動削除しない(隔離にとどめ、人が確認する)
  • MAX_EMAILS を大きくしすぎてトークン消費とレート制限リスクを高めない

費用対効果の考え方

  • 受信トレイを開いて優先度判断する時間の削減
  • 重要メール見落としによる対応遅延の低減
  • プロンプトインジェクション対策込みのメール自動化の実装知
このPoCの位置づけ

自律型AIの安全な実装パターン事例

AIがメールを自動分類するなら、注入スクリーニングとバリデーションがセットで必要。この実装がその答えを見せる。

導入前チェックリスト

商談前に、自社側でこの 3 点を確認しておくと検討がスムーズに進む。

  • Gmail の未読メールを優先度順に整理する時間が毎日発生していますか?

    件名を目視で確認して返信判断している場合に該当します

  • Gmail と Slack を業務の中心に使っていますか?

    新たなツール導入なしで連携できます

  • macOS 上でサーバーなしに cron だけで動かすことを求めていますか?

    bash / jq / gws CLI が揃えば追加インフラは不要です