DeepSeek V4 Flash APIの使い方(実装コード付き)

Rama Adi Nugraha
執筆者

Rama Adi Nugraha

Katelin Teen
レビュー者

Katelin Teen

最終更新 August 4, 2026

専門家による検証済み
DeepSeekのクジラのロゴの横にコードエディタとターミナルが並ぶイラスト。DeepSeek V4 Flash APIを呼び出す様子を表している

実際に呼び出しているものは何か

deepseek-v4-flashDeepSeekの料金表にある2つのモデルのうち小さい方で、総パラメータ284B/アクティブ13BのMixture-of-Experts型LLMであり、MITライセンスのオープンウェイトを持ち、以前DeepSeek V3.2で取り上げた世代の後継にあたる。

このエイリアスは固定されたスナップショットではなく、常に動き続ける標的だ。DeepSeekの変更履歴には「DeepSeek-V4-Flash-0731に更新されました。呼び出し方法は変更ありません」とあり、常に最新のビルドを使うことになり、古いバージョンを固定する公開された方法はない。

設定に必要なものはすべて1ページにまとまっており、コードを1行書く前に一度見ておく価値がある。ベースURLも料金も両方とも同じ表に載っているからだ。

DeepSeekのModels & Pricingページ。両方のベースURL、100万トークンのコンテキストウィンドウ、384Kの最大出力、そしてdeepseek-v4-flashとdeepseek-v4-proの100万トークンあたりの正確な料金を示す。DeepSeekより
DeepSeekのModels & Pricingページ。両方のベースURL、100万トークンのコンテキストウィンドウ、384Kの最大出力、そしてdeepseek-v4-flashとdeepseek-v4-proの100万トークンあたりの正確な料金を示す。DeepSeekより

このスクリーンショットの中の2点が、あなたのアーキテクチャの大部分を決める。料金表には両方のモデルで100万トークンのコンテキストと384Kの最大出力が記載されているので、FlashとProの価格差はコンテキストウィンドウのトレードオフではない。そしてthinkingモードは両モードに対応し、thinkingがデフォルトになっていると記載されており、これはコストの観点でAPI全体の中で最も高くつくデフォルト設定だ。

この後すぐに計算することになるので、同じ表を数値として載せておく。

課金項目(100万トークンあたり)deepseek-v4-flashdeepseek-v4-pro
入力、キャッシュヒット$0.0028$0.003625
入力、キャッシュミス$0.14$0.435
出力$0.28$0.87
同時実行数の上限2,500500
Responses API✗ (2026年8月上旬)

Flashはキャッシュミス入力と出力のレートで見ると、Proのおよそ3分の1に収まっている。どちらも100万トークンあたりの単価だ。この話の気まずい部分を知りたいなら、DeepSeek自身のagentic系のスコアでは安い方のティアが今のところ高い方を上回っている。これについてはFlash vs V4 Proで別途掘り下げている。

他のモデルと比べてどう位置づけられるかについては、Flash vs Kimi K3Flash vs GPT-5.6がある。Qwen 3.7 Flashとの名前の衝突は残念だが、私のせいではない。

始める前に

前提条件は4つ、そのうち変わっているのは1つだけだ。

  1. アカウントとキー。 キーはplatform.deepseek.com/api_keysで作成する。直書きせず環境変数から読み込むこと。DeepSeek自身のサンプルもそうしている。
  2. 素のOpenAI SDK。 pip3 install openaiまたはnpm install openai。DeepSeek専用のパッケージはどこにも存在せず、それこそが互換レイヤーの意味そのものだ。
  3. 事前にアカウントへの入金。 DeepSeekは前払い制で、これが実際に痛い目を見る前提条件だ。402 - Insufficient Balanceはセットアップ時、つまり実際に気づけるタイミングでは来ない。認証は成功し、最初の呼び出しも成功し、そして残高がゼロになった瞬間に失敗が現れる。バッチループの場合、任意の行インデックスで支払いエラーが発生し、部分的にしか完了しないことを意味する。
  4. 使いたいモデル文字列を把握しておくこと。 DeepSeekのドキュメントのコードサンプルはすべてdeepseek-v4-proをハードコードしている。それをコピーしてFlashの料金を期待すると、入力と出力の両方で3.11倍課金されることになる。

ホストは1つではなく3つあり、ドキュメントはそれぞれ別のページに分散している。

ベースURL用途
https://api.deepseek.comOpenAI互換のChat Completions、およびResponses API
https://api.deepseek.com/anthropicAnthropicメッセージ形式、x-api-key認証
https://api.deepseek.com/betaベータ機能:prefix補完とツール呼び出しのstrictモード

