2026年9月10日、DeepSeekはDeepSeek-V4.1-Flashをリリースした。新アーキテクチャファミリーの中で最小のメンバーでありながら、前世代のフラッグシップV4 ProをGPQA Diamond、Codeforces、Terminal-Bench 2.1、CyberGymなどのベンチマークで全面的に上回っている。さらに重要なのは、パラメータを積み増して勝ったわけではない点だ。総パラメータ552BのMoEで、入力側はわずか8B、出力側は16Bのみを活性化し、KV CacheのHBM要件は前世代の1/4、SSDストレージは1/8に低減され、初代DeepSeekと比べて約437倍小さくなっている。加えて1Mトークンのコンテキスト、最大384Kの出力、ネイティブな視覚理解、low/high/maxの3段階の思考強度を備え、Flashは『安価な小型モデル』から、Proの主力ワークロードを引き継げるエンジニアリングプロジェクトへと進化した。本ガイドは2部構成である。第1部ではCED非対称アーキテクチャ、KV Cacheと長コンテキストの背後にある原理を分解し、API接続、構造化出力、マルチモーダルの実践コードを示す。第2部ではベンチマークデータの横断比較と選定意思決定マトリクスを展開する。

CED非対称アーキテクチャの分解:入力側8B活性化、出力側16B活性化が意味するもの

Flashの性能飛躍を理解するには、まずそれが置き換えたのが『モジュール』ではなく、Transformerの計算パラダイム全体であることを理解しなければならない。Causal-Encoder-Decoder(CED)は1回の推論を、計算特性がまったく異なる2つの段階に分割する。Encoder段階は入力(prompt、ドキュメント、画像patch、会話履歴)を処理し、双方向に可視なエンコーディングアテンションを採用し、入力側の活性化は約8Bである。Decoder段階は出力を生成し、因果マスク付きの自己回帰アテンションを採用し、出力側の活性化は約16Bである。これが『非対称』の意味である。同一モデル内部で、入力エンコーディング経路と出力生成経路のスパース活性化規模は同じではなく、すべてのトークンを552Bのうちルーティングでヒットした一部のエキスパートに通す単純な話ではない。

なぜこの設計がエンジニアリング上成立するのか。2つの推論曲線から見てみよう。1つ目はprefill曲線である。1回のリクエストでは入力が数千から数万トークンになることが多い(長文ドキュメント、マルチターン履歴、画像patch)が、実際のprefill計算量は行列積に対してより敏感で、単一トークンの状態精度には比較的鈍感である。入力側で8Bのみを活性化することは、prefillの演算しきい値と重み常駐プレッシャーの両方を下げ、長いpromptの初回トークン遅延(TTFT)を大幅に改善する。2つ目はdecode曲線である。出力トークンは1つずつ自己回帰的に生成され、モデルにはより強力な推論、言語構築、指示追従能力が求められるため、出力側の16B活性化がこの品質責任を担う。言い換えれば、Flashは『理解』を軽くし、『生成』を重くする。総パラメータを変えずに、スパース度を段階ごとに再配分している。

メモリ使用量への影響も同様に直接的である。重みはMoEのスパースルーティング問題だが、KV Cacheはトークンごとの状態問題であり、スパースにはできない。入力側の活性化が小さいことは、各入力トークンがエンコーディング経路上で生成する中間状態の次元がより制御可能であることを意味する。新しいキャッシュ表現設計と組み合わせることで、トークンあたりのKV体積は約890 bytesに圧縮され、前世代のV4 Flashは約3514 bytesであった。これは小さな最適化ではない。1Mトークンのコンテキストで3514 bytesで計算すると、単一シーケンスのKVはすでにGB級になる。890 bytesで計算して初めて、超長コンテキストのオンラインサービスが経済的に成立する。

エンジニアリング上で注意すべき最初の落とし穴は、CEDを通常のKV Cache再利用モデルとして最適化しないことである。入力エンコーディング経路と出力生成経路の活性化規模が異なることは、両者の状態セマンティクスが等価ではないことを意味する。段階をまたぐ状態再利用は公式インターフェースの能力に基づくべきであり、独自に仮定してはならない。2つ目の落とし穴は長出力シナリオのメモリピークである。最大384Kの出力は、decode経路がKVとサンプリングバッファを長時間独占することを意味する。バッチ処理スケジューリングを書く際は、『長入力・短出力』と『短入力・長出力』を別々のキューに分け、prefill中心のリクエストがdecodeキューを押し出さないようにすべきである。

552B MoEがなぜ8B/16Bのみを活性化するのか:スパースルーティングとエキスパート分業の鍵となるメカニズム

まずよくある誤解を整理しよう。総パラメータ ≠ 活性化パラメータである。552Bはモデル重みの総量であり、モデルが保存できる知識と能力の上限を決める。8B/16Bは1回のフォワードパスで実際に計算に参加するパラメータ規模であり、トークンあたりの演算とメモリコストを決める。MoEの中核メカニズムはスパースルーティングである。各トークンは少数のエキスパートにのみ割り当てられ、残りのエキスパートは計算に参加しない。したがって552B / 16Bの出力側活性化は、スパース度が極めて高く、単一トークンが重みのごく一部しか通らないことを意味する。

