Devstral Small 2(24B)とDevstral 2(123B)は、Mistral AIが2025年12月9日に公開したコーディングエージェント向けのモデルです。2026年10月時点で、どちらもMistral APIからは呼び出せません。配布が続くオープンウェイトを手元で動かすのが主な使い方で、発表記事はSmall 2がGPUなしのCPU構成でも動くとしています。この記事では、モデルIDと公式スコアの対応、提供終了の日程、ライセンス条件を確認したうえで、Ollama・vLLM・llama.cppでの起動と、Mistral Vibe CLI 2.26からローカルのDevstralへ接続する設定を順に説明します。Vibe CLI 2.26.1の設定解析とリクエスト送信は、ダミーのOpenAI互換サーバーで確認しています。実モデルの推論や画像・ツール呼び出しの成功を検証した結果ではありません。
まとめ
- Mistral APIでの提供は、Devstral Small 2(
labs-devstral-small-2512)が2026年3月31日、Devstral 2(devstral-2512)が7月31日に終わりました。公式の代替はどちらもMistral Medium 3.5です。 - Hugging FaceとOllamaでの配布は続いています。2026年10月16日取得のHugging Faceの直近30日ダウンロード数はSmall 2が312,196件、123B版が5,080件です。この集計は利用者数や稼働数を示すものではありません。
- Small 2はApache 2.0です。123B版のModified MITには、直前月の全社連結の月間売上が2,000万ドルを超える企業は使えない条項があります。移行先のMedium 3.5も同じ条項です。
- Ollamaは
devstral-small-2:24b(Q4_K_M・15GB)で動きます。ただし既定のコンテキスト長はVRAMが24GiB未満だと4Kしかないため、エージェント用途ではOLLAMA_CONTEXT_LENGTHで広げる必要があります。 - Vibe CLIは2.26.1(2026年10月9日)で同梱の
local(Devstral)モデルが削除されました。ローカルのDevstralを使うには、config.tomlに[[models]]を自分で書きます。このときactive_modelはトップレベルのキーとして、最初のテーブル見出しより前に置きます。
Devstral Small 2とDevstral 2の仕様|モデルIDと公式ベンチマーク
配布先ごとの識別子と実パラメータ数
同じモデルでも、Hugging Face・Ollama・旧APIで名前が違います。検索で使われるdevstral-small-2:24bやDevstral-Small-2-24B-Instruct-2512は、いずれも下表の同じ列のモデルを指します。
| 項目 | Devstral Small 2 | Devstral 2 |
|---|---|---|
| Hugging Face | mistralai/Devstral-Small-2-24B-Instruct-2512 | mistralai/Devstral-2-123B-Instruct-2512 |
| Ollamaタグ | devstral-small-2:24b(latest) | devstral-2:123b(latest) |
| 旧API名 | labs-devstral-small-2512 | devstral-2512 |
| パラメータ総数 | 24,011,361,840 | 125,025,989,840 |
| コンテキスト長(公式) | 256K | 256K |
| 入力 | テキスト・画像 | テキスト |
| 配布ウェイト | FP8 | FP8 |
| ライセンス | Apache 2.0 | Modified MIT |
パラメータ総数はHugging Face APIがsafetensorsから返す値で、製品名の「24B」「123B」は丸めた数字です。123B版の実体は約1,250億になります。末尾の2512はMistralの年月表記(2025年12月版)で、devstral-small-2507なら2025年7月版のDevstral Small 1.1を指します。
Ollamaのページはdevstral-small-2のコンテキスト長を384Kと表示します。これは配布されているconfig.jsonのmax_position_embeddingsが393,216(=384×1,024)になっているためで、モデルカードの公称は256Kです。設計の上限は256Kで見積もってください。
表で非対称なのは入力です。画像を受け付けるのはSmall 2だけで、123B版のモデルカードには画像入力の記載がありません。スクリーンショットからUIの不具合を直させる用途では、小さい方のSmall 2を選ぶことになります。
SWE-bench Verified 68.0%の出典と読み方
68.0%は、Small 2のモデルカードと2025年12月9日の発表記事の両方に載っている公式値です。同じ表の残り2指標まで並べると、差の出方が変わります。
| ベンチマーク | Devstral Small 2 | Devstral 2 | 差 |
|---|---|---|---|
| SWE-bench Verified | 68.0% | 72.2% | 4.2pt |
| SWE-bench Multilingual | 55.7% | 61.3% | 5.6pt |
| Terminal Bench 2 | 22.5% | 32.6% | 10.1pt |
ターミナル操作を繰り返す長い作業では、10ポイント以上の差が開きます。SWE-bench Verifiedだけを見て「123B版とほぼ同等」と判断すると、エージェント用途で期待を外します。またこれらはFP8ウェイトでの測定値なので、OllamaのQ4_K_Mで動かしたときの性能と同じではありません。
Mistral APIの提供終了日程と代替モデル
識別子ごとの非推奨化日と提供終了日
Mistralのモデル一覧のレガシー表では、Devstral系は次のように整理されています。devstral-latest・devstral-small-latestなどの別名も同じモデルを指していたため、別名で呼ぶコードも同様に通りません。
| モデル | API名 | 非推奨化 | 提供終了 | 公式の代替 |
|---|---|---|---|---|
| Devstral 2 | devstral-2512 | 2026-05-22 | 2026-07-31 | Mistral Medium 3.5 |
| Devstral Small 2 | labs-devstral-small-2512 | 2026-02-27 | 2026-03-31 | Mistral Medium 3.5 |
| Devstral Medium 1.0 | devstral-medium-2507 | 2026-02-27 | 2026-05-31 | Mistral Medium 3.5 |
| Devstral Small 1.1 | devstral-small-2507 | 2026-02-27 | 2026-05-31 | Mistral Small 4 |
Small 2はlabs-付きの試験枠のまま、公開から4か月弱で終了しました。Devstral 2も約8か月です。Mistralのモデルは発表記事だけ読んでいると提供状況を見誤るので、採用前にこのレガシー表を確認する習慣をつけてください。
代替のMistral Medium 3.5との価格・スコア差
Mistral Medium 3.5は128Bのモデルで、SWE-bench Verifiedは77.6%です。2026年5月22日の発表でMistralは、Le Chatの既定モデルにし、Vibe CLIでもDevstral 2を置き換えると明言しました。
| 項目 | Devstral 2(終了) | Mistral Medium 3.5 |
|---|---|---|
| API名 | devstral-2512 | mistral-medium-3-5 |
| 入力 100万トークン | $0.40 | $1.50 |
| 出力 100万トークン | $2.00 | $7.50 |
| SWE-bench Verified | 72.2% | 77.6% |
| ウェイトのライセンス | Modified MIT | Modified MIT |
単価は入力・出力とも3.75倍です。Devstral Small 2のAPI単価($0.10/$0.30)と比べると、入力で15倍、出力で25倍になります。トークンを大量に使うエージェント用途では、この差がそのまま月額に効きます。API費用が問題なら、Medium 3.5へ移るよりSmall 2を自前のGPUで動かす方が費用は読みやすくなります。
ライセンス条件|Modified MITの月商2,000万ドル条項とApache 2.0
どちらも「オープンウェイト」と紹介されますが、企業が使うときの条件は大きく違います。123B版のLICENSEの第2項は、要約すると次の内容です。
直前月における会社(または勤務先)の全世界連結の月間売上が2,000万ドル(他通貨での同等額を含む)を超える場合、本ライセンスに基づく権利を行使できない。この制限はモデル本体だけでなく、派生物・改変物・組み合わせた成果物にも及び、Mistral AIが提供したものか第三者が提供したものかを問いません。該当する企業は、Mistralから商用ライセンスを取るか、Mistralのホスティングサービスを使うことになります。
月商2,000万ドルは、1ドル150円で約30億円、年換算で約360億円です。条項が見るのは直前月の数字なので、年商がこの水準に近い企業は月によって該当・非該当が入れ替わります。オンプレミスに常設する前提なら、その時点で避けるのが無難です。
移行先も同じ条件です。Mistral Medium 3.5のLICENSEを123B版と突き合わせると、違いは帰属表示の年(2025と2026)だけで、売上条項は同じ文言でした。月商2,000万ドルを超える企業は、Medium 3.5に乗り換えて自社でホストしても制限を避けられません。
Small 2のApache 2.0には売上による制限がありません。ライセンス文の同梱や変更点の明示といった通常の条件を守れば、商用利用も再配布もできます。2026年10月時点のダウンロード数(直近30日)はSmall 2が312,196件、123B版が5,080件で、約61倍の差です。8月時点の約4倍から、ダウンロード件数の比率は拡大しています。ただし、この比較だけではAPI終了との因果関係やセルフホスト需要の移動は判断できません。
Ollamaで動かす|タグ別サイズとコンテキスト長の設定
タグ別の配布サイズと量子化
Ollamaではpullとrunで起動できます。以下はOllama 0.13.3以上をインストール済みの環境を前提にしています。devstral-small-2だけでもlatest(=24b)が入りますが、精度を選ぶならタグを明示します。
ollama pull devstral-small-2:24b
ollama run devstral-small-2:24b
# 8bit量子化を使う場合(26GB)
ollama pull devstral-small-2:24b-instruct-2512-q8_0
| タグの末尾 | Devstral Small 2 | Devstral 2 |
|---|---|---|
| q4_K_M(latestと同一) | 15GB | 75GB |
| q8_0 | 26GB | 133GB |
| fp16 | 48GB | 250GB |
サイズはOllamaのタグ一覧の表示値です。Hugging Faceの配布元はFP8なので、Ollamaのfp16タグは元の重みより大きくなります。量子化の段階ごとの違いはGGUFとは?量子化モデルフォーマットの仕組みとGPTQ・AWQとの違い・採用判断を解説で詳しく扱っています。
既定のコンテキスト長を広げる
Ollamaで見落としやすいのが、コンテキスト長の既定値です。Ollamaの公式ドキュメントによると、既定値はVRAMに応じて24GiB未満で4K、24〜48GiBで32K、48GiB以上で256Kになります。同じページは、コーディングツールのように長い文脈を使う用途では64,000トークン以上にするよう勧めています。4Kのままエージェントを動かすと、ファイルを数本読んだところで古い文脈から抜け落ちていきます。
# 手動起動用。既存のOllamaサーバーを停止してから実行する
# アプリやsystemdサービスで運用する場合は、その起動設定に環境変数を指定して再起動する
OLLAMA_CONTEXT_LENGTH=32768 OLLAMA_KV_CACHE_TYPE=q8_0 ollama serve
# 割り当てられたコンテキスト長とGPU・CPUの分担を確認する
ollama ps
コンテキストを広げるとKVキャッシュが増えます。Small 2のconfig.json(40層・KVヘッド8・ヘッド次元128)から計算すると、KVキャッシュはf16で1トークンあたり160KiBです。32Kで5GiB、64Kで10GiB、256Kでは40GiBになります。Q4_K_Mの重み15GBに64KのKVキャッシュを足すと、24GBのGPUには収まりません。OllamaのFAQによれば、Flash Attentionが有効な環境ではOLLAMA_KV_CACHE_TYPE=q8_0でKVキャッシュがf16の約半分になります。24GBで64Kを狙うなら、この設定が前提です。KVキャッシュの増え方そのものはKVキャッシュとは?LLM推論を高速化する仕組みとメモリ削減・実装判断を実装者向けに解説で説明しています。
vLLM・llama.cppで推論サーバーを立てる
vLLMでFP8ウェイトをそのまま動かす
Mistralが推奨する推論サーバーはvLLMです。Vibe CLIのオフライン利用ガイドは、Vibeが既定で接続する8080番ポートで起動する例を示しています。ツール呼び出しのパーサ指定を省くとエージェントとして機能しません。
vllm serve mistralai/Devstral-Small-2-24B-Instruct-2512 \
--tool-call-parser mistral \
--enable-auto-tool-choice \
--max-model-len 131072 \
--served-model-name devstral-small-2 \
--port 8080
FP8のままだと重みだけで約24GBあるため、128Kで動かすこの例はH100・A100のような80GB級のGPUが前提です。--served-model-nameを付けないと、API上のモデル名はHugging Faceの識別子そのものになります。後の章のVibe設定に書くnameと同じ名前にしておきます。トークナイザにはmistral_common 1.8.6以上が必要です。モデルカードの例は--max-model-len 262144 --tensor-parallel-size 2のGPU2枚構成、123B版は--tensor-parallel-size 8です。GPU1枚なら--max-model-lenを下げて調整します。vLLMの仕組みとOllamaとの違いはvLLMとは?PagedAttentionの仕組み・使い方とOllama・TensorRT-LLMとの違いを実装者目線で解説にまとめています。
llama.cppのllama-serverで動かす
GGUFで動かすならllama.cppのllama-serverも使えます。Small 2はMinistral 3と同じアーキテクチャのため、2025年12月12日にマージされたPR #17945(mistral3のattn_factorの修正)より前のビルドには、この修正が入っていません。Unslothのガイドも、この修正以降のビルドを使うよう求めています。
llama-server \
-hf unsloth/Devstral-Small-2-24B-Instruct-2512-GGUF:UD-Q4_K_XL \
--jinja -ngl 99 --ctx-size 32768 \
--temp 0.15 --port 8080
--jinjaはチャットテンプレートの処理にJinjaエンジンを使う指定です。システムプロンプトの扱いは、使用するテンプレートにも依存します。温度はモデルカードのサンプルコードとUnslothのガイドが0.15、発表記事が0.2を推奨しています。例では0.15にしています。llama-serverの既定ポートも8080なので、Vibe CLIからはそのまま接続できます。
必要なGPU・メモリの目安
Mistralの公式な目安は2つあります。モデルカードは「単一のRTX 4090、または32GBメモリのMac」で動くとし、Vibe CLIのガイドはより具体的に次の構成を挙げています。
- H100またはA100:FP8・128Kコンテキスト(長い文脈で実用的な速度を出す推奨構成)
- RTX 4090など24GB VRAMのGPU:4bit量子化・32Kコンテキスト
- CPUオフロード:RAMが足りれば動くが大幅に遅い
24GBで32Kという線は、上の計算(重み15GB+KVキャッシュ5GiB)と一致します。12GBのGPUでは重みが単体で収まらず、CPUへ逃がした分だけ遅くなります。123B版はQ4_K_Mでも75GBあり、80GBのGPU1枚ではKVキャッシュの余地がほとんど残りません。発表記事も、Devstral 2の運用にはH100級のGPUが最低4枚要るとしています。
Mistral Vibe CLIからローカルのDevstral Small 2を使う設定
v2.25・v2.26で既定モデルから外れた経緯
Vibe CLIはMistralのターミナル型コーディングエージェントで、Apache 2.0で公開されています。CHANGELOGを追うと、Devstralは段階的に既定の一覧から外れました。
| 版(日付) | 変更 |
|---|---|
| 2.9.1(2026-04-29) | 既定モデルをmistral-medium-3.5へ移行 |
| 2.25.0(2026-09-03) | devstral-small-latestを既定一覧から削除 |
| 2.26.1(2026-10-09) | 同梱のDevstral(local)モデルを削除 |
2.26.1では、削除されたlocalをactive_modelに指定したままの設定は、警告を出してMistral APIの既定モデルへ戻ります。公式のオフライン利用ガイドには「/configでlocalモデルを選ぶ」と書かれていますが、2.26.1ではその選択肢がありません。一方、ローカルサーバー用の組み込みプロバイダllamacpp(http://127.0.0.1:8080/v1)は残っています。
config.tomlの書き方と公式例の落とし穴
ローカルのDevstralを使うには、~/.vibe/config.toml(プロジェクト単位なら./.vibe/config.toml)にモデルを定義します。組み込みのllamacppプロバイダを使えば、書くのは[[models]]だけです。
active_model = "devstral-local"
enable_telemetry = false
enable_auto_update = false
[[models]]
name = "devstral-small-2"
provider = "llamacpp"
alias = "devstral-local"
temperature = 0.15
supports_images = true
max_context_length = 32768
重要なのはactive_modelの位置です。公式ガイドの最小例はactive_modelを[[models]]の後ろに書いています。TOMLでは、テーブル見出しの後に書いたキーはそのテーブルに属します。そのためこの書き方ではactive_modelがモデル定義の項目として読まれ、全体の設定としては空のままになります。
mistral-vibe 2.26.1を一時環境に入れ、受信内容を記録するだけのOpenAI互換サーバーを8080番で立てて確かめました。公式例のままでは、ローカルへのリクエストは0件でした。CLIは「Missing MISTRAL_API_KEY environment variable for mistral provider」で終了コード1を返し、Mistral APIの既定モデルを使おうとしていました。active_modelを先頭へ移すと、/v1/chat/completionsへmodel名をそのまま載せたリクエストが届きました。ツール定義は9個付き、Authorizationヘッダは無く、記録された費用は0ドルです。
Ollamaにつなぐ場合は、OllamaのOpenAI互換エンドポイント(11434番の/v1)をプロバイダとして足します。OpenAI互換APIからはコンテキスト長を指定できないので、前の章のOLLAMA_CONTEXT_LENGTHをサーバー側で設定しておきます。
active_model = "devstral-local"
[[providers]]
name = "ollama"
api_base = "http://localhost:11434/v1"
api_style = "openai"
backend = "generic"
[[models]]
name = "devstral-small-2:24b"
provider = "ollama"
alias = "devstral-local"
temperature = 0.15
supports_images = true
max_context_length = 32768
Vibeのコンテキスト長と画像入力の設定項目
max_context_lengthとsupports_imagesは省略できますが、ローカルでは書いておくべき項目です。省略するとsupports_imagesはfalseになり、Small 2の画像入力を@で渡せません。max_context_lengthを書かない場合、自動圧縮の閾値は200,000トークンのままでした。サーバー側が32Kで動いていると、圧縮が始まる前に文脈があふれます。32768を指定すると閾値は26,214(80%)に下がり、サーバーの上限より手前で会話が要約されます。サーバーに設定したコンテキスト長と同じ値を書いてください。
外部へ一切通信させたくない場合は、上の例のようにenable_telemetryとenable_auto_updateをfalseにします。外部に接続するMCPサーバーやコネクタは別途止める必要があります。ローカルモデルをほかのエージェントにつなぐ構成は、Pi(pi-coding-agent)をローカルLLMで動かす設定手順やClineとは?VS Code拡張とCLIの使い方・料金・自動承認設定を実装目線で解説でも扱っています。モデルカードは、Vibe以外の接続先としてCline・Kilo Code・Claude Code・OpenHandsを挙げています。
2026年10月時点の採否判断|Devstral Small 2を選ぶ条件
Devstral Small 2を選ぶ価値があるのは、ソースコードを外部APIに出せず、24GB級のGPU1枚で常時動かしたい場合です。受託開発で顧客のコードを外に出せないチーム、従量課金を避けて費用を固定したいチーム、閉域網の検証環境がこれに当たります。Apache 2.0で売上の制限がなく、画像も読め、Vibe CLIのガイドでもローカル推奨モデルの筆頭に挙がっています。
同じローカルでも、80GB級のGPUを複数枚用意できるならMistral Small 4を先に比べてください。Small 4(2026年3月16日公開)はApache 2.0の119B MoE(推論時6.5B)で、Vibeのガイドでもう1つの推奨モデルになっています。ただしHugging Faceの配布ウェイトは1,194億パラメータの大半がFP8で、重みだけで約119GBあります。Vibeのガイドは「H100 80GBを少なくとも1枚」と書いていますが、FP8の重みは80GB 1枚には収まりません。24GBのGPUで扱うなら、CPUへ大きく逃がす前提になります。
Devstral 2(123B)を社内インフラに新しく載せる計画は、ほとんどの企業で見送るべきです。月商2,000万ドル超の企業はライセンス上使えません。該当しない企業でも、追加GPUの費用に見合う改善を自社タスクで確認できない限り、新規導入は勧めません。比べるときはSWE-bench Verifiedの4.2ポイント差だけでなく、ターミナル操作を含む長い作業の差(Terminal Bench 2で10.1ポイント)も材料に入れてください。
Mistral APIで呼びたいなら、Devstralはもう選択肢になりません。既存コードのdevstral-2512指定は動かないので、Medium 3.5へ切り替えるか、Small 2をセルフホストに移します。2026年10月6日にはMistral Large 4もプレビュー公開されましたが、総パラメータ1.05Tでウェイトは公開予定の段階のため、手元のGPUで動かす候補にはなりません。社内のLLM導入で、オンプレミスとAPIのどちらに寄せるかから決めたい場合は、生成AI導入支援で構成の検討から相談を受けています。
よくある質問
Devstralとはどんなモデルですか?
Mistral AIがソフトウェア開発向けに公開しているエージェント型のLLMです。モデルカードは、コードベースの探索、複数ファイルの編集、ソフトウェアエンジニアリング用エージェントの駆動といったツール利用に強いと説明しています。2025年12月公開の第2世代がDevstral 2(123B)とDevstral Small 2(24B)です。
Devstral Small 2のSWE-bench Verified 68.0%は公式の数値ですか?
公式値です。2025年12月9日の発表記事と、Hugging Faceのモデルカードの両方に68.0%と載っています。同じ表のSWE-bench Multilingualは55.7%、Terminal Bench 2は22.5%で、Devstral 2はそれぞれ72.2%・61.3%・32.6%です。
devstral-small-2:24bとdevstral-2:123bはどちらを選べばよいですか?
ほとんどの場合はdevstral-small-2:24bです。Apache 2.0で売上の制限がなく、15GBで24GBのGPU1枚に載り、画像入力にも対応します。devstral-2:123bは75GBあり、Modified MITの月商2,000万ドル条項もかかります。ターミナル操作を含む長い作業の精度が必須で、ライセンス条件とGPUの両方を満たせる場合に限って検討してください。
モデル名末尾の2512は何を意味しますか?
2025年12月版を示すMistralの年月表記です。devstral-small-2507なら2025年7月版です。devstral small 2 2512のように検索されるのは同じDevstral Small 2で、別のモデルではありません。
RTX 3060 12GBでDevstral Small 2は動きますか?
GPUだけでは動きません。Q4_K_Mでも重みが15GBあり、12GBに収まらないためです。Ollamaやllama.cppは収まらない分をCPUへ逃がすので起動はしますが、Mistralのガイドが書くとおり大幅に遅くなります。またOllamaの既定コンテキストは24GiB未満のVRAMで4Kなので、エージェント用途に使うならOLLAMA_CONTEXT_LENGTHも合わせて上げる必要があります。
関連記事
- Pi(pi-coding-agent)をローカルLLMで動かす設定手順|Ollama・llama.cpp・models.json【v1.1対応】
- vLLMとは?PagedAttentionの仕組み・使い方とOllama・TensorRT-LLMとの違いを実装者目線で解説
- GGUFとは?量子化モデルフォーマットの仕組みとGPTQ・AWQとの違い・採用判断を解説【2026年版】
- Mistral Large 4とは:1.05T MoEの仕様・API呼び出し手順・料金と自社運用の判断【2026年10月時点】
- OllamaでCodexをローカルLLM実行する方法|ollama launch codex・chatgpt(旧codex-app)の設定【2026年10月】