現行のドキュメントに/v1というバリエーションは存在しない。古いチュートリアルでこのサフィックスを見たことがあるとしても、今の設定表には単純に存在しない。

ステップ1:最初の呼び出し

モデル文字列をFlashに切り替え、thinkingはDeepSeekのデフォルトのままにしたPythonコードがこちらだ。デフォルト設定が実際に何をしてくるのかが分かるようにしてある。

Python
# pip3 install openai
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get('DEEPSEEK_API_KEY'),
    base_url="https://api.deepseek.com")

response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[
        {"role": "system", "content": "You are a helpful assistant"},
        {"role": "user", "content": "Hello"},
    ],
    stream=False,
)

print(response.choices[0].message.content)
print(response.usage)

通信フォーマットで見たい場合のために、同じ内容をcurlでも示す。

Bash
curl https://api.deepseek.com/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${DEEPSEEK_API_KEY}" \
  -d '{
        "model": "deepseek-v4-flash",
        "messages": [
          {"role": "system", "content": "You are a helpful assistant."},
          {"role": "user", "content": "Hello!"}
        ],
        "stream": false
      }'

最初の呼び出しでは、contentだけでなくresponse.usageも出力すること。これがこの後説明する内容を確認する唯一の方法だ。

ステップ2:thinkingをオフにするか、課金されていると自覚するか

thinking.typeenableddisabledを受け付け、APIリファレンスではデフォルトがenabledとされている。reasoning_effortlowhighmaxを受け付け、同じページには「デフォルトのeffortはhigh」とある。最初の呼び出しでこれらを設定する人はまずいない。つまりあなたのhello-worldはhighの推論effortで動き、chain of thoughtが出力レートで課金されていたということだ。

オフにするには引数を1つ渡すだけで、それはextra_bodyの中に入れる。OpenAI SDKにはネイティブのthinkingフィールドが存在しないためだ。

Python
response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "Summarise this ticket in one line: ..."}],
    extra_body={"thinking": {"type": "disabled"}},
)

オフにするのではなく下げる場合、Flashは兄弟モデルに対して本当のアドバンテージを持つ。公開されているeffortマッピングは、リクエストした値をモデルごとに変換する。

リクエストしたeffortdeepseek-v4-flashが実際に使う値deepseek-v4-proが実際に使う値
lowlowhigh
highhighhigh
xhighhighmax
maxmaxmax

1行目は2回読んでほしい。lowはFlashでは本当にlowだが、Proでは黙ってhighに格上げされるため、現時点では安く済むPro実行というものはそもそも存在しない。Flashには3行目に独自の癖があり、xhighhighに丸められてしまうため、highより上でmaxより下を要求しても結局highになるだけだ。DeepSeekは脚注で「deepseek-v4-proの実際のマッピングeffortは2026年8月上旬に更新予定」としており、それはまさに今なので、気になるならProの列を再確認してほしい。

thinkingをオンのままにしておくと、人をはめる副作用が2つある。1つ目は、thinkingモードガイドによると、thinkingモードはtemperaturetop_ppresence_penaltyfrequency_penaltyをサポートしておらず、DeepSeekは「これらのパラメータを設定してもエラーにはならないが、効果もない」と明言している。2つ目は、chain of thoughtはreasoning_contentという別フィールドで返ってくるため、.message.contentだけを出力するスクリプトでは回答だけが見え、お金を払ったトークンは一切見えない。

ここまで動く部分が多いと、請求額を推測で済ませるのは得策ではない。自分の数字を当てはめてみてほしい。

ステップ3:ストリーミングしながらトークン数を保持する

ストリーミングは引数1つで済む。ストリームから使用量データを取り出すのはもう1つの引数で、これを忘れて、なぜすべてのチャンクがusage: nullを返すのか悩む人がいる。

Python
stream = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "Draft a refund reply."}],
    stream=True,
    stream_options={"include_usage": True},
    extra_body={"thinking": {"type": "disabled"}},
)

for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")
    if chunk.usage:
        print("\n", chunk.usage)

include_usageをオンにすると、data: [DONE]の直前に1つ余分なチャンクが届き、空のchoices配列とともにリクエスト全体のトークン数を運んでくる。APIリファレンスには、streamがtrueのときにだけ設定するようにと書かれている。

SDKを使わず自前でSSEパーサーを書いている場合、もう1つ指摘しておく価値のある点がある。リクエストがキャパシティ待ちの間、接続にはパディングが挿入される。レート制限ページによれば、非ストリーミングリクエストは「継続的に空行を返し」、ストリーミングリクエストは: keep-aliveのSSEコメントを返す。空行をボディの終わりとして扱ったり、:で始まる行をスキップしなかったりする自作のリーダーは、まさにここで壊れる。さらに、10分経っても推論が始まらない場合、サーバーは単に接続を閉じてしまう。