非対称活性化とMoEルーティングを合わせて見ると、Flashのエンジニアリング上の意味は3層ある。

  • 容量とコストの分離。552Bは多言語、コード、数学、視覚など異なる領域の知識を担うのに十分なパラメータをモデルに与える。8B/16B活性化により、トークンあたりのコストは総パラメータに線形に引きずられない。『知識倉庫は非常に大きいが、毎回関連するいくつかの部屋だけを呼び出す』と理解すればよい。
  • 入力側ルーティングは『広く浅く』寄り。入力エンコーディングは意味、構造、視覚patchを内部表現にマッピングするだけでよく、エキスパートの分業は特徴抽出と表現アラインメントに偏るため、8B活性化で大量の入力分布をカバーできる。
  • 出力側ルーティングは『狭く深く』寄り。生成段階では推論、計画、ツール呼び出しパラメータ生成を行う必要があり、エキスパートにはより深い組み合わせとより強い領域特化が求められるため、活性化規模を16Bに引き上げ、より高い演算でより高い品質を得る。

実際の開発における落とし穴も具体的である。第一に、バッチ内の異種リクエストはルーティング効率を下げる。MoEの演算利益はエキスパートヒット分布に依存するため、超長文ドキュメント要約と短い指示Q&Aを同じバッチに混ぜると、エキスパート負荷が著しく不均等になる。タスクタイプごとにバッチ化するか、サーバー側の動的バッチ処理に依存することを推奨する。第二に、思考モードでは出力トークンが膨張する。思考強度が高いほど生成される推論チェーンが長くなり、出力側の16B活性化が繰り返し呼び出されるため、コストは主に出力側で決まる。これが、課金において出力単価(アイドル時4元/百万トークン)がキャッシュミス入力(アイドル時1元/百万トークン)より著しく高い理由でもある。第三に、総パラメータ数でメモリを見積もってはならない。サーバー側のMoEはエキスパートごとの常駐とオンデマンドロードを採用しており、クライアントは並行性とトークンクォータのみを認識する。

KV Cacheを437倍に縮小した方法:890 bytes/tokenの背後にあるアーキテクチャ上のトレードオフ

KV Cacheは長コンテキスト推論の『見えない税』である。処理済みの各トークンはKeyとValueの状態を保持する必要があり、シーケンスが長くなるほどキャッシュは大きくなり、メモリは厳しくなる。公式データは2つの重要な数字を示している。V4.1-Flashは約890 bytes/token、V4 Flashは約3514 bytes/tokenである。トークンあたり約1/4への縮小は、公式が述べるHBM要件が前世代の1/4に低減と正確に対応する。一方、SSDストレージは1/8に低減され、初代DeepSeekと比べて約437倍小さい。これは、トークンあたりの体積だけでなく、キャッシュの階層的なディスク退避と圧縮戦略も体系的に再構築されたことを示している。

比較項目V4 FlashV4.1-Flashエンジニアリング上の意味
KV Cacheのトークンあたり体積約3514 bytes約890 bytes同等のメモリで約4倍のシーケンス長を収容可能
HBM要件ベースライン1/4に低減単一カードでより長いコンテキストまたは高い並行性を処理可能
SSDストレージ要件ベースライン1/8に低減オフラインキャッシュ、コールドシーケンスのディスク退避コストが大幅に低下
初代DeepSeekとの比較約437倍に縮小超長コンテキストが実験的機能から運用可能な能力へ
コンテキスト / 最大出力1M / 384K tokens長文ドキュメント、長レポート、長コードベースのシナリオが実現可能

この縮小は単一のテクニックではなく、アーキテクチャ上のトレードオフの組み合わせから生まれている。確実なのは、CED非対称構造が入力側活性化を8Bに下げ、入力エンコーディング経路の状態次元がより抑制されていることである。 新しい事前学習手法とより大規模な RL 事後学習により、モデルはより低い状態予算でも表現品質を維持できます。さらにキャッシュの階層化と圧縮戦略を組み合わせることで、890 bytes/token という結果が得られます。エンジニアリング上、押さえるべき点は次の 2 つです:

  1. 古いサイズで容量を計画しないこと。チームがまだ V4 Flash 時代の 3514 bytes/token で VRAM と SSD の割り当てを見積もっていると、コストを大幅に過大評価し、コンテキストを 128K から 1M に引き上げる好機を逃してしまう。
  2. 長コンテキストのボトルネックは KV からアテンション計算とデータ転送へ移る。KV が小さくなると、1M コンテキストのボトルネックはより prefill の演算能力とネットワーク/ストレージ帯域に落ちるため、最適化の重点もそれに応じて調整する必要がある。

1M コンテキスト + 384K 出力のエンジニアリング上の意味:長文書と長生成のシナリオでどう使うか

