0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DeepSeek V4 APIでAIエージェントを作る完全ガイド【2026年版】

0
Posted at

DeepSeek V4 API で AI エージェントを作る完全ガイド【2026年版】

2026年4月、DeepSeek V4が登場しました。コンテキスト1Mトークン・MCP対応・GPT-4oを超えるコーディング性能を、GPT-4oの約1/18の価格で提供します。

⚠️ マイグレーション警告:旧モデル deepseek-chat / deepseek-reasoner2026年7月24日に廃止されます。今すぐ deepseek-v4-pro / deepseek-v4-r1 へ移行してください。

V4モデル比較

モデル コンテキスト 特徴 価格(入力/1M)
deepseek-v4-pro 1Mトークン エージェント・コーディングSOTA $0.14
deepseek-v4-r1 128K 推論・思考チェーン $0.55
deepseek-v4-flash 128K 高速・低コスト $0.07

セットアップ(30秒)

pip install openai
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_DEEPSEEK_API_KEY",  # platform.deepseek.com で取得
    base_url="https://api.deepseek.com"
)

DeepSeekはOpenAI互換APIなので、既存のSDKがそのまま使えます。


1. ツール呼び出し付きエージェント

import json

tools = [
    {
        "type": "function",
        "function": {
            "name": "search_web",
            "description": "ウェブを検索して最新情報を取得する",
            "parameters": {
                "type": "object",
                "properties": {
                    "query": {"type": "string"}
                },
                "required": ["query"]
            }
        }
    }
]

def run_agent(user_message: str) -> str:
    messages = [{"role": "user", "content": user_message}]

    while True:
        response = client.chat.completions.create(
            model="deepseek-v4-pro",
            messages=messages,
            tools=tools,
            tool_choice="auto"
        )
        msg = response.choices[0].message

        if not msg.tool_calls:
            return msg.content  # 最終回答

        messages.append(msg)
        for tc in msg.tool_calls:
            result = do_search(json.loads(tc.function.arguments)["query"])
            messages.append({
                "role": "tool",
                "tool_call_id": tc.id,
                "content": str(result)
            })

2. 思考チェーン(R1モデル)

response = client.chat.completions.create(
    model="deepseek-v4-r1",
    messages=[{"role": "user", "content": "レート制限システムを設計してください"}]
)

thinking = response.choices[0].message.reasoning_content  # 思考プロセス
answer = response.choices[0].message.content               # 最終回答

3. 1Mトークンでコードベース全体を解析

from pathlib import Path

def load_codebase(path: str) -> str:
    files = []
    for fp in Path(path).rglob('*.py'):
        content = fp.read_text(encoding='utf-8', errors='ignore')
        files.append(f"### {fp.name}\n```python\n{content}\n```")
    return "\n\n".join(files)

codebase = load_codebase("./my_project")

response = client.chat.completions.create(
    model="deepseek-v4-pro",  # 1Mトークンウィンドウ
    messages=[
        {"role": "system", "content": "シニアエンジニアとしてコードを分析してください"},
        {"role": "user", "content": f"{codebase}\n\nボトルネックを特定してください"}
    ]
)

4. LangGraph × DeepSeek V4 本番パイプライン

from langchain_openai import ChatOpenAI
from langgraph.graph import StateGraph, END
from typing import TypedDict

llm = ChatOpenAI(
    model="deepseek-v4-pro",
    openai_api_key="YOUR_KEY",
    openai_api_base="https://api.deepseek.com"
)

class State(TypedDict):
    query: str
    research: str
    quality: float
    report: str
    iteration: int

def research(state: State) -> State:
    res = llm.invoke(f"調査: {state['query']}")
    return {"research": res.content, "iteration": state["iteration"] + 1}

def evaluate(state: State) -> State:
    res = llm.invoke(f"品質を0-10で(Score:X形式): {state['research']}")
    score = float(res.content.split("Score:")[-1].strip()[:3]) if "Score:" in res.content else 7.0
    return {"quality": score}

def write(state: State) -> State:
    res = llm.invoke(f"レポート作成: {state['research']}")
    return {"report": res.content}

def should_retry(state: State) -> str:
    return "research" if state["quality"] < 7.0 and state["iteration"] < 3 else "write"

g = StateGraph(State)
g.add_node("research", research)
g.add_node("evaluate", evaluate)
g.add_node("write", write)
g.set_entry_point("research")
g.add_edge("research", "evaluate")
g.add_conditional_edges("evaluate", should_retry, {"research": "research", "write": "write"})
g.add_edge("write", END)

app = g.compile()
result = app.invoke({"query": "DeepSeek V4のエージェント活用事例", "iteration": 0, "quality": 0.0})
print(result["report"])

コスト比較

モデル 入力(1Mトークン) 出力(1Mトークン)
DeepSeek V4 Pro $0.14 $0.28
GPT-4o $2.50 $10.00
Claude 3.5 Sonnet $3.00 $15.00

GPT-4oの約18倍安い。エージェントが1タスクで100回LLMを呼ぶと、コスト差は決定的になります。


マイグレーションチェックリスト(7月24日まで)

# 旧(7月24日廃止)
model = "deepseek-chat"
model = "deepseek-reasoner"

# 新
model = "deepseek-v4-pro"    # deepseek-chatの後継
model = "deepseek-v4-r1"     # deepseek-reasonerの後継
model = "deepseek-v4-flash"  # 新・高速モデル

DeepSeek、LangGraph、CrewAI、その他400以上のAIエージェントツールを比較するなら AgDex.ai をご覧ください。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?