ステップ4:マルチターン、APIは何も覚えていないから

この点についてDeepSeekはかなり率直だ。マルチラウンドガイド/chat/completionsを「ステートレス」なAPIと呼び、「サーバーはユーザーのリクエストのコンテキストを記録しないことを意味する。したがってユーザーはこれまでの会話履歴をすべて連結し、リクエストのたびにchat APIへ渡す必要がある」としている。

つまり会話履歴を管理するのはあなた自身だ。

Python
messages = [{"role": "user", "content": "What's the highest mountain in the world?"}]
response = client.chat.completions.create(model="deepseek-v4-flash", messages=messages)

messages.append(response.choices[0].message)          # round 1 answer
messages.append({"role": "user", "content": "What is the second?"})
response = client.chat.completions.create(model="deepseek-v4-flash", messages=messages)

毎ターン全履歴を送り直すというのは破滅的に聞こえるし、実際そうなるはずなのだが、ここでまさに料金体系が面白くなる。ディスク上のコンテキストキャッシュは全ユーザーにデフォルトで有効になっており、コード変更は不要で、キャッシュヒット入力レートはミスの$0.14に対して$0.0028だ。同じトークン数で見ると、50倍の開きになる。

100万入力トークンあたり$0.14のキャッシュミスレートと$0.0028のキャッシュヒットレートを対比させた手描き風の棒グラフ。ヒットが成立する3つの条件も添えている
100万入力トークンあたり$0.14のキャッシュミスレートと$0.0028のキャッシュヒットレートを対比させた手描き風の棒グラフ。ヒットが成立する3つの条件も添えている

キャッシュは自動なので、調整するつまみは存在せず、あなたのプロンプト構造そのものがつまみになる。どちらのレートで課金されるかは、いくつかの仕組みで決まる。

  • リクエストが永続化されたキャッシュプレフィックスユニット完全に一致した場合のみ、ヒットレートで課金される。ユニットの部分的な一致はカウントされず、DeepSeekはこれをSliding Window Attentionの仕組みによるものとしている。
  • キャッシュガイドによれば、ユニットはリクエストの境界、リクエスト間の共通プレフィックス検出時、そして長い入力に対する一定トークン間隔で永続化される。
  • 呼び出しごとの内訳は確認できる。usageにはprompt_cache_hit_tokensprompt_cache_miss_tokensが含まれている。
  • キャッシュはベストエフォートであり、ヒット率は保証されず、使われないエントリは「通常数時間から数日以内」にクリアされる。

実践的には、システムプロンプトはバイト単位で同一に保ち、履歴は書き換えずに追記し、リクエストごとに変わるものは末尾に置く。タイムスタンプやシャッフルされたナレッジベースのスニペットをプロンプトの先頭に注入するのは、チームがうっかり50倍払ってしまう典型的な原因であり、キャッシュの挙動は請求書の脚注ではなく、れっきとしたプロンプトエンジニアリングの課題になる。

これが最も痛いのはRAGで、取得されるチャンクが設計上、呼び出しのたびに変わるからだ。それを構築しているなら、次に読むべきはサポートRAGパイプラインの解説と、RAG vs 生のLLMの比較記事の2本だと思う。

ステップ5:ツール呼び出しと、あなたを混乱させる400

toolsの形式は標準的なOpenAIのもので、関数は128個までという上限があり、関数名は64文字までに制限されている。

Python
tools = [
    {
        "type": "function",
        "function": {
            "name": "get_order_status",
            "description": "Look up an order's shipping status by order ID.",
            "parameters": {
                "type": "object",
                "properties": {
                    "order_id": {"type": "string", "description": "The order ID, e.g. A-10293"}
                },
                "required": ["order_id"]
            },
        }
    },
]

tool_callsはassistantメッセージ上に配列として返り、argumentsはdictではなくJSON文字列として届く。DeepSeekのエージェントループのサンプルでは、モデルが完了したときのループ終了シグナルはtool_callsNoneになることだ。ツール呼び出しガイドも、それでも間違える人がいる当たり前の点をわざわざ明記している。「モデル自体が具体的な関数を実行するわけではない」と。

ここからはどこかに刻んでおく価値がある部分だ。thinkingモードの通常のルールでは、中間のreasoning_contentは「コンテキストの連結に参加する必要はない」とされ、渡したとしても無視される。ところがtoolsを追加すると、これが逆転する。

Please note that for requests carrying the tools parameter, the reasoning_content must be fully passed back to the API in all subsequent requests. If your code does not correctly pass back reasoning_content, the API will return a 400 error.