1M tokens のコンテキストとは、技術マニュアル一冊、中規模のコードベース、数時間の会議記録、さらには画像の束までを一度のリクエストに詰め込めるということ;384K の最大出力とは、モデルが完全な長文レポート、複数ファイルのコードパッチ、長い仕様書を一度に生成できるということ。両者を組み合わせれば、Flash はかつて RAG の結合 + 複数ラウンドの続き書きでしか成し得なかったタスクをカバーできる。しかし「詰め込める」は「詰め込むべき」ではない。エンジニアリング上の判断は三つの点にかかっている:コスト、レイテンシ、精度。

  • 長コンテキスト検索:ライブラリ全体を詰め込んで Q&A すれば、ベクトルストアとチャンク分割のロジックを省けるが、入力 token コストは長さに比例して線形に増える。キャッシュミス入力はオフピーク 1 元/百万 tokens、ピーク 2 元で、1M 入力なら一度で 1〜2 元;同じ文書が繰り返しクエリされる場合、キャッシュヒット入力はオフピークでわずか 0.02 元/百万 tokensであり、再利用の価値は極めて高い。
  • 長レポート生成:384K 出力は一発で書き上げる可能性を与えるが、出力は最も高い料金帯(オフピーク 4 元/百万 tokens、ピーク 8 元)。思考強度 low でアウトラインを作り、非思考または低強度で本文を書くことを推奨する。全行程を高強度思考にすると出力 token が爆発するのを避けるためだ。
  • 切り詰め戦略:モデルがすべての内容を自力で覚えていると頼ってはいけない。超長入力に対しては、「タスク指示 + 重要な証拠段落 + 直近のコンテキスト」を優先的に残し、中間の関連性の低い段落を削る;超長出力に対しては、明示的に節ごと、ファイルごとの出力を要求し、切り詰め箇所では対話プレフィックスで続きを書いて継続する。

以下の Python は、長文書 Q&A + 長レポート生成の最小限の実行可能な骨組みを示している。base_url とモデル名に注意してほしい:

import openai

client = openai.OpenAI(
    api_key="your-deepseek-api-key",
    base_url="https://api.deepseek.com"
)

# 1) 長文書 Q&A:1M コンテキスト、複雑な推論には思考強度 high を使う
qa = client.chat.completions.create(
    model="deepseek-flash",
    messages=[
        {"role": "system", "content": "あなたはシニアアーキテクチャレビューの専門家であり、回答は原文の根拠を引用する必要があります。"},
        {"role": "user", "content": long_doc + "\n\nこの設計の拡張性のボトルネックを分析し、三点の改善提案を出してください。"}
    ],
    extra_body={"thinking": {"type": "enabled", "budget": "high"}},
    max_tokens=8192,
    temperature=0.2
)
print(qa.choices[0].message.content)

# 2) 長レポート生成:384K 出力能力、まず low でアウトラインを出してから分割生成
outline = client.chat.completions.create(
    model="deepseek-flash",
    messages=[
        {"role": "user", "content": "テーマ『Flash が Pro を引き継ぐ移行方案』について 8 節の詳細なアウトラインを生成し、各節に 3 つの要点を挙げてください。"}
    ],
    extra_body={"thinking": {"type": "enabled", "budget": "low"}},
    max_tokens=2048
)
print(outline.choices[0].message.content)

落とし穴の注意:1M コンテキストは、すべてのリクエストを 1M に開くべきという意味ではない。サーバー側の並行制限は 2500 であり、すべてのリクエストを極限の長さに押し上げると、prefill が長時間演算能力を占有し、全体のスループットを低下させる。入力長の段階的しきい値(例えば 32K / 256K / 1M の三档)を設け、档ごとに異なるキューとタイムアウト戦略を適用することを推奨する。

思考強度 low/high/max の三档をどう選ぶか:非思考と思考モードのコスト便益

Flash はデフォルトで思考モードを有効にし、low / high / max の三档の強度をサポートし、非思考モードへの切り替えもサポートする。思考モードとは本質的に、正式な回答の前に内部推論を一段生成することであり、強度が高いほど推論チェーンが長くなり、出力 token が増える。そして出力は課金の中で最も高い料金帯である。したがって三档の選択の本質は「どれだけの出力 token をどれだけの正解率と引き換えにするか」である。

モード / 強度適したタスクコスト特性推奨
非思考分類、抽出、フォーマット改写、FIM 補完出力 token が最少レイテンシ重視の第一選択;FIM はこのモードのみ利用可能
思考 low通常の Q&A、アウトライン、軽量なコード生成出力は中程度ほとんどの本番のデフォルト档
思考 high複雑な推論、アーキテクチャレビュー、難問解決出力はやや高め品質が重要なパスで使用
思考 max競技レベルの数学、難解な Bug の特定出力が最高オフラインバッチ処理または低頻度・高価値タスク

Token 予算管理の三つの実践的提案:

  1. タスクごとに強度のホワイトリストを設定する。呼び出し側に max を勝手に渡させないこと。ゲートウェイ層でマッピングできる:分類/抽出 → 非思考、Q&A → low、コードレビュー → high、オフライン難問 → max。
  2. 出力長にハード上限を設ける。モデルが 384K 出力をサポートしていても、業務層で max_tokens を設定し、超過時は一度に最大まで引っ張るのではなく分割続き書きにする。
  3. 「思考 token 比率」を監視する。ある種のリクエストの思考出力が本文をはるかに超えているなら、強度を高く設定しすぎている。档を下げれば通常、大部分のコストを節約でき、品質の損失は限定的である。

deepseek-flash 接続実践:Responses API、Anthropic API と旧モデル名互換ルーティング

