
Guía de la API de Kimi K2 Thinking: Cómo Construir Agentes Multi-Paso Sin Perder el Estado de Razonamiento

kimi-k2-thinking como kimi-k2.5 admiten razonamiento profundo y uso de herramientas en múltiples pasos, pero el modelo dedicado kimi-k2-thinking mantiene el pensamiento activado de forma permanente. Esa misma documentación también establece con especial claridad una regla de implementación: conserva reasoning_content en el contexto de la conversación, o los flujos de trabajo con herramientas de largo alcance se degradarán.Resumen
- Usa
kimi-k2-thinkingcuando quieras un modelo dedicado que piense siempre para agentes multi-paso. - Usa
kimi-k2.5cuando prefieras un modelo predeterminado más flexible que puede activar o desactivar el pensamiento. - Mantén
reasoning_contenten el contexto, configuramax_tokensen al menos16000, dejatemperatureen1.0y prefiere el modo streaming. - La documentación revisada de Moonshot admite claramente llamadas a herramientas en múltiples pasos, pero no publica una cuota pública estable de "300 pasos" en las páginas utilizadas para esta reescritura, por lo que tu aplicación debe aplicar sus propios límites de iteración.
Lo que la documentación actual de Moonshot confirma
| Pregunta | Respuesta documentada actualmente |
|---|---|
| ¿Qué modelos Kimi admiten razonamiento? | kimi-k2-thinking y kimi-k2.5 |
| ¿Cuál es el modelo de razonamiento dedicado? | kimi-k2-thinking |
| ¿Cuál es el modelo flexible recomendado por defecto? | kimi-k2.5, con razonamiento activado por defecto |
| ¿Cómo se expone el razonamiento? | A través del campo reasoning_content |
| ¿Qué importa para el uso de herramientas en múltiples pasos? | Preservar reasoning_content, dar al modelo suficiente presupuesto de tokens y mantener la selección de herramientas compatible con el modo de razonamiento |
| ¿Qué endpoint debes usar? | https://api.moonshot.ai/v1 para el endpoint internacional |
¿Por qué ruta de Kimi deberías empezar?
| Si necesitas... | Empieza con | Por qué |
|---|---|---|
| Razonamiento siempre activo para flujos de agentes | kimi-k2-thinking | Es el modelo de razonamiento dedicado de Moonshot |
| Un modelo de uso general que aún pueda razonar | kimi-k2.5 | Es el modelo flexible recomendado en la documentación de Moonshot |
| Respuestas de razonamiento más rápidas via EvoLink | kimi-k2-thinking a través de api.evolink.ai | EvoLink enruta al endpoint de Moonshot más rápido disponible |
| Despliegue basado en OpenClaw | moonshot/kimi-k2-thinking-turbo | El catálogo de proveedores de Moonshot en OpenClaw lista actualmente una variante turbo de razonamiento |
kimi-k2-thinking en los ejemplos para que el lector no tenga que pensar en un ajuste adicional.El detalle de implementación que la mayoría de las guías pasa por alto
reasoning_content, no solo en el campo final content.Eso importa porque un agente multi-paso no es una sola solicitud. Es un bucle:
- El modelo razona.
- El modelo llama a una herramienta.
- Tu aplicación ejecuta la herramienta.
- El modelo razona de nuevo usando el resultado anterior de la herramienta.
reasoning_content entre turnos, el modelo pierde parte de la cadena que estaba usando para decidir qué hacer a continuación. La documentación de Moonshot dice explícitamente que debes incluir todo el contenido de razonamiento en el contexto y dejar que el modelo decida qué sigue necesitando.Bucle mínimo de agente multi-paso
Este ejemplo es intencionalmente pequeño. El objetivo es mostrar el flujo de control que importa para los modelos de razonamiento de 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),
}
)Cuatro reglas que importan más que el marketing del modelo
| Regla | Por qué importa |
|---|---|
Preservar reasoning_content | Es el principal mecanismo de continuidad que Moonshot documenta para los modelos de razonamiento |
Establecer max_tokens >= 16000 | Moonshot advierte que los tokens de razonamiento y los tokens de respuesta comparten el mismo presupuesto |
Mantener temperature = 1.0 | Es la configuración de mejor rendimiento declarada por Moonshot para los modelos de razonamiento |
| Preferir streaming | Las respuestas de razonamiento son más grandes y el streaming ayuda a reducir problemas de tiempo de espera |
Vale la pena añadir dos notas más para producción:
- Trata la longitud del bucle como tu política. La documentación revisada indica que Kimi admite razonamiento profundo en múltiples llamadas a herramientas, pero no expone una cuota pública universal estable que deba codificarse en una entrada de blog.
- Valida los argumentos de las herramientas antes de ejecutar efectos secundarios. Eso es orientación de implementación, no una garantía de Moonshot, pero es la diferencia entre un agente útil y un bucle de reintentos costoso.
Usa Kimi K2 Thinking a través de EvoLink
La forma más sencilla de acceder a Kimi K2 Thinking sin configurar credenciales de Moonshot directamente es a través de la pasarela compatible con OpenAI de EvoLink.
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 siguen aplicando: EvoLink transmite la respuesta completa sin modificaciones.Alternativa: integración con OpenClaw
Si tu entorno de ejecución es OpenClaw en lugar de una API directa o una pasarela EvoLink, la documentación del proveedor Moonshot de OpenClaw actualmente lista:
moonshot/kimi-k2.5moonshot/kimi-k2-thinkingmoonshot/kimi-k2-thinking-turbo
El atajo de incorporación documentado es:
openclaw onboard --auth-choice moonshot-api-key
openclaw models list
openclaw models set moonshot/kimi-k2-thinking
openclaw models statusOpenClaw también documenta control binario nativo del razonamiento para Moonshot:
/think offdesactiva el razonamiento de Moonshot- cualquier nivel de razonamiento distinto de off se asigna de nuevo a
thinking.type=enabled
Eso es útil si quieres una sola pasarela que pueda alternar entre un paso sin razonamiento más económico y un paso de razonamiento más profundo.
Un marco de decisión más seguro
| Caso de uso | Mejor opción |
|---|---|
| Agente de investigación multi-paso con herramientas | kimi-k2-thinking via EvoLink o API directa de Moonshot |
| Asistente de aplicación general que solo a veces necesita razonar | kimi-k2.5 via EvoLink |
| Despliegue en OpenClaw que necesita un modelo Kimi predeterminado | Primero moonshot/kimi-k2.5, luego escalar a moonshot/kimi-k2-thinking para sesiones más complejas |
| Flujo de trabajo con muchas herramientas donde la latencia importa | Prueba kimi-k2-thinking a través del enrutamiento inteligente de EvoLink para failover automático |
Preguntas frecuentes
¿Es Kimi K2 Thinking lo mismo que Kimi K2.5?
kimi-k2-thinking como el modelo de razonamiento dedicado y kimi-k2.5 como el modelo flexible recomendado que tiene el razonamiento activado por defecto.¿Qué falla en la mayoría de los agentes Kimi multi-paso?
reasoning_content, limitar al modelo con un presupuesto de max_tokens demasiado pequeño, o construir un bucle de herramientas que nunca valida los argumentos ni termina de forma limpia.¿Cuenta reasoning_content en los tokens?
reasoning_content y content deben caber dentro de max_tokens.¿Debería desactivar el razonamiento para cada tarea simple?
kimi-k2.5, puede tener sentido para controlar costos y latencia. Si eliges específicamente kimi-k2-thinking, la suposición más natural es que el flujo de trabajo es lo suficientemente intensivo en razonamiento como para justificar el pensamiento siempre activo.¿Puedo usar Kimi K2 Thinking a través de EvoLink?
https://api.evolink.ai/v1 con tu clave de API de EvoLink y usa kimi-k2-thinking como nombre del modelo. EvoLink gestiona el enrutamiento, los reintentos y el failover automáticamente.¿Puedo usar Kimi K2 Thinking en OpenClaw?
moonshot/kimi-k2-thinking como referencia de modelo admitida.¿De dónde debo obtener los datos de precios?
De las páginas de precios en vivo de Moonshot, no de tablas de referencia de terceros ni de publicaciones comparativas más antiguas. Esta reescritura evita intencionalmente afirmaciones de precios codificados porque esos valores cambian más rápido que la orientación sobre el comportamiento del modelo.
Prueba Kimi a Través de Una Sola Pasarela
Si quieres probar Kimi junto con Claude, GPT y otros modelos aptos para agentes sin conectar cada proveedor por separado, usa una capa de pasarela y verifica las rutas disponibles actualmente antes de publicar una comparación de costos.
Compare Agent Models on EvoLink