2つのメッセージチェーンの比較。toolsなしではreasoning_contentブロックは無視されるが、toolsがある場合は送り返さないとAPIが400を返す
2つのメッセージチェーンの比較。toolsなしではreasoning_contentブロックは無視されるが、toolsがある場合は送り返さないとAPIが400を返す

これが罠になるのは、ほとんどの人がたどり着くツール呼び出しガイドとは別のページに書かれているからであり、また自然に書いてしまうシリアライザーがrolecontenttool_callsだけを保持し、認識しないフィールドを捨ててしまうからだ。代わりに、メッセージオブジェクト全体をそのまま追記すること。

Python
messages.append(response.choices[0].message)   # keeps reasoning_content intact
for tool in response.choices[0].message.tool_calls:
    result = TOOL_MAP[tool.function.name](**json.loads(tool.function.arguments))
    messages.append({"role": "tool", "tool_call_id": tool.id, "content": result})

もう一つ。DeepSeekは「parallel tool calls」という表現を一度も使っておらず、Chat Completions側にparallel_tool_callsというパラメータも存在しない。ただし公式のループは[0]を取るのではなく配列を反復処理している。だからループを書くこと、保証を前提にしないこと。これはAIエージェントと呼べるものすべての裏側にある仕組みなので、エージェント的な振る舞いを上に重ねる前にきちんと押さえておく価値がある。

スキーマの強制が必要なら、strictモードは存在するが、ベータホスト側にある。要件は3つ。base_url="https://api.deepseek.com/beta"、各function内に"strict": true、そしてすべてのオブジェクトにadditionalProperties: falseと、すべてのプロパティをrequiredに指定すること。minLengthmaxLengthminItemsmaxItemsはサポートされていない。DeepSeek自身のサンプルはJSON Schemaの$defsではなく単数形の"$def"を定義コンテナとして使っている点は知っておく価値があるので、そのままの綴りをコピーすること。

ステップ6:JSON出力

response_format={'type': 'json_object'}を使う。ここにはjson_schemaのバリエーションは存在しない。DeepSeekの4点の注意事項は短いが、どの項目も重要だ。パラメータを設定すること、systemまたはuserプロンプトに「json」という単語を含めかつ欲しい形の例を示すこと、「JSON文字列が途中で切り詰められるのを防ぐ」ためにmax_tokensを適切に設定すること、そして「APIが時折空のコンテンツを返すことがある」と知っておくこと。

最後の1点は既知の未解決バグで、DeepSeek自身のページに太字で書かれており、彼らが提示する緩和策はプロンプトを変えることだけだ。だから防御的にパースすること。

Python
response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[
        {"role": "system", "content": 'Extract intent and urgency as json. Example: {"intent": "refund", "urgency": "high"}'},
        {"role": "user", "content": ticket_body},
    ],
    response_format={'type': 'json_object'},
    max_tokens=400,
    extra_body={"thinking": {"type": "disabled"}},
)

raw = response.choices[0].message.content
parsed = json.loads(raw) if raw and raw.strip() else None

DeepSeek自身のJSONサンプルは、自らの要件3で求めているにもかかわらずmax_tokensを一切設定していないことに注意してほしい。設定すること。

Responses APIと、それができないこと

現時点でResponses APIがサポートするモデルはFlashだけだ。DeepSeekの説明には「現在はdeepseek-v4-flashモデルのみをサポート」とあり、Proのサポートは2026年8月上旬に予定されている。存在理由はほぼ1つで、DeepSeekはそれを率直に述べている。「Codexの需要に応えるため」だ。

Python
response = client.responses.create(
    model="deepseek-v4-flash",
    instructions="You are a helpful assistant.",
    input="Hi, how are you?",
)
print(response.output_text)

ここで期待が崩れる。他の場所でResponses APIを知っているなら、それはステートフルなものとして知っているはずだ。DeepSeekの実装はステートレスだ。previous_response_idconversationは「サポート対象外(ステートレスAPI)」、storeは「サポート対象外。レスポンスは常にstore: falseを持つ」とされ、backgroundmetadataincludepromptstream_optionsもすべてサポートされていない。

そしてこれらはエラーにならない。互換性テーブルにあるDeepSeek自身の一文をそのまま引用する。「サポートされていないパラメータは黙って無視され、エラーは発生しないため、既存のResponses APIクライアントは変更なしで接続できる」。store: trueを渡せば、200が返ってきて、何も保存されない。