移行の第一歩はモデル名の変更である。公式 API のモデル名は deepseek-flash、並行制限は 2500。旧名 deepseek-v4-flashdeepseek-v4-flash-vision-exp はサービスを停止したが、V4.1-Flash への一時的な互換ルーティングは保持されている——つまり短期的には変更しなくても動くが、長期的には必ず切り替えなければならず、そうでなければルーティングの挙動と能力面が制御不能になる可能性がある。また、北京時間 2026-09-14 12:00 以降、deepseek-v4-pro のリクエストはすべて V4.1-Flash にルーティングされ、Flash の価格で課金される。V4.1-Pro が登場するまで続く。これはコストチームにとって朗報である:もともと Pro を通っていたトラフィックが自動的に低コスト化する。

以下はそのまま実行できる移行検証コードで、Responses API と Anthropic 互換エンドポイントをカバーしている:

import openai
import json

client = openai.OpenAI(
    api_key="your-deepseek-api-key",
    base_url="https://api.deepseek.com"
)

# 1) 標準対話:モデル名を deepseek-flash に統一
resp = client.chat.completions.create(
    model="deepseek-flash",
    messages=[{"role": "user", "content": "CED 非対称アーキテクチャの価値を一文で説明してください。"}],
    extra_body={"thinking": {"type": "enabled", "
budget": "low"}},
    max_tokens=512
)
print(resp.choices[0].message.content)

# 2) Responses API:構造化 + ツール呼び出しのシナリオ
resp2 = client.responses.create(
    model="deepseek-flash",
    input=[{"role": "user", "content": "上海の今日の天気を調べて、服装のアドバイスをしてください。"}],
    tools=[{
        "type": "function",
        "name": "get_weather",
        "description": "都市の天気を照会する",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string"}},
            "required": ["city"]
        }
    }],
    extra_body={"thinking": {"type": "enabled", "budget": "high"}}
)
print(resp2.output_text)

# 3) 旧名互換ルーティングの検証:deepseek-flash と等価であるべき
legacy = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "ping"}],
    max_tokens=16
)
print(json.dumps({"legacy_ok": bool(legacy.choices)}, ensure_ascii=False))

re>

エンジニアリング上の落とし穴:同時実行数 2500 はアカウントレベルの制限です。複数のサービスが同じキーを共有すると互いに圧迫し合うため、ビジネスラインごとにキーを分割し、独立したレート制限を設定することを推奨します。旧名互換ルートは一時的な措置です。CI に「モデル名ホワイトリスト」チェックを追加し、新しいコードで deepseek-v4-flash が出現しないように禁止してください。視覚関連のリクエストも vision-exp からメインモデル名へ同期的に移行する必要があります。

JSON Output、Tool Calls、会話プレフィックス継続生成:構造化出力の正しい作法

Flash は JSON Output、Tool Calls、会話プレフィックス継続生成、FIM をサポートしています。四者の位置づけは異なり、組み合わせを間違えるとトークンを浪費し、さらには解析不能な結果を生み出す可能性があります。

  • JSON Output:モデルに直接構造化オブジェクトを出力させ、schema 検証と組み合わせるのに適しています。思考テキストが JSON に混入しないよう、非思考または低強度の思考を使用する必要があります。
  • Tool Calls:外部データや副作用が必要なフローに適しています。モデルが出力するのは呼び出し意図であり、最終回答ではありません。
  • 会話プレフィックス継続生成:長いレポートや長いコードの分割生成に適しています。プレフィックスを与えると、モデルがそれに沿って続きを書き、前の段落のスタイルと構造を自然に引き継ぎます。
  • FIM(Fill-In-the-Middle)非思考モードのみをサポートし、コード補完などのシーンで使用します。思考モードで呼び出さないでください。失敗したり、異常な動作をしたりします。

推奨される組み合わせは、Tool Calls でデータ取得 → 非思考 JSON Output で構造を確定 → 会話プレフィックス継続生成で長文を補完です。以下に、JSON Output とプレフィックス継続生成を組み合わせた実行可能な例を示します:

import openai
import json

client = openai.OpenAI(
    api_key="your-deepseek-api-key",
    base_url="https://api.deepseek.com"
)

# 1) JSON Output:非思考モード、直接構造化結果を生成
resp = client.chat.completions.create(
    model="deepseek-flash",
    messages=[
        {"role": "system", "content": "你只输出 JSON,不要任何解释。"},
        {"role": "user", "content": "从这段话抽取字段:客户名称、金额、截止日期。"}
    ],
    response_format={"type": "json_object"},
    extra_body={"thinking": {"type": "disabled"}},
    max_tokens=256
)
data = json.loads(resp.choices[0].message.content)
print(data)

# 2) 会話プレフィックス継続生成:プレフィックスを与え、モデルに長いレポートの次の節を続けさせる
prefix = "## 第三节 迁移步骤\n1. 全量替换模型名为 deepseek-flash;\n2."
cont = client.chat.completions.create(
    model="deepseek-flash",
    messages=[
        {"role": "user", "content": "继续写完这一节,保持编号与语气一致。"},
        {"role": "assistant", "content": prefix}
    ],
    extra_body={"thinking": {"type": "enabled", "budget": "low"}},
    max_tokens=1024
)
print(prefix + cont.choices[0].message.content)

