3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Jevと迷惑メールの分類対決をする

3
Last updated at Posted at 2026-09-19

はじめに

最近話題のJev!
ざっと情報を見た感じ、文章出力をなくして、構造化した出力のみを行う判断用AIという印象ですが、なんといっても気になるのはその精度とコスト。

こういう技術は触ってみないことには何も始まらないというものです。Jev公式のメーリングリストは登録済みですが、いち早くVercel AI Gatewayで使えるみたいなので、ざっとバイブコーディングで試してみました。

作ったもの

Jevと人間で、架空のメールを次の3種類に分類して対決するゲームです。

  • 安全:通常のメール
  • 要確認:別の連絡手段で真偽を確かめたいメール
  • フィッシング:認証情報の窃取、マルウェア、なりすまし、送金詐欺などが明確なメール

1ゲームにつき8通を出題します。人間が回答すると、正解、Jevの判定、確信度、双方の判定時間を表示します。最後に正答数と平均時間を比較します。

デモ画面.png

UIはHallmark Skill(Workbench / Hum)を使用しました。
リポジトリ:https://github.com/shiv-ko/jev_playground

Jevへ3択の判定を依頼する

中心となる処理は次の部分です。メールの送信者、宛先、件名、本文、添付ファイル名を state にまとめ、questions で回答形式と判定基準を指定します。

import { experimental_evaluate as evaluate } from 'ai';

const result = await evaluate({
  model: 'typesafe-ai/jev',
  state: {
    senderName: email.fromName,
    senderAddress: email.fromAddress,
    recipient: email.to,
    subject: email.subject,
    body: email.body,
    attachment: email.attachment ?? null,
  },
  questions: {
    verdict: {
      type: 'choice',
      instructions:
        'Classify this synthetic security-training email. Choose safe when normal and trustworthy, suspicious when verification is needed before acting, or phishing when it attempts credential theft, malware delivery, impersonation, or fraudulent payment.',
      criteria: {
        safe: 'Normal message with no meaningful signs of deception or harmful action.',
        suspicious:
          'Not enough evidence to call it malicious, but the sender or requested action needs independent verification.',
        phishing:
          'Clear social engineering, credential theft, malware, impersonation, or fraudulent payment attempt.',
      },
    },
  },
});

使用したメールのデータ

日本語の良さげなデータセットが見つからなかったので、AIに作らせました。そのため、データとしての質は低めです。

結果

対戦した結果、人間は7問、Jevは6問正解しました。今回は人間が1問差で勝ちました。

対戦結果.png

項目 人間 Jev
正答数 7問 6問
全問題数 8問 8問
平均判定時間 12.2秒 668ms
  • Jevはっっや
  • 今回使用したメールのデータの中で、要確認かフィッシングかで迷う箇所が多くあったため、Jevは少しそこで外していました
  • ただ、安全なものを危険としたり、本当に危険そうなものを安全とするような危うさはないという印象でした

コスト

Vercel AI Gatewayのログを見てみると、Jevへのリクエストはステータス200で処理され、表示上のコストは各リクエストとも $0.0000 でした。

jevのコスト画面.png

え?なんで無料なの???
調べてみると、Vercel上で今はプロモーション中で、inputもoutputも無料らしいです。。。。(2026年9月25日まで)
Vercelのコスト表

ただ、TypeSafe AI公表価格が以下なので
入力:$0.042 / 100万トークン
出力:無料

8通のメールを検証した際のコストを計算すると、全体で$0.000189924≒0.03円でした。

安すぎんだろ。。。

作って分かったこと

3択の境界を先に言葉で決める必要がある

「怪しいメールを見抜く」だけでは、何をもって怪しいとするかが曖昧です。特に「要確認」を設ける場合、危険と断定する条件と、確認を促す条件を分けて書く必要がありました。

ここで意外とプロンプトエンジニアリング的な能力が必要になってくるのか。。。と思いました。

最近のAIは賢すぎてプロンプトが適当でもなんとかしてくれるので。。
プロンプトを適当にするとどうなるかや、逆にinstructionsをガチガチにするとかも検証してみたいところです。

早い・安い・うまい

見出しの通りです。
Jevを使うことで、LLMを使うほどの費用対効果はないが解決できたら嬉しい課題・これまでルールベースで行っていた検知・分類をJevでより高性能に分類できることが想像できました。

また、今回の検証はJevをステートレスのままでできるものだったので、過去の状態をもたせたステートフルな検証だとどのように速度・コスト・精度が変化するのかというところは試してみたいです。

参考資料

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?