はじめに
2026年10月1日、AWSのStrands Labsが Strands Decider 2Bを公開しました。
文章を書かず、用意した選択肢から1つ選んで確率を返すモデルです。
同じ種類のモデルには、TypeSafe AIが2026年9月15日に発表したJevがあります。
Strands Decider 2Bのサーバーは、Jevと同じ /v1/systemone という形式でリクエストを受け付けます。
リポジトリにも、Jev向けのベンチマークがそのまま2Bに対して動くと書かれています。
つまり、同じ質問と判断材料をそのまま両方に投げられます。
そこで、ローカルで動く2BとAPIで呼ぶJevを同じ仕事で対決させることにしました。
仕事は「散らかったフォルダの片付け」です。
判断させて終わりではなく、各モデルが選んだフォルダへ実際にファイルを移動させます。
間違えたら、ファイルは本当に間違った場所へ行きます。
この記事で確かめたいのは次の2点です。
- 手元のMacで動く2Bは、APIのJevとどこまで張り合えるか
- 差が出るとしたら、どんなファイルで出るか
選手紹介
| Strands Decider 2B | Jev | |
|---|---|---|
| 提供元 | AWS(Strands Agents) | TypeSafe AI |
| 動く場所 | 自分のマシン(今回はApple M1・メモリ16GBのMac) | TypeSafe AIのAPI |
| 中身 | Qwen3.5-2B-Baseから文章を書く部品を外し、選択肢を指す部品(ポインターヘッド)を付けたもの。約19億パラメータ | 今回は確認していない |
| ライセンス・料金 | Apache-2.0。ローカルなので呼び出し料金はかからない | APIの利用料がかかる |
| 今回使ったモデル | strands-decider-2B-hobson-v19 | jev-latest |
どちらも返すものは同じで、選んだ答え(choice)、各選択肢の確率(probabilities)、確信度(confidence)の3つです。
試合のルール
片付け先は6フォルダ
両者には、同じ質問を同じ説明文つきで送ります。
フォルダの説明文(criteria)はこの6つです。
QUESTION = {
"type": "choice",
"instructions": "このファイル(filename と content_preview)を、家のパソコンのどのフォルダに片付けるのがよいか。ファイル名だけでなく中身も見て判断する。",
"criteria": {
"経理": "お金の出入りの証拠になる書類。請求書・領収書・レシート・見積書・経費精算・注文確認など。何の支払いかは問わない。",
"仕事": "勤め先の業務で作った・受け取った資料。企画書・議事録・打ち合わせメモ・営業資料・顧客リスト・社内発表資料など。",
"写真": "写真やスクリーンショット、アイコンなどの画像ファイル。",
"学習": "自分の勉強のための資料。資格試験の対策ノート・語学・講座のメモ・論文・読書メモ・演習問題など。",
"手続き": "役所・税務署・年金機構・保険会社などとの公的な手続きや契約の書類。届出・住民票・確定申告・保険の更新案内など。",
"ゴミ箱候補": "消してよい不要なファイル。中身が空のファイル、一時ファイル、ロックファイル(~$で始まる)、OSが自動で作る管理ファイルなど。",
},
}
渡すのはファイル名と中身の先頭300文字
state(判断材料)には、ファイル名と中身の先頭300文字を入れます。
中身が空なら「(空のファイル: 0バイト)」、画像などのバイナリなら「(バイナリのため中身は読めません: 68バイト)」のように、バイト数を添えて渡します。
ans, ms = ask(engine, {"filename": p.name, "content_preview": preview(p)})
リクエストの違いは、Jevにだけ model と APIキーを付ける点だけです。
確信度0.6未満は「保留」へ
確信度が0.6以上なら、選ばれたフォルダへファイルを実際に移動します。
0.6未満なら移動せず、「保留」フォルダに入れます。
dest = ans["choice"] if ans["confidence"] >= THRESHOLD else HOLD
shutil.move(str(p), ws / dest / p.name)
しきい値を決めるのはモデルではなく、このコードです。
自信のない判断で勝手に片付けられると困るので、人が後で見る置き場を用意しました。
採点のしかた
- 正解フォルダは、テスト用ファイルの作成時に設定したものを使います
- 「正しく移動」「誤って移動」「保留」の3つに分けて数えます
- 保留は、モデルの1位の答えが正解だったかどうかも記録します
- 応答時間は、スクリプト側でリクエストを送ってから返るまでを測りました
Jevはネットワーク往復を含みます
第1ラウンド: ふつうの散らかったフォルダ
出場ファイルは36個
よくある散らかり方を再現した36個です。
- 請求書・領収書・見積書・経費精算のCSV・Amazonの注文確認メール
- 企画書・議事録・営業資料・顧客リスト
- IMG_2041.jpg のような写真・スクリーンショット
- 資格試験の対策ノート・英単語リスト・論文
- マイナンバーカード更新のお知らせ・住民票・確定申告の控え
- .DS_Store・Thumbs.db・~$で始まるロックファイル・空のテキスト
ファイル名だけでは決まらないものも8個混ぜました。
たとえば「メモ.txt」の中身はドラッグストアのレシートで、「無題.docx」の中身は打ち合わせメモです。
結果は引き分け
| 2B | Jev | |
|---|---|---|
| 正しく移動 | 36/36 | 36/36 |
| 誤って移動 | 0 | 0 |
| 保留 | 0 | 0 |
| 確信度の中央値 | 0.96 | 1.00 |
| 応答時間の中央値 | 1418ms | 185ms |
両者とも全問正解で、片付いたフォルダの中身も完全に一致しました。
「メモ.txt」はレシートとして経理へ、「final_final_v3.pptx」は社内勉強会の資料として仕事へ、どちらも中身を見て振り分けています。
差が出たのは確信度と速さだけです。
Jevは36個中24個を確信度1.00で返しました。
Jevが迷ったのは画像ファイルで、IMG_2041.jpg が0.62、IMG_2042.jpg が0.64でした。中身が読めず、名前も番号だけなので、手がかりが拡張子しかありません。
2Bは0.66〜0.99の幅があり、低めだったのは年金定期便(0.66)と~$で始まるロックファイル(0.69)です。
これでは勝負がつきません。
そこで、意地の悪い第2ラウンドを用意しました。
第2ラウンド: ファイル名と中身が食い違う
出場ファイルは11個
ファイル名に引っ張られると間違える11個です。
正解は中身で決まります。
| ファイル名 | 中身 | 正解 |
|---|---|---|
| 請求書の書き方_簿記3級.md | 簿記3級の練習問題 | 学習 |
| 写真.txt | 市民税の税額決定通知書 | 手続き |
| IMG_3301.jpg | スターバックスの領収書(テキスト) | 経理 |
| 旅行の思い出.docx | 出張旅費精算書 | 経理 |
| ゴミ.txt | 顧客との契約条件メモ | 仕事 |
| temp.xlsx | 部署別の予算計画 | 仕事 |
| TOEIC_公式問題集.pdf | 空(0バイト) | ゴミ箱候補 |
| 確定申告.md | 確定申告について調べたノート | 学習 |
| 保険.pdf | 保険料の払込領収証 | 経理 |
| 住民票_写し(1).pdf | 空(0バイト) | ゴミ箱候補 |
| 手続き書類.pdf | Pythonのデコレータの復習メモ | 学習 |
結果はJevの判定勝ち
| 2B | Jev | |
|---|---|---|
| 1位の答えが正解 | 8/11 | 10/11 |
| 正しく移動 | 7 | 10 |
| 誤って移動 | 2 | 0 |
| 保留 | 2 | 1 |
| 確信度の中央値 | 0.88 | 0.96 |
| 応答時間の中央値 | 1414ms | 183ms |
実際に片付いたフォルダはこうなりました。まず2Bです。
2B
├── ゴミ箱候補/
├── 仕事/
│ └── ゴミ.txt
├── 保留/
│ ├── temp.xlsx
│ └── 住民票_写し(1).pdf
├── 学習/
│ ├── TOEIC_公式問題集.pdf ← 誤り
│ ├── 手続き書類.pdf
│ └── 請求書の書き方_簿記3級.md
├── 手続き/
│ ├── 写真.txt
│ └── 確定申告.md ← 誤り
└── 経理/
├── IMG_3301.jpg
├── 保険.pdf
└── 旅行の思い出.docx
次にJevです。
Jev
├── ゴミ箱候補/
│ ├── TOEIC_公式問題集.pdf
│ └── 住民票_写し(1).pdf
├── 仕事/
│ ├── temp.xlsx
│ └── ゴミ.txt
├── 保留/
│ └── 確定申告.md
├── 学習/
│ ├── 手続き書類.pdf
│ └── 請求書の書き方_簿記3級.md
├── 手続き/
│ └── 写真.txt
└── 経理/
├── IMG_3301.jpg
├── 保険.pdf
└── 旅行の思い出.docx
ここで差がつきました。
「ゴミ.txt」「写真.txt」「旅行の思い出.docx」のように、中身に手がかりがあるものは両者とも正しく片付けました。
差がついたのは次の4個です。
| ファイル | 正解 | 2B | Jev |
|---|---|---|---|
| TOEIC_公式問題集.pdf | ゴミ箱候補 | 学習(0.78)で移動 | ゴミ箱候補(0.96) |
| 住民票_写し(1).pdf | ゴミ箱候補 | 手続き(0.42)で保留 | ゴミ箱候補(0.95) |
| temp.xlsx | 仕事 | 仕事(0.51)で保留 | 仕事(0.76) |
| 確定申告.md | 学習 | 手続き(0.71)で移動 | 手続き(0.44)で保留 |
2Bは空のファイルで名前を信じた
2Bの誤りのうち1つは、中身が空のファイルです。
「TOEIC_公式問題集.pdf」には「(空のファイル: 0バイト)」と渡しているのに、名前どおり学習へ移動しました。
しかも確信度は0.78です。
保留の網をすり抜けました。
もう1つの空ファイル「住民票_写し(1).pdf」も、2Bの1位は名前どおりの手続きでした。
こちらは確信度0.42だったので保留に止まり、誤って片付けずに済みました。
Jevは2つの空ファイルをどちらも確信度0.95以上でゴミ箱候補にしています。
説明文にある「中身が空のファイル」という条件が、ファイル名より優先されたように見えます。
確定申告.mdは両者とも外した
「確定申告.md」は、確定申告について調べた勉強ノートです。
事前に決めた正解は学習ですが、両者とも手続きを選びました。
ここで結果を分けたのは確信度です。
2Bは0.71で手続きへ移動し、Jevは0.44で保留に入れました。
同じ間違いでも、Jevの判断は人の確認待ちになり、2Bの判断はそのまま実行されました。
もっとも、このファイルは人によっては手続きに入れたくなるものです。
正解の決め方しだいで勝敗が動く1問なので、ここは差として強く読みすぎないほうがよいと考えています。
結果をどう読むか
冒頭の2つの問いに戻ります。
1つ目の「2BはJevとどこまで張り合えるか」は、ふつうのファイル整理なら互角でした。
第1ラウンドの36個は両者とも全問正解で、2Bはネットワークにも課金にも頼らず手元のMacだけで片付けています。
2つ目の「差がどこで出るか」は、名前と中身が食い違うファイル、特に中身が空のファイルでした。
2Bはファイル名に引っ張られ、しかも高い確信度で誤るケースがありました。
確信度のしきい値で事故を防ぐ設計にしていても、確信度が高いまま間違えると、しきい値では止められません。
速さはJevが上でした。
今回の条件では、2Bの1件約1.4秒に対し、Jevはネットワーク往復込みで約0.18秒です。
自分が使うなら、名前どおりのファイルが大半のフォルダは2Bに任せ、空ファイルの扱いだけはコード側で先に振り分けます。
0バイトかどうかはモデルに聞かなくてもコードで判定できるからです。
注意点
- 正解フォルダはファイル作成時に決めたものです。確定申告.mdのように、解釈が分かれるものがあります
- 件数は第1ラウンド36個、第2ラウンド11個と少なく、差は傾向として見ている程度です
- 各ファイルは1回ずつ判定しています
- 2BはApple M1・メモリ16GBのMac、MPS(MacのGPU)で動かしました。計測中、同じMacで別の2Bサーバーが待機状態で起動していました(処理はしていません)
- 2Bの公式値は、M3 Proで300トークン未満の質問に中央値153msです
今回はM1で、6つの説明文とファイルの中身を含む長めの入力なので、条件が異なります
最後まで読んでいただきありがとうございました。
参考
- Strands Decider の紹介ブログ(AWS Strands Labs、2026年10月1日): https://strandsagents.com/blog/introducing-strands-decider/
- Jev の解説(DataCamp、発表日とAPIの形式): https://www.datacamp.com/blog/system-one-models-jev
- Strands Decider 2B のリポジトリ: https://github.com/strands-labs/strands-decider
- Strands Decider 2B のモデルカード: https://huggingface.co/StrandsAgents/strands-decider-2B-hobson-v19