落とし穴:JSON Output と思考モードを同時に有効にする場合、思考内容が最終 JSON フィールドに入らないことを必ず確認してください。解析に失敗した場合は、まず思考強度を下げるか、schema 検証を追加してリトライしてください。会話プレフィックス継続生成では、プレフィックスが完全な意味単位で終わっている必要があります(たとえばリスト項目マーカーの後)。そうでないと、モデルがプレフィックス内容を繰り返す可能性があります。FIM のシーンでは、思考モードを明示的にオフにしてください。

ネイティブマルチモーダル視覚理解の統合:画像リンク、base64、Files API の3方式比較

Flash は視覚理解をネイティブにサポートしています。画像入力には3つの方式があります:画像リンク、base64 インライン、Files API。旧モデル deepseek-v4-flash-vision-exp はサービスを停止しました。視覚能力はメインモデルに統合されています。一時的な互換ルートは存在しますが、新規プロジェクトでは直接 deepseek-flash を使用すべきです。3者の比較は以下のとおりです:

方式適用シーン利点トレードオフ / 制限
画像リンク公網からアクセス可能な画像、バッチ評価リクエストボディが最小、帯域幅が最も節約できる外部の到達性と安定性に依存し、イントラネット画像は使用不可
base64 インライン単発呼び出し、小さい画像、機密画像外部依存なし、プライバシーを制御可能リクエストボディが画像に比例して膨張し、大きい画像は制限に達しやすい
Files API繰り返し参照する素材、大きい画像、複数画像一度アップロードすれば何度も再利用でき、リクエストボディが軽い追加のアップロード手順とファイルライフサイクル管理が必要

選択ロジックは簡単です:一度きりの小さい画像は base64、公網画像はリンク、繰り返し使うものや大きい画像は Files API。エンジニアリング上の注意:base64 画像は入力トークンとリクエストボディを著しく増大させるため、長コンテキストのシーンではリンクまたは Files API を優先すべきです。複数画像タスクでは、まず解像度と枚数で予算を見積もり、その後ダウンサンプリングするかどうかを決めることを推奨します。視覚リクエストも 1M コンテキストと思考強度制御の恩恵を受けますが、視覚パッチは入力トークンを消費するため、コスト見積もり時にはこの部分も含める必要があります。

ここまでで、第一部では Flash のアーキテクチャ原理、KV Cache 削減の源泉、長コンテキストと思考強度のエンジニアリング上のトレードオフ、そして API 統合、構造化出力、マルチモーダルという3つの実践パスを説明し終えました。おそらくすでに判断できるでしょう:Flash が Pro を引き継げるのは、「理解を軽く、生成を重く、キャッシュを小さく、コンテキストを大きく」するシステム設計によるものであり、単一点のパラメータ積み増しではありません。次の部分では、これらの能力を公式ベンチマークデータに落とし込み、項目ごとに解釈します——GPQA Diamond 90.9、Codeforces 3471、MathArena Apex 65.6、Terminal-Bench 2.1 の 90.6 対 V4 Pro の 87.9、CyberGym の 88.1 対 83.3、そして Terminal-Bench 3.0 30.0、DeepSWE v1.1 74.2、Automation-Bench 54.8 という4つの Agent ベンチマークが何を意味するのか。同時に、価格比較、同時実行計画、オープンソース重みとローカルデプロイ、国家超算互聯網 API 統合、パートナーエコシステム、そして最終的なモデル選定決定マトリクスを提示します。

価格とピーク/オフピーク時間帯の採算:キャッシュヒット 0.02 元からがアーキテクチャ設計にどう影響するか

前段では、DeepSeek-V4.1-Flash の CED 非対称アーキテクチャ、1M コンテキスト、890 bytes/token の KV Cache サイズを詳しく説明しました。この半分では、直接エンジニアリングの帳簿——価格、ベンチマークの含金量、移行パス、デプロイ選定——に入り、「なぜ Flash が Pro を引き継げるのか」を実行可能な意思決定に落とし込みます。

公式価格(100万 tokens あたり、北京時間 2026-09-10 12:00 発効、ピークは月曜から金曜の 9:00-12:00、14:00-18:00、オフピークはピークの半分)は非常に重要です:

課金項目オフピーク価格(元/100万 tokens)ピーク価格(元/100万 tokens)V4 Flash 比の削減率
キャッシュヒット入力0.020.0460% 削減
キャッシュミス入力12約 33.3% 削減
出力48約 11.1% 削減

まず、最も現実的な算数の問題を解いてみましょう。あなたの RAG システムが各リクエストで 100K tokens の安定したプレフィックス(システムプロンプト + ツール定義 + 検索された固定知識チャンク)を運び、さらに 2 K tokens の動的入力1K tokens の出力。プレフィックスがすべてキャッシュにヒットした場合、アイドル時の 1 回あたりのコストはおよそ次のとおりです:100K/1M × 0.02 + 2K/1M × 1 + 1K/1M × 4 = 0.002 + 0.002 + 0.004 = 0.008 元。プレフィックスがまったくヒットしなかった場合は、100K/1M × 1 + 2K/1M × 1 + 1K/1M × 4 = 0.1 + 0.002 + 0.004 = 0.106 元となり、差は約 13 倍です。この倍率関係が示すのは、キャッシュにヒットするかどうかが、モデルの選定そのものよりも請求額の桁を左右するということです。