Chat Completionsに対して実際に追加されるものを知っておく価値はある。chain of thought専用のresponse.reasoning_text.deltaチャンネルを含む型付きのセマンティックSSEイベント、サーバーサイドのweb_searchビルトインツール、そしてtop_logprobsだ。ただしビルトインツールの棚はちょうど2つだけで、web_searchapply_patchfile_searchcode_interpretercomputer_useMCPはすべて無視される項目として挙げられている。

移行時の落とし穴が2つある。data: [DONE]という終端シグナルが存在しないので、response.completed / response.incomplete / response.failedで終了判定すること。そしてinput_imageパートはエラーにならず、「プレースホルダーテキストに置き換えられる」。これはFlashがマルチモーダルではなくテキスト専用であることと整合している。

実際に遭遇するエラーへの対処

文書化されているコードは7つで、それ以外はない。Retry-Afterヘッダーもなく、公開されているバックオフのスケジュールもどこにもないので、判断するのはあなたのラッパー側だ。

コード意味対処法
400 - Invalid Formatリクエストのボディが不正な形式コードを直す。tools使用時にreasoning_contentが欠けている場合もこのコードになる
401 - Authentication FailsAPIキーが間違っているキーを直す
402 - Insufficient Balance前払い残高が空人に通知して停止する。リトライしないこと
422 - Invalid Parametersボディの形式は正しいがが不正コードを直す
429 - Rate Limit Reached同時実行数の上限に到達バックオフしてリトライする
500 - Server ErrorDeepSeek側の問題少し待ってリトライする
503 - Server Overloadedトラフィック過多少し待ってリトライする

400と422の区別は本物で、実際に役立つ。400はボディの形式が不正で、422は形式は正しいがパラメータの値が不正だ。デバッグの道筋はまったく異なり、どちらなのかはエラーメッセージが教えてくれる。

429については一言添える価値がある。DeepSeek自身が文書化している対処法は珍しく率直だ。「リクエストのペースを適切に調整してください。また、OpenAIのような代替のLLMサービスプロバイダーのAPIに一時的に切り替えることも推奨します」。ベンダーが自社のエラードキュメントの中で競合他社を推奨するのは、ピーク時のキャパシティについての本物のシグナルであり、冗談として片付けるのではなく、フォールバックパスを設計しておく価値がある。

制限そのものについて言うと、DeepSeekはRPMもTPMの数値も一切公開していない。唯一の上限は同時実行数で、レート制限ページではキー単位ではなくアカウント単位でカウントされるため、キーを追加で発行しても何も得られない。「リクエストは送信された時点からモデルの応答が完了するまで、1つの同時接続としてカウントされる」ため、長い推論呼び出しはその間ずっと1枠を占有する。Flashは2,500枠、Proは500枠で、拡張は無料だが手動のFeishuフォームを通す必要がある。

マルチテナントのトラフィックを扱っているなら、user_id(OpenAIのuserではないことに注意)をextra_body={"user_id": "..."}として渡すこと。これはコンテンツ安全性レビュー、ユーザーごとのスケジューリング分離、そしてプライバシーのためのKVキャッシュ分離を担う。フォーマットは[a-zA-Z0-9\-_]、最大512文字で、DeepSeekはここにユーザーのプライバシー情報を入れないよう警告している。これはまた、テナントをまたいだプロンプトインジェクションの被害範囲に対する唯一の対抗手段でもあり、実際のユーザーが入力し始めると聞こえる以上に重要になる。

黙って失敗する5つのこと

このAPIのすべての落とし穴はHTTP 200を返す。それがここでの通底テーマであり、差分をチェックできる1つのリストにまとめる価値がある。

DeepSeek APIが受け付けるが無視する4つのパラメータを示す図。それぞれHTTP 200を返し、効果はない
DeepSeek APIが受け付けるが無視する4つのパラメータを示す図。それぞれHTTP 200を返し、効果はない
  1. frequency_penaltypresence_penaltyは非推奨。 どちらもAPIリファレンスに同じ一文がある。「このパラメータはサポートされなくなりました。APIに渡しても効果はありません」。OpenAI用の呼び出しを移植するときは取り除くこと。
  2. temperaturetop_pはthinkingモードでは無効で、そしてthinkingモードがデフォルトだ。temperature=0.2でプロンプトを調整して移植したなら、実際にはthinkingモードが決める挙動で動いていることになる。
  3. サポート対象外のResponses APIフィールドは黙って無視される。 storeprevious_response_idconversationbackground。毎回200が返る。
  4. Anthropicエンドポイントで認識されないモデル名はFlashになる。 Anthropic APIガイドによれば、サポート対象外のモデル名は「自動的にdeepseek-v4-flashモデルにマッピングされる」。claude-opus*はProに、claude-sonnet*claude-haiku*はFlashにマッピングされる。DeepSeekはこれをClaudeクライアントを自社APIに向けるための機能として売り込んでおり、実際そうなのだが、タイプミス1つで評価がどのモデルに対して実行されたかが黙って変わってしまうまでの話だ。
  5. cache_controlはAnthropicエンドポイントでは無視される。 tools、テキストブロック、tool_usetool_resultなど、どこに現れても同じだ。代わりにDeepSeek自身のディスクキャッシュが動くため、宣言すべきものは何もないが、Anthropicから移植したコードは明示的なキャッシュのブレークポイントを、何の警告もなく失うことになる。

