AIにメールを任せるな — インボックスに必要なのは秘書ではなく「ファイアウォール」だ(オープンソース)
(github.com/k08200)最近の「AIメール」ツールはどれも同じ方向を向いています。メールごとに下書きを載せ、「AIが返信を提案」バッジを付け、自動送信ボタンを付ける。結果は? インボックスが静かになるどころか、むしろもっと騒がしくなります。画面の上にさらに別の画面を重ねているだけです。
私はその真逆のものを作りました。AIにインボックスを任せるのではなく、AIを食い止めるファイアウォールです。Klornは受信メールごとに分類を1つだけ出し、それ以外は見せません。
4段階 — SILENT(記録のみ、非表示) / QUEUE(キューには表示、通知なし) / PUSH(本当に起こす) / AUTO(今は分類のみ、実行は意図的に未接続)。
核心 — LLMは決定を行いません。メールごとに4つの数値(確信度・送信者信頼・取り消し可能性・緊急度)だけを採点し、人間が読める決定論的ルールがそれを段階にマッピングします。だからモデルなしでもポリシーを監査・テストでき、LLMが落ちてもキーワードのfallbackが同じ数値を作って緊急メールは通します。
そして、取り返しのつかないことは絶対にAIに任せません。送信・完全削除・外部転送の3つは deterministic floor の後ろに置きます — 承認時点で送るバイト列を receipt として固定し、実行時に1バイトでも違えば throw。自律経路は fail-closed。AIが「送りました」と言い張っても、バイト列が一致しなければ外には出ません。
「AIは魔法」という部分も自分で測定しました。分類作業では、GPT-4oよりはるかに安いモデルのほうが正確でした。こういう仕事に必要なのは天才モデルではなく、4つのシグナルを毎回同じように読む一貫性です(数値・根拠は下記の記事)。
AGPLv3のオープンソースで、OpenAI互換エンドポイントなら何でも接続できます(Ollamaならメールは自分のマシンの外に出ません)。正直に言うと初期PoCです — 自分の実メール50件に対して約80%一致(1回、自分で置いたベースライン)、実ユーザーはまだ自分1人、AUTO実行は意図的に無効化しています。大げさに書くと最初のコメントで噛みつかれるので。
設計記事(エンジニアによるアーキテクチャ議論が付いたシリーズ):
安いモデルがGPT-4oに勝った理由: https://dev.to/k08200/…
LLMに採点だけさせて決定をさせない理由: https://dev.to/k08200/…
不可逆アクションの deterministic floor: https://dev.to/k08200/…
リポジトリ: https://github.com/k08200/klorn (docker-compose + ローカルLLMセットアップ)。デモはOAuthテストモード(100人)なので、self-hostが最速です。
まだコメントはありません。