次にピーク/アイドルスケジューリングを見てみましょう。同じ呼び出しをピーク時間帯に移すと、コストは 0.016 元(キャッシュヒット)または 0.212 元(キャッシュミス)に倍増します。業務がバッチ処理タスク、オフライン評価、ログ要約をアイドルウィンドウ(月曜から金曜の 12:00-14:00、18:00-翌日 9:00、および週末終日)に配置することを許容するなら、時間次元だけで 50% 節約できます。「キャッシュヒット」と「アイドルスケジューリング」という 2 つのレバーを重ねると、理論上は単位コストをピーク時キャッシュミスの約 1/26 まで抑えられます。これが、0.02 元からのキャッシュヒット価格がマーケティング上の数字ではなく、アーキテクチャ設計の制約条件である理由です——それはあなたに prompt を安定し、再利用可能で、プレフィックスが揃った形で書くことを強制します。

キャッシュヒット 60% 値下げのエンジニアリング前提:KV Cache の再利用を最大化するためにプレフィックスをどう設計するか

ヒット 0.02 元とミス 1 元の間には 50 倍の価格差(アイドル枠)があります。KV Cache の再利用は「プレフィックスがトークン単位で完全に一致すること」しか認めず、先頭位置のわずかな揺らぎでも後続すべてが無効になります。実践方法は以下のとおりです:

  • プレフィックスの安定化:システムプロンプト、ロール設定、ツール schema、few-shot 例を固定順序で先頭に置き、バージョン管理して凍結します。先頭にタイムスタンプ、ランダム ID、リクエスト単位の trace を挿入することは禁止です。
  • 動的コンテンツの後置:ユーザーの質問、検索スニペット、現在時刻など変動しやすい内容はすべて安定プレフィックスの後に置き、「1 トークンで全体が乱れる」のを避けます。
  • ツール定義のデジッタ:Tool Calls の JSON schema のキー順、空配列、デフォルト値はすべて安定してシリアライズする必要があります。多くのチームのプレフィックス不一致は、SDK の自動ソートやフィールド省略の不一致に起因します。
  • 検索ブロックの再利用:RAG シナリオでは、高頻度でヒットする知識ブロックを固定段落に結合し、低頻度の内容は別途後置して、安定プレフィックスの長さを最大化します。
  • マルチターン会話のアンカリング:会話プレフィックスを継続する際は、履歴メッセージの順序と区切り文字を一致させ、毎ターン履歴フォーマットを書き換えないようにします。

以下は、安定プレフィックス + 動的テールの方式で API を呼び出し、usage を出力してキャッシュヒット状況を確認する、実際に実行可能な Python の例です:

import openai

client = openai.OpenAI(
    api_key="your-deepseek-api-key",
    base_url="https://api.deepseek.com",
)

# 安定プレフィックス:システムプロンプト + ツール schema + 固定知識ブロック、トークン単位で凍結
STABLE_PREFIX = (
    "あなたはエンタープライズ向け運用アシスタントです。ツール定義は以下のとおりです:\n"
    "[{\"name\": \"restart_service\", \"parameters\": {\"service\": \"string\"}}]\n"
    "固定知識ブロック:DeepSeek-V4.1-Flash は 2026-09-10 にリリース、"
    "552B MoE、CED 非対称アーキテクチャ、入力アクティベーション 8B、出力アクティベーション 16B。\n"
)

def ask(question: str) -> str:
    resp = client.chat.completions.create(
        model="deepseek-flash",
        messages=[
            {"role": "system", "content": STABLE_PREFIX},
            {"role": "user", "content": question},
        ],
        extra_body={"thinking": {"type": "enabled"}},
    )
    u = resp.usage
    print("prompt:", u.prompt_tokens,
          "cache_hit:", getattr(u, "prompt_cache_hit_tokens", None),
          "completion:", u.completion_tokens)
    return resp.choices[0].message.content

if __name__ == "__main__":
    print(ask("KV Cache のサイズ変化を一文で説明してください。"))

要点は、プレフィックスが安定しているほど、再利用回数が多いほど、0.02 元/百万 tokens の恩恵が大きくなることです。公式によると、V4.1-Flash は 1 トークンあたり KV Cache 約 890 bytes、V4 Flash は約 3514 bytes で、HBM 要件は前世代の 1/4、SSD ストレージは 1/8 に低下し、初代 DeepSeek と比べて約 437 倍縮小しています——これは、同じ VRAM でより多くの会話プレフィックスをキャッシュでき、ヒット率をより高くしやすいことを直接意味します。

公式ベンチマークの項目別解説:GPQA 90.9、Codeforces 3471、MathArena Apex 65.6 の価値