6つ目を付け加えるなら、これは正直DeepSeekのせいとは言えない。finish_reasonにはOpenAIにはない値、insufficient_system_resourceがあり、推論システムのキャパシティによってリクエストが中断されたときに返される。stop/length/tool_callsしか知らないハンドラーは、途中で切れた回答を完全なものとして扱ってしまう。

これは顧客チケットに回答すべきか?

これは実際によく聞かれる質問で、正直な答えとしてはAPIは全体の中で簡単な部分でしかない。モデルに返信させるところまでは週末で終わる。実際のキューの近くに置いても大丈夫だと言えるAIサポートエージェントを作るのは、そうはいかない。

自社製品の中で実際に見た失敗の話をしよう。これはどんなベンチマークよりも示唆に富む。eeselが本番環境で観測した最悪の失敗モードは、モデルが拒否することでも、タイムアウトすることでもなかった。それはエージェントが成功をでっち上げることだった。実際にはAPIを一度も叩いていないのに「Zendeskの検索を実行中」と10ターンほど語り続け、存在しないファイルを保存したと報告し、指標をでっち上げていた。私たちがそれに気づけたのは、探していたからにすぎない。何をしたかについて嘘をつくことほどチームメイトを台無しにするものはない。そしてこの失敗の形にも注目してほしい。これもまた200に見えていたということを。

これはこの記事全体と同じ教訓だ。生のモデル呼び出しが成功したところで、その回答が実際に正しかったかどうかについてはほとんど何も分からない。独立したテストによれば、Flashのハルシネーション率は84%で、前世代から12ポイント改善しているものの、「顧客に向けて放置していい」水準にはまるで届いていない。スコアも、意図的に設定したとは限らない設定次第で、非推論の29からmax effortの50まで振れる。

つまり、実際の仕事をしているのはモデルの上に載っているレイヤーだということだ。検証済みのソースへのグラウンディング、推測ではなく辞退できる信頼度スコア、きれいなエスカレーションパス、そして重要な事柄をレビューする人間。

これらすべての詳しいバージョンが読みたければ、ハルシネーションの防止敵対的テストを別途まとめている。

次にデータの問題がある。ここは煽るのではなく、正確に書きたい。DeepSeekのOpen Platform利用規約は有料APIを規定しており、あなたの入力のトレーニング利用については沈黙している。これは許可しているのとも、安全であるのとも違う。コンシューマー向けの利用規約には§4.3にオプトアウトのトグル付きの明示的な条項があるが、API専用の文書はその条項の手前で止まっている。公開されたDPAもゼロ保持オプションもどちらも存在せず、データ自体は中国の法律の下に置かれる。

Slackのポリシー明確化を経験したことがあるなら、これがセキュリティ担当者にどう映るか分かるはずだ。顧客データを近づける前にSOC 2とGDPRのガイドと合わせて読み、そもそもどんなデータを送ることになるのかを考える価値がある。

それがどれも受け入れられないなら、MITライセンスの重みが現実的な逃げ道になる。ファインチューニングも含めてセルフホストでき、ライセンスは商用利用を許可している。

すべきかどうかは自作か購入かという問いであり、両方を出荷してきた私の正直な見解では、サポートチームの制約になるのはほとんどの場合モデルへのアクセスではない。実際にうまくいくかどうかを決めるのは、インテグレーションの深さとエスカレーションの質だ。

eeselを試す

Flashをヘルプデスクに組み込もうとしてここにたどり着いたなら、APIはそのプロジェクトの5%ほどにすぎない。残りの95%はモデルが間違ったときに何が起こるかであり、そこは二度作り直してほしくない部分だ。

eeselはその95%を製品化したものだ。すべての返信をあなたの検証済みナレッジ、つまりヘルプセンターの記事、過去のチケット、マクロ、連携ドキュメントに根拠づけたうえで、本番稼働前に最も重要なことを行う。あなた自身の過去のチケットに対するシミュレーションだ。これにより、ベンチマークの数字ではなく、実際のキューでの実際の精度が分かる。デプロイするのは、どこかのリーダーボードが言うからではなく、あなた自身の基準をクリアしたときだ。料金は対応チケット1件あたり40セント、席料なし、人間が対応したチケットに課金されることは一切ない。つまり月間1,000件のチケットのうち200件をAIに回すなら、200件分だけ支払う。50ドル分の無料利用枠があり、クレジットカードも不要で、すべてのインテグレーションが無料プランで使える。

