Gmailから取得した生データを、プログラムによる**「脊髄反射的処理(静的フィルタ)」で徹底的に選別・加工し、人間と同等の判断が必要な「思考的処理(LLM判定)」**へ渡すトークン量を極限まで削減する。
以下の条件に合致する場合、LLMステップを呼び出さず処理を完了させる。
ブラックリスト判定: 以下のドメイン・送信元は即時廃棄(または「通知不要」としてDB記録)。
mail.aliexpress.com, instagram.com, facebookmail.com, 各種メルマガ(件名に「PR」「メルマガ」を含むもの)。
認証・セッション系:
対象キーワード: 認証コード, セキュリティコード, ログインのお知らせ, ワンタイムパスワード.
処理: From と Subject を結合した文字列のみをLINE通知へ送り、終了。
重複排除(Deduplication):
過去24時間以内に同一の「送信者+送り状番号(ヤマト等)」または「送信者+件名」を処理済みの場合、ステータス更新のみを行い、新規通知としては扱わない。
LLMに文脈を読ませるのではなく、正規表現で特定の値を抜き出し、通知文を自己生成する。
配送状況(ヤマト運輸・Amazon等):
[0-9]{4}-[0-9]{4}-[0-9]{4}(伝票番号)を抽出。
「お届け予定」「完了」などのキーワードを抽出し、固定フォーマット化。
金融・決済(JAバンク・カード会社):
[0-9,]+円(金額)および [0-9/]{5,10}(日付)を抽出。
「支払金額:〇〇円、期日:〇〇」として構造化。
LLMに渡す場合でも、以下の処理を「必ず」事前に行う。
BeautifulSoup 等を用い、タグ・スタイル・スクリプトを完全除去。https?://\S+ → [URL] へ置換。>(引用)および、空行・連続スペースの削除。From, Subject, Body(先頭300文字)をJSON形式にパックする。出力トークンを最小化するため、LLMには**「1文字のランク」**のみを返させる。
{"from": "...", "sub": "...", "body": "..."}1: 即時通知が必要(重要・緊急)2: 1日の終わりにまとめて通知(低緊急・要確認)3: 通知不要システムを改善し続けるためのデータ循環構造。
通知インターフェース: LINE通知の下部に「不要」「毎日」のリンクを設置。
データベース(PostgreSQL):
feedback_table: sender_domain, subject_pattern, user_decision を記録。
動的更新: user_decision が ignore になったドメインは、自動的に「3.1. ブラックリスト」へ同期される。
仕様書は以上となります。Antigravityでの実装において、具体的なPythonコードの記述や、LINE Botとの連携部分でサポートが必要になりましたら、いつでもお声がけください。
次は何をお手伝いしましょうか?