Seedance 2.0 API 抢先体验立即开始
Kimi K2 Thinking API 指南:构建多步骤智能体而不丢失推理状态
guide

Kimi K2 Thinking API 指南:构建多步骤智能体而不丢失推理状态

EvoLink Team
EvoLink Team
Product Team
2026年3月29日
11 分钟阅读
如果你想用 Kimi K2 Thinking 构建一个真正的多步骤智能体,最关键的细节不是"它是否支持工具调用",而是你的应用能否在多轮对话中保留模型的推理状态
Moonshot 当前的思考模型文档指出,kimi-k2-thinkingkimi-k2.5 均支持深度推理和多步骤工具调用,但专用的 kimi-k2-thinking 模型会强制保持思考模式开启。这份文档还有一条实现规则写得格外明确:在对话上下文中保留 reasoning_content,否则长链路工具工作流的效果会大打折扣。

内容速览

  • 需要专用的始终开启思考模式的多步骤智能体时,使用 kimi-k2-thinking
  • 需要更灵活、可按需开关思考模式的默认模型时,使用 kimi-k2.5
  • 在上下文中保留 reasoning_content,将 max_tokens 设置为至少 16000,将 temperature 保持为 1.0,并优先使用流式响应。
  • Moonshot 经过审核的文档明确支持多步骤工具调用,但在本文所参考的页面中公布稳定的公开"300步"配额,因此你的应用应自行设置循环次数上限。

Moonshot 当前文档实际确认的内容

问题当前文档答案
哪些 Kimi 模型支持思考模式?kimi-k2-thinkingkimi-k2.5
哪个是专用思考模型?kimi-k2-thinking
哪个是推荐的灵活默认模型?kimi-k2.5,默认开启思考模式
推理过程如何暴露?通过 reasoning_content 字段
多步骤工具调用的关键是什么?保留 reasoning_content,给模型足够的 token 预算,并保持工具选择与思考模式兼容
应使用哪个端点?国际端点:https://api.moonshot.ai/v1

应该从哪个 Kimi 路线开始?

如果你需要…从这里开始原因
智能体工作流的始终开启推理kimi-k2-thinking这是 Moonshot 专用的思考模型
仍具备思考能力的通用默认模型kimi-k2.5这是 Moonshot 文档推荐的灵活模型
通过 EvoLink 获得更快的思考响应通过 api.evolink.ai 使用 kimi-k2-thinkingEvoLink 会路由至最快的可用 Moonshot 端点
基于 OpenClaw 的部署moonshot/kimi-k2-thinking-turboOpenClaw 的 Moonshot 提供商目录目前列出了一个 turbo 思考变体
实用原则很简单:如果文章重点明确是 Kimi K2 Thinking API,在示例中使用 kimi-k2-thinking,读者就不必再去思考额外的开关配置。

大多数指南都忽略的实现细节

Moonshot 将模型的推理过程暴露在 reasoning_content 字段中,而不仅仅是最终的 content 字段。

这一点很重要,因为多步骤智能体不是单次请求,而是一个循环:

  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),
            }
        )

比模型宣传更重要的四条规则

规则重要原因
保留 reasoning_content这是 Moonshot 为思考模型文档记录的主要连续性机制
设置 max_tokens >= 16000Moonshot 警告推理 token 和答案 token 共享同一预算
保持 temperature = 1.0这是 Moonshot 为思考模型声明的最佳性能设置
优先使用流式响应思考响应体积较大,流式传输有助于减少超时问题

还有两条生产环境注意事项值得补充:

  • 将循环次数上限视为你自己的策略。经过审核的文档表明 Kimi 支持跨多次工具调用的深度推理,但它们并未公布应被硬编码进博客文章的稳定通用公开步骤配额。
  • 在执行有副作用的操作之前,验证工具参数。这是实现层面的建议,不是 Moonshot 的保证,但这是有用智能体和昂贵重试循环之间的区别所在。
无需直接配置 Moonshot 凭证即可访问 Kimi K2 Thinking 的最简方式,是通过 EvoLink 的 OpenAI 兼容网关。将你现有的 OpenAI SDK 客户端指向 api.evolink.ai,并使用相同的模型名称:
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 集成

如果你的运行时是 OpenClaw 而非直接 API 或 EvoLink 网关,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

如果你希望通过一个网关在低成本非思考模式和深度推理模式之间切换,这非常实用。

更安全的决策框架

使用场景更适合的选择
带工具的多步骤研究智能体通过 EvoLink 或直接 Moonshot API 使用 kimi-k2-thinking
只偶尔需要思考能力的通用应用助手通过 EvoLink 使用 kimi-k2.5
需要 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_contentmax_tokens 预算过小导致模型"饥饿",或者构建了一个从不验证参数、也不能干净退出的工具循环。

reasoning_content 会计入 token 用量吗?

会。Moonshot 文档指出,reasoning_contentcontent 的合并 token 数必须在 max_tokens 限制内。

我应该对所有简单任务都禁用思考模式吗?

如果你使用的是 kimi-k2.5,从成本和延迟控制的角度来看这是合理的。如果你特意选择了 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 路由的强大能力。