eeselのレポートビュー。30日間のタスク量、種類別に分解されたトリガーイベント、ツールアクションごとの承認・却下の利用状況を示す
eeselのレポートビュー。30日間のタスク量、種類別に分解されたトリガーイベント、ツールアクションごとの承認・却下の利用状況を示す

この「ツールごとの承認・却下の利用状況」パネルは、先ほどの成功のでっち上げ問題に対する直接的な答えだ。エージェントが取るすべてのツールアクションは数えられ、レビューできるので、ヘルプデスクを検索したというエージェントの主張は、信じるしかない文章ではなく、確認できる1行になる。

言い換えれば、生のAPIはインフラにすぎない。サポートマネージャーが本当に必要としているのは、従業員だ。

トークンの計算を成果あたりの計算と照らし合わせたいなら、まずAIカスタマーサービスのコストから始めて、次に実際に予算に現れる単位である解決あたりのコストを見てほしい。

CSATを台無しにせずにコストを削減するサポート自動化のあり方もある。それは100万トークンあたりのコストからではなく、チケットあたりのコストから始まる。

よくある質問

DeepSeek V4 Flash APIを初めて使うにはどうすればいいですか?
標準のOpenAI SDKをインストールし、base_urlhttps://api.deepseek.comに向け、DEEPSEEK_API_KEYからキーを設定して、model="deepseek-v4-flash"を渡す。DeepSeek専用のパッケージは存在しない。最初の呼び出しで唯一追加すべきなのがextra_body={"thinking": {"type": "disabled"}}で、これはthinkingモードがデフォルトで有効になっており、その推論出力が出力レートで課金されるためだ。
DeepSeek V4 Flash APIの料金はいくらですか?
Flashはキャッシュミス入力トークン100万あたり$0.14、キャッシュヒット入力トークン100万あたり$0.0028、出力トークン100万あたり$0.28だ。上位モデルとの比較を含む詳細な料金内訳はFlash vs V4 Proの比較記事にまとめている。トークン単価をサポート予算に換算するなら、解決あたりのコストの方が実用的な単位だ。
DeepSeek V4 Flash APIはツール呼び出しとJSON出力に対応していますか?
両方とも標準的なOpenAI形式に対応している。関数呼び出しにはtools、JSONにはresponse_format={'type': 'json_object'}を使う。落とし穴は、toolsを渡す場合、後続のターンでreasoning_contentを送り返さないとAPIが400を返すことだ。これをヘルプデスクに組み込むなら、サポートチャットボット構築ガイドでモデルの上位層を解説している。
DeepSeek V4 Flash APIのレート制限は?
DeepSeekはRPMやTPMの数値を公開していない。唯一の上限は同時実行数で、Flashは2,500件、Proは500件の同時進行リクエストまでで、これはキー単位ではなくアカウント単位でカウントされる。超えると429が返る。拡張申請は無料だが、手動フォームを通す必要がある。
DeepSeek APIは顧客データにとって安全ですか?
DeepSeekのOpen Platform利用規約は、有料API入力のトレーニング利用について許可しているわけではなく、単に沈黙しているだけで、公開されたDPAもゼロ保持オプションもどちらも存在しない。実際のチケットに関わるなら、SOC 2とGDPRについての解説や、Slackがポリシーを明確化した際に何が起きたかを読んでほしい。eesel自身の姿勢はセキュリティページに記載している。
APIを使わずにDeepSeek V4 Flashを自分でホストできますか?
できる。重みはMITライセンスでHugging Faceに公開されており、セルフホストは現実的な選択肢で、Flashがオープンソースエージェントスタックに登場する理由の一つでもある。運用の手間に見合うかどうかは、古典的な自作か購入かという問いであり、カスタムAIモデルについての私たちの見解では、ほとんどのサポートチームはやるべきではない。
DeepSeek V4 Flashは顧客チケットに直接回答すべきですか?
生のままではだめだ。モデルのベンチマークスコアは、あなた自身のチケットでどう振る舞うかについては何も語らない。だからこそ信頼度しきい値グラウンディングヒューマンインザループの方がモデル選びより重要になる。eeselは本番稼働前に過去のチケットに対してシミュレーションを行うので、顧客より先に実際の精度を確認できる。

Share this article

Rama Adi Nugraha

Article by