公式に公表された主要ベンチマークは、能力次元と限界を項目ごとに分解する価値があります:

  • GPQA Diamond 90.9:大学院レベルの科学 Q&A で、主に深い推論とドメイン知識を評価します。90.9 は第一梯队に入っていますが、このベンチマークは問題数が限られ、記憶汚染のリスクがあるため、実際の研究能力と同一視することはできません。
  • Codeforces レーティング 3471:競技プログラミングのレーティングで、アルゴリズム構築と境界処理能力に対応します。3471 は極めて高いスコアで、制御された問題におけるコード生成とデバッグが強いことを示しますが、競技問題とプロダクションコード(依存関係管理、曖昧な要件、レガシーシステム)には明らかな差があり、エンジニアリング納品品質に直接外挿することはできません。
  • MathArena Apex 65.6:高難度の数学推論。65.6 は高スコアですが満点ではなく、長い連鎖の形式推論では依然として失点することを示しており、思考強度の段階(low/high/max)とツール呼び出しのフォールバックを組み合わせる必要があります。
  • その他の公式数値:Terminal-Bench 2.1 スコア 90.6CyberGym 88.1 で、いずれも V4 Pro の対応する 87.9 と 83.3 を上回っています。

解釈の原則:ベンチマークは能力の下限であり、製品保証ではない。GPQA/Codeforces/MathArena はそれぞれ科学知識、アルゴリズム、数学をカバーしますが、共通点は「単一ターン、閉鎖的、標準解答あり」です。Pro を引き継げるかどうかを本当に決めるのは、Agent 系ベンチマークです。

Agent ベンチマーク比較:Terminal-Bench 2.1 90.6 と CyberGym 88.1 が V4 Pro を超えた示唆

Agent 能力は今回最も硬い証拠です。比較表は以下のとおりです:

ベンチマークV4.1-FlashV4 Pro(対応項目)能力次元
Terminal-Bench 2.190.687.9ターミナル操作、コマンドシーケンス、環境インタラクション
CyberGym88.183.3セキュリティ攻防、脆弱性推論
Terminal-Bench 3.030.0より難しい次世代ターミナルタスク
DeepSWE v1.174.2実ソフトウェアエンジニアリングタスク
Automation-Bench54.8自動化フローオーケストレーション

解釈の要点:Terminal-Bench 2.1 が 87.9 から 90.6 に、CyberGym が 83.3 から 88.1 に向上したことは、Flash がマルチステップのツール呼び出し、状態追跡、エラー回復においてより大きなサイズの Pro を逆転したことを示します。しかし冷静に見る必要があります:Terminal-Bench 3.0 はわずか 30.0 で、より難しい長距離 Agent タスクが依然として弱点であることを示しており、これはまさに低アクティベーション(入力 8B / 出力 16B)が長距離計画にもたらすコストです。DeepSWE v1.1 の 74.2 は、実エンジニアリングタスクが使用可能だが完璧ではないことを示し、Automation-Bench の 54.8 は複雑な自動化オーケストレーションに依然として人手のフォールバックが必要であることを示唆します。結論:Flash は Pro の日常的な Agent 負荷の大半を引き継げるが、超長距離・超高難度タスクにはフォールバック戦略を保持すべきである (思考強度を max に設定するか、V4.1-Pro を待ちましょう)。

V4 Pro から V4.1-Flash への移行:2026-09-14 のルーティング切り替えと課金変更への対応

最も重要なタイミング:北京時間 2026-09-14 12:00 以降、deepseek-v4-pro のリクエストはすべて V4.1-Flash にルーティングされ、Flash の料金で課金されます。これは V4.1-Pro がリリースされるまで続きます。つまり:

  1. ゼロコード移行は可能だが、盲信はできない:モデル名が変わらなければ引き続き呼び出せますが、基盤モデル、挙動特性、出力分布はすでに変わっているため、回帰テストが必須です。
  2. 課金基準の変化:単価の低下は良いことですが、コードでプレフィックスの安定化を行っていない場合、キャッシュミス率が高くなり、移行後に本当にコスト削減できるとは限りません。まずキャッシュの可観測性を導入してください。
  3. 能力境界の変化:Pro 時代に依存していた超長距離推論が劣化する可能性があるため、思考強度、ツール呼び出し、リトライ戦略を再調整する必要があります。
  4. マルチモーダル能力の追加:V4.1-Flash は画像リンク / base64 / Files API をネイティブにサポートするため、以前は視覚専用エンドポイントが必要だったシナリオをメイン経路に直接統合できます。

09-14 より前にカナリアリリースを完了することを推奨します。同じ実リクエスト群を旧名と新名(deepseek-flash)の両方に送り、品質、レイテンシ、キャッシュヒット、コストを比較してから、明示的に deepseek-flash に切り替えるかどうかを判断してください。

重みのオープンソース化とローカルデプロイ経路:Hugging Face の重み、超算インターネット API、2000 GPU クラスタ

公式は Hugging Face で重み(deepseek-ai/DeepSeek-V4.1-Flash)を公開し、技術レポートも添付しています。国家超算インターネットは 2026-09-11 に DeepSeek V4.1 Flash モデル API サービスと重みファイルを公開しました。開発者はワンクリックで API を呼び出すか、重みをダウンロードして二次開発/ローカルデプロイを行えます。公式はまた、オープンソースコミュニティと協力して V4.1-Flash の推論サポートを推進し、より多くのデプロイオプションを模索すると述べており、2000 GPU + ストレージクラスタの大規模デプロイについては公式と相談可能です。

