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

kimi-k2-thinkingとkimi-k2.5の両方がディープ推論とマルチステップのツール使用をサポートしていると記されています。ただし、専用モデルであるkimi-k2-thinkingはシンキングが常時強制有効となっています。また、同ドキュメントには、ひとつの実装ルールが特に明示されています。それは、reasoning_contentを会話コンテキストに保持しないと、長期にわたるツールワークフローが劣化するというものです。TL;DR
- マルチステップエージェント向けに常時シンキングを有効にしたい場合は
kimi-k2-thinkingを使用してください。 - シンキングのオン/オフを柔軟に切り替えたい場合は
kimi-k2.5を使用してください。 reasoning_contentをコンテキストに保持し、max_tokensを最低でも16000に設定し、temperatureを1.0に保ち、ストリーミングを優先してください。- Moonshotのレビュー済みドキュメントはマルチステップのツール呼び出しを明確にサポートしていますが、「300ステップ」などの安定した公開クォータはこの記事の参照ページには掲載されていないため、アプリ側で独自のループ制限を設けてください。
Moonshotの現行ドキュメントが確認している内容
| 質問 | 現在のドキュメントの回答 |
|---|---|
| シンキングをサポートするKimiモデルは? | kimi-k2-thinkingとkimi-k2.5 |
| 専用シンキングモデルはどれ? | kimi-k2-thinking |
| 推奨される柔軟なデフォルトモデルは? | kimi-k2.5(シンキングがデフォルトで有効) |
| 推論はどのように公開される? | reasoning_contentフィールドを通じて |
| マルチステップのツール使用で重要なことは? | reasoning_contentを保持し、十分なトークン予算を与え、ツール選択をシンキングモードと互換性のある状態に保つ |
| 使用するエンドポイントは? | 国際エンドポイントとしてhttps://api.moonshot.ai/v1 |
どのKimiルートから始めるべきか
| 必要なもの | 推奨モデル | 理由 |
|---|---|---|
| エージェントワークフロー向けの常時推論 | kimi-k2-thinking | Moonshotの専用シンキングモデル |
| 必要に応じて思考できる汎用デフォルト | kimi-k2.5 | Moonshotドキュメントで推奨されている柔軟なモデル |
| EvoLink経由の高速シンキング | api.evolink.ai経由のkimi-k2-thinking | EvoLinkが最速の利用可能なMoonshotエンドポイントにルーティング |
| OpenClawベースのデプロイ | moonshot/kimi-k2-thinking-turbo | OpenClawのMoonshotプロバイダーカタログにターボシンキングバリアントが掲載されている |
kimi-k2-thinkingを使用してください。多くのガイドが見落としている実装の詳細
contentフィールドだけでなくreasoning_contentにも公開しています。これが重要な理由は、マルチステップエージェントは1回のリクエストではないからです。それはループです。
- モデルが推論する。
- モデルがツールを呼び出す。
- アプリがツールを実行する。
- モデルが前のツール結果を使ってさらに推論する。
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,
)reasoning_contentの保持に関するルールは変わりません。EvoLinkはレスポンスをそのまま完全に通過させます。代替手段:OpenClaw統合
実際のランタイムがDirect APIやEvoLinkゲートウェイではなくOpenClawである場合、OpenClawのMoonshotプロバイダードキュメントには現在以下が記載されています。
moonshot/kimi-k2.5moonshot/kimi-k2-thinkingmoonshot/kimi-k2-thinking-turbo
ドキュメントに記載されているオンボーディングのショートカットは以下のとおりです。
openclaw onboard --auth-choice moonshot-api-key
openclaw models list
openclaw models set moonshot/kimi-k2-thinking
openclaw models statusOpenClawは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は同じですか?
kimi-k2-thinkingを専用シンキングモデル、kimi-k2.5をシンキングがデフォルトで有効な推奨柔軟モデルとして説明しています。マルチステップKimiエージェントが失敗する最大の原因は何ですか?
reasoning_contentを破棄すること、max_tokensの予算が小さすぎてモデルを制限すること、または引数を検証しないか正常に終了しないツールループを構築することです。reasoning_contentはトークン数にカウントされますか?
reasoning_contentとcontentの合計トークンがmax_tokensの範囲内に収まる必要があると記されています。シンプルなタスクでシンキングを無効にすべきですか?
kimi-k2.5を使用している場合、コストとレイテンシの制御として有効な場合があります。kimi-k2-thinkingを明示的に選択した場合は、ワークフローが常時シンキングを正当化するほど推論負荷が高いことを前提とするのが自然です。EvoLink経由でKimi K2 Thinkingを使用できますか?
https://api.evolink.ai/v1に向け、EvoLink APIキーを使用し、モデル名としてkimi-k2-thinkingを指定するだけです。EvoLinkはルーティング、リトライ、フェイルオーバーを自動的に処理します。OpenClawでKimi K2 Thinkingを使用できますか?
moonshot/kimi-k2-thinkingがサポートされているモデルリファレンスとして掲載されています。料金の数値はどこから取得すべきですか?
サードパーティのベンチマーク表や古い比較記事ではなく、Moonshotのライブ料金ページから取得してください。この記事では意図的に料金のハードコードを避けています。これらの値はモデルの動作に関するガイダンスよりも速く変化するためです。
ひとつのゲートウェイでKimiを試す
各プロバイダーを個別に接続することなく、Kimiをclaude、GPT、その他のエージェント対応モデルと並べてテストしたい場合は、ゲートウェイレイヤーを使用し、コスト比較を公開する前に現在利用可能なルートを確認してください。
Compare Agent Models on EvoLink