Rama Adi Nugraha

Rama is a software engineer at eesel AI with two years of experience writing about B2B SaaS, AI tools, and customer support technology. Based in Bali, Indonesia, he brings a developer's perspective to product comparisons — cutting through marketing copy to what the integrations and APIs actually do.

Related Posts

All posts →
開発者がモデルカードを選んでいる様子。中央にDeepSeekのクジラのカード、周囲に競合モデルのカードが並んでいる
Alternatives

2026年、DeepSeek V4 Flashの代替ベスト8選

実在する8つのDeepSeek V4 Flashの代替を、数字で比較する。価格や速度を理由に乗り換える人はいないので、Flashが実際に抱える4つのギャップでランキングした。

Kurnia Kharisma Agung SamiadjieKurnia Kharisma Agung SamiadjieAug 4, 2026
Cassidy AIの料金を解説するイラストのヒーローバナー
Guides

Cassidy AIの料金:自社ドキュメントに隠れていた79ドル

Cassidyの料金ページには金額の記載が一切ありません。しかし、Cassidy自身のドキュメントに埋もれたスクリーンショットには月額79ドルと記されており、その裏にあるクレジット制度こそが本当のコストの話です。

Kurnia Kharisma Agung SamiadjieKurnia Kharisma Agung SamiadjieJul 27, 2026
Cassidy AIのエージェント・ワークフロープラットフォームのガイド用イラストヒーローバナー
Guides

Cassidy AIとは何か、費用はいくらか、どんなチームに向いているか

Cassidy AIは、ドキュメントを多く扱うチーム向けのノーコードエージェント・ワークフロープラットフォームだ。仕組み、課金の単位、そしてサポート用途としてどこで力不足になるかを解説する。

Alicia Kirana UtomoAlicia Kirana UtomoJul 27, 2026
Anthropic の最も強力な AI モデルである Claude Fable 5 で何ができるかを解説するガイドのための編集イラスト
Guides

Claude Fable 5 で何ができるのか?機能別の徹底ガイド

Claude Fable 5 で何ができるのか?数日間にわたり無人で稼働し、コードを書いてリリースし、100万トークンのドキュメントを読み、自分の成果を検証する。それが実務で何を意味するのかを解説します。

Riellvriany IndriawanRiellvriany IndriawanJun 17, 2026
画像、動画、文書のパネルがビジョン言語モデルに入力される様子を描いたイラスト、Qwenのロゴ付き
Trending

Qwen 3.7 Flash: スペック、価格、そして実際にできること

Qwen 3.7 Flashはブログ記事もベンチマークも重みの公開もないまま登場した。ここでは完全なスペックシート、段階的な料金、そしてQwenが決して主張しなかったことをまとめる。

Alicia Kirana UtomoAlicia Kirana UtomoJul 31, 2026
Palmier、AI生成がタイムラインに組み込まれたAIネイティブの動画エディタ
Guides

Palmierとは?AIエージェントが編集できるAI動画エディタ

PalmierはMacネイティブのAI動画エディタで、生成機能がタイムラインに直接組み込まれており、Claudeなどのエージェントがカットを直接編集できます。実際にできることを解説します。

Rama Adi NugrahaRama Adi NugrahaJun 19, 2026
DeepSeek V3.2の概要:機能、パフォーマンス、そしてAIにおける意義
Guides

DeepSeek V3.2の概要:機能、パフォーマンス、そしてAIにおける意義

DeepSeek V3.2は、主要な商用モデルに匹敵するパフォーマンスを備えた新しいオープンウェイト言語モデルです。その主な機能、ベンチマーク、そしてビジネスへの導入に必要な要素について解説します。

Stevia PutriStevia PutriJan 6, 2026
2025年におけるSambaNova Cloudの価格を理解する:完全ガイド
Guides

SambaNova Cloud料金 2026: 推論プランとAPI料金

SambaNova Cloudの価格はあなたに適していますか?2025年版ガイドでは、トークンあたりのコスト、利用可能なモデルについて説明し、予測可能でビジネスに焦点を当てたAIプラットフォームと比較します。

Kenneth PanganKenneth PanganNov 6, 2025
AIセルフサービスとは何ですか?CXと効率を向上させるための完全ガイド(2025年)
Guides

AIセルフサービスとは何ですか?CXと効率を向上させるための完全ガイド(2025年)

AIがリアルタイムで回答を提供し、解決策を案内し、サポートの介入を減らすことで、顧客が瞬時に問題を解決できるようにします。

Stevia PutriStevia PutriAug 22, 2025

AIチームメイトを採用する準備はできましたか?

数分でセットアップ。クレジットカード不要。

無料で始める