デプロイ選定の推奨:

  • 迅速な検証/中小トラフィック:公式 API(deepseek-flash)または国家超算インターネット API を直接利用。運用コストはゼロ。
  • データコンプライアンス/プライベート化:Hugging Face から重みを取得し、コミュニティの推論フレームワークで自前構築。552B MoE は非対称アクティベーションであっても、VRAM/帯域幅のハードルは低くないため、必ず容量評価を先に行ってください。
  • 超大規模:2000 GPU + ストレージ級クラスタは、MoE 並列の独自チューニングに伴う隠れたコストを避けるため、公式との協業を検討してください。
  • コスト比較:ローカルデプロイの限界費用は、0.02/1/4 元の API 価格と比較する必要があります。自前構築がより割安になるのは、継続的な高負荷かつキャッシュヒット率を高く保つのが難しい場合だけでしょう。

以下は、マルチモーダル + 思考モード + JSON Output の呼び出しパラメータを宣言するための JSON 設定断片です:

{
  "model": "deepseek-flash",
  "base_url": "https://api.deepseek.com",
  "messages": [
    {
      "role": "user",
      "content": [
        {"type": "text", "text": "このアーキテクチャ図を解析して JSON を出力"},
        {"type": "image_url", "image_url": {"url": "https://example.com/arch.png"}}
      ]
    }
  ],
  "thinking": {"type": "enabled", "effort": "high"},
  "response_format": {"type": "json_object"},
  "max_tokens": 4096
}

エンジニアリングの落とし穴とエコシステム接続:並列数 2500、旧モデル停止、WorkBuddy/OpenCode の適応ポイント

導入段階で最も陥りやすい落とし穴は、モデル名、並列数、エコシステム適応に集中しています:

  • 旧モデル名の停止:V4 Flash と V4-Flash-Vision-Exp はサービスを停止しており、deepseek-v4-flash / deepseek-v4-flash-vision-exp は一時的な互換ルーティングで V4.1-Flash に送られるだけです。一時的な互換は過渡的なもので、いずれ削除されるため、できるだけ早くモデル名を deepseek-flash に変更してください
  • 並列数制限 2500:単一アカウントの並列上限は 2500 です。429 リトライによるレイテンシ増幅を避けるため、クライアント側でトークンバケット/セマフォによるレート制限を必ず実装してください。
  • C 端入口の統合:App/Web の「クイック応答/専門相談/画像認識」の 3 入口は単一の対話インターフェースに統合されました。以前は入口の違いに依存していたユーザーには再誘導が必要です。
  • パートナー接続:WorkBuddy(CodeBuddy を含む)と OpenCode は全量接続済みです。これらのプラットフォームでフローがある場合、モデル別名と能力マッピングが公式の切り替えに伴って変更されている点に注意してください。
  • FIM は非思考のみ:FIM 補完は非思考モードでのみサポートされます。設定で thinking を有効にした後は FIM に依存しないでください。
  • 思考 3 段階:low/high/max はレイテンシとコストに影響します。Agent の長タスクには max、日常的な Q&A には low または非思考を使用してください。

まとめとベストプラクティス

  1. まずコストを計算してから選定:キャッシュヒット 0.02 元 vs ミス 1 元は 50 倍の差です。アーキテクチャ設計の第一優先はモデルではなく、プレフィックス再利用率です。
  2. プレフィックスの安定化:システムプロンプト、ツール schema、固定知識ブロックの順序を固定して凍結。動的コンテンツは常に後置。ツール定義のシリアライズはブレを除去する必要があります。
  3. 時間スケジューリングでコスト削減:バッチ処理、評価、要約をアイドル時間帯(月〜金 12:00-14:00、18:00 以降、および週末)に配置。キャッシュヒットと組み合わせると、ピーク時のミスに対して約 1/26 までコストを抑えられます。
  4. ベンチマークの境界を理解する:GPQA 90.9、Codeforces 3471、MathArena Apex 65.6 は能力の下限です。Agent は Terminal-Bench 2.1 90.6、CyberGym 88.1、DeepSWE v1.1 74.2 により、Pro の日常負荷を引き継げることを示しています。
  5. 長距離の弱点を認める:Terminal-Bench 3.0 はわずか 30.0、Automation-Bench 54.8 です。超長距離タスクでは max 思考と人手によるフォールバックを設定してください。
  6. 09-14 の移行節目を守る:deepseek-v4-pro はすべて V4.1-Flash にルーティングされ、Flash 課金になります。事前にカナリア、回帰、キャッシュヒットの観測を行ってください。
  7. 規模別にデプロイを階層化:小トラフィックは API、コンプライアンス要件は Hugging Face 重みで自前構築、超大規模は公式と 2000 GPU クラスタを相談。
  8. 旧モデル名を整理:deepseek-v4-flash / deepseek-v4-flash-vision-exp からできるだけ早く deepseek-flash に切り替え、一時的な互換に賭けないでください。
  9. レート制限と適応:並列上限 2500 には能動的なレート制限が必要。FIM は非思考のみ。C 端入口は統合済み。WorkBuddy/OpenCode は全量接続済み。
  10. 核心的な結論:V4.1-Flash は 552B MoE 非対称アーキテクチャ、890 bytes/token KV Cache、積極的な価格設定により、ほとんどのシナリオで V4 Pro を引き継ぐのに十分です。キャッシュ、スケジューリング、思考段階の 3 つを正しく行うことが、この世代で最も実用的なエンジニアリングの果実です。