Seedance 2.0 API 早期アクセス今すぐ始める
Kimi K2 Thinking APIガイド:推論状態を維持しながらマルチステップエージェントを構築する
guide

Kimi K2 Thinking APIガイド:推論状態を維持しながらマルチステップエージェントを構築する

EvoLink Team
EvoLink Team
Product Team
2026年3月29日
12 分
Kimi K2 Thinkingを使った本格的なマルチステップエージェントを構築したい場合、最も重要なポイントは「ツールをサポートしているか?」ではありません。重要なのは、アプリがターン間でモデルの推論状態を適切に保持できているかという点です。
Moonshotの現行シンキングモデルドキュメントでは、kimi-k2-thinkingkimi-k2.5の両方がディープ推論とマルチステップのツール使用をサポートしていると記されています。ただし、専用モデルであるkimi-k2-thinkingはシンキングが常時強制有効となっています。また、同ドキュメントには、ひとつの実装ルールが特に明示されています。それは、reasoning_contentを会話コンテキストに保持しないと、長期にわたるツールワークフローが劣化するというものです。

TL;DR

  • マルチステップエージェント向けに常時シンキングを有効にしたい場合はkimi-k2-thinkingを使用してください。
  • シンキングのオン/オフを柔軟に切り替えたい場合はkimi-k2.5を使用してください。
  • reasoning_contentをコンテキストに保持し、max_tokensを最低でも16000に設定し、temperature1.0に保ち、ストリーミングを優先してください。
  • Moonshotのレビュー済みドキュメントはマルチステップのツール呼び出しを明確にサポートしていますが、「300ステップ」などの安定した公開クォータはこの記事の参照ページには掲載されていないため、アプリ側で独自のループ制限を設けてください。

Moonshotの現行ドキュメントが確認している内容

質問現在のドキュメントの回答
シンキングをサポートするKimiモデルは?kimi-k2-thinkingkimi-k2.5
専用シンキングモデルはどれ?kimi-k2-thinking
推奨される柔軟なデフォルトモデルは?kimi-k2.5(シンキングがデフォルトで有効)
推論はどのように公開される?reasoning_contentフィールドを通じて
マルチステップのツール使用で重要なことは?reasoning_contentを保持し、十分なトークン予算を与え、ツール選択をシンキングモードと互換性のある状態に保つ
使用するエンドポイントは?国際エンドポイントとしてhttps://api.moonshot.ai/v1

どのKimiルートから始めるべきか

必要なもの推奨モデル理由
エージェントワークフロー向けの常時推論kimi-k2-thinkingMoonshotの専用シンキングモデル
必要に応じて思考できる汎用デフォルトkimi-k2.5Moonshotドキュメントで推奨されている柔軟なモデル
EvoLink経由の高速シンキングapi.evolink.ai経由のkimi-k2-thinkingEvoLinkが最速の利用可能なMoonshotエンドポイントにルーティング
OpenClawベースのデプロイmoonshot/kimi-k2-thinking-turboOpenClawのMoonshotプロバイダーカタログにターボシンキングバリアントが掲載されている
実践的なルールはシンプルです。記事の対象がKimi K2 Thinking APIである場合、読者がさらに別のトグル設定を考えなくて済むように、サンプルにはkimi-k2-thinkingを使用してください。

多くのガイドが見落としている実装の詳細

Moonshotはモデルの推論を、最終的なcontentフィールドだけでなくreasoning_contentにも公開しています。

これが重要な理由は、マルチステップエージェントは1回のリクエストではないからです。それはループです。

  1. モデルが推論する。
  2. モデルがツールを呼び出す。
  3. アプリがツールを実行する。
  4. モデルが前のツール結果を使ってさらに推論する。
アプリがターン間でreasoning_contentを破棄すると、モデルは次に何をすべきかを判断するために使っていた思考の連鎖の一部を失います。Moonshotのドキュメントでは、推論コンテンツ全体をコンテキストに含め、モデル自身が何をまだ必要としているかを判断させるよう明記しています。

最小構成のマルチステップエージェントループ

このサンプルは意図的にシンプルに保っています。目的は、Kimiのシンキングモデルにとって重要な制御フローを示すことです。

import json
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.moonshot.ai/v1",
    api_key=os.environ["MOONSHOT_API_KEY"],
)

tools = [
    {
        "type": "function",
        "function": {
            "name": "search_docs",
            "description": "Search internal product documentation",
            "parameters": {
                "type": "object",
                "properties": {
                    "query": {"type": "string"}
                },
                "required": ["query"]
            }
        }
    }
]

messages = [
    {"role": "system", "content": "You are a careful research agent."},
    {"role": "user", "content": "Find the API limits for our billing service and summarize the risks."},
]

for _ in range(8):
    completion = client.chat.completions.create(
        model="kimi-k2-thinking",
        messages=messages,
        tools=tools,
        tool_choice="auto",
        temperature=1.0,
        max_tokens=16000,
    )

    message = completion.choices[0].message

    # Preserve the assistant turn exactly, including reasoning_content when present.
    messages.append(message.model_dump(exclude_none=True))

    if not message.tool_calls:
        print(message.content)
        break

    for tool_call in message.tool_calls:
        args = json.loads(tool_call.function.arguments)

        if tool_call.function.name == "search_docs":
            result = {"matches": ["rate_limit=500 rpm", "burst_limit=1000 rpm"]}
        else:
            result = {"error": "unknown tool"}

        messages.append(
            {
                "role": "tool",
                "tool_call_id": tool_call.id,
                "name": tool_call.function.name,
                "content": json.dumps(result),
            }
        )

モデルのマーケティングよりも重要な4つのルール

ルール重要な理由
reasoning_contentを保持するこれはMoonshotがシンキングモデル向けにドキュメント化しているメインの継続性メカニズム
max_tokens >= 16000に設定するMoonshotは推論トークンと回答トークンが同じ予算を共有すると警告している
temperature = 1.0を維持するこれはMoonshotがシンキングモデルに対して推奨する最良のパフォーマンス設定
ストリーミングを優先するシンキングのレスポンスは大きくなり、ストリーミングによってタイムアウトの問題を軽減できる

プロダクション環境向けにもう2点追加しておく価値があります。

  • ループの長さは自分のアプリ側のポリシーとして扱ってください。レビュー済みドキュメントはKimiが複数のツール呼び出しにまたがるディープ推論をサポートしていると記していますが、ブログ記事にハードコードすべき安定した普遍的な公開ステップクォータは公開していません。
  • 副作用を実行する前にツール引数を検証してください。これはMoonshotの保証ではなく実装上のガイダンスですが、便利なエージェントとコストのかかるリトライループの分かれ目となります。

EvoLink経由でKimi K2 Thinkingを使用する

MoonshotのクレデンシャルをDirect APIに接続せずにKimi K2 Thinkingにアクセスする最も簡単な方法は、EvoLinkのOpenAI互換ゲートウェイを利用することです。

from openai import OpenAI

client = OpenAI(
    base_url="https://api.evolink.ai/v1",
    api_key="YOUR_EVOLINK_API_KEY",
)

completion = client.chat.completions.create(
    model="kimi-k2-thinking",
    messages=[{"role": "user", "content": "Analyze the tradeoffs of event sourcing vs CRUD."}],
    temperature=1.0,
    max_tokens=16000,
)
EvoLinkはプロバイダーのルーティング、リトライ、フェイルオーバーを処理します。reasoning_contentの保持に関するルールは変わりません。EvoLinkはレスポンスをそのまま完全に通過させます。

代替手段:OpenClaw統合

実際のランタイムがDirect APIやEvoLinkゲートウェイではなくOpenClawである場合、OpenClawのMoonshotプロバイダードキュメントには現在以下が記載されています。

  • moonshot/kimi-k2.5
  • moonshot/kimi-k2-thinking
  • moonshot/kimi-k2-thinking-turbo

ドキュメントに記載されているオンボーディングのショートカットは以下のとおりです。

openclaw onboard --auth-choice moonshot-api-key
openclaw models list
openclaw models set moonshot/kimi-k2-thinking
openclaw models status

OpenClawはMoonshotのバイナリネイティブシンキング制御もドキュメント化しています。

  • /think offでMoonshotのシンキングを無効化
  • off以外のシンキングレベルはすべてthinking.type=enabledにマッピング

これは、コストの安い非シンキングパスとより深い推論パスを切り替えられる単一のゲートウェイが必要な場合に便利です。

より安全な意思決定フレームワーク

ユースケース適したモデル
ツールを使ったマルチステップリサーチエージェントkimi-k2-thinking(EvoLink経由またはMoonshot APIへの直接接続)
時々シンキングが必要な汎用アプリアシスタントkimi-k2.5(EvoLink経由)
Kimiデフォルトモデルが必要なOpenClawデプロイまずmoonshot/kimi-k2.5、難しいセッションではmoonshot/kimi-k2-thinkingにエスカレート
レイテンシが重要なツール多用ワークフローEvoLinkのスマートルーティングでkimi-k2-thinkingをテストし、自動フェイルオーバーを活用してください

よくある質問

Kimi K2 ThinkingとKimi K2.5は同じですか?

いいえ。Moonshotの現行ドキュメントでは、kimi-k2-thinkingを専用シンキングモデル、kimi-k2.5をシンキングがデフォルトで有効な推奨柔軟モデルとして説明しています。

マルチステップKimiエージェントが失敗する最大の原因は何ですか?

reasoning_contentを破棄すること、max_tokensの予算が小さすぎてモデルを制限すること、または引数を検証しないか正常に終了しないツールループを構築することです。

reasoning_contentはトークン数にカウントされますか?

はい。Moonshotのドキュメントでは、reasoning_contentcontentの合計トークンがmax_tokensの範囲内に収まる必要があると記されています。

シンプルなタスクでシンキングを無効にすべきですか?

kimi-k2.5を使用している場合、コストとレイテンシの制御として有効な場合があります。kimi-k2-thinkingを明示的に選択した場合は、ワークフローが常時シンキングを正当化するほど推論負荷が高いことを前提とするのが自然です。

EvoLink経由でKimi K2 Thinkingを使用できますか?

はい。OpenAI SDKのエンドポイントをhttps://api.evolink.ai/v1に向け、EvoLink APIキーを使用し、モデル名としてkimi-k2-thinkingを指定するだけです。EvoLinkはルーティング、リトライ、フェイルオーバーを自動的に処理します。

OpenClawでKimi K2 Thinkingを使用できますか?

はい。OpenClawのMoonshotプロバイダーページには現在、moonshot/kimi-k2-thinkingがサポートされているモデルリファレンスとして掲載されています。

料金の数値はどこから取得すべきですか?

サードパーティのベンチマーク表や古い比較記事ではなく、Moonshotのライブ料金ページから取得してください。この記事では意図的に料金のハードコードを避けています。これらの値はモデルの動作に関するガイダンスよりも速く変化するためです。

ひとつのゲートウェイでKimiを試す

各プロバイダーを個別に接続することなく、Kimiをclaude、GPT、その他のエージェント対応モデルと並べてテストしたい場合は、ゲートウェイレイヤーを使用し、コスト比較を公開する前に現在利用可能なルートを確認してください。

Compare Agent Models on EvoLink

参考資料

AIコストを89%削減する準備はできましたか?

今すぐEvoLinkを始めて、インテリジェントなAPIルーティングの力を体験してください。