
Guide de l'API Kimi K2 Thinking : Construire des agents multi-étapes sans perdre l'état de raisonnement

kimi-k2-thinking et kimi-k2.5 supportent tous deux le raisonnement approfondi et l'utilisation d'outils en plusieurs étapes, mais le modèle dédié kimi-k2-thinking maintient la réflexion activée de force. La même documentation rend également une règle d'implémentation explicitement claire : conservez reasoning_content dans le contexte de la conversation, sinon les workflows d'outils à long horizon se dégradent.En résumé
- Utilisez
kimi-k2-thinkingquand vous voulez un modèle dédié à la réflexion permanente pour les agents multi-étapes. - Utilisez
kimi-k2.5quand vous voulez une valeur par défaut plus flexible pouvant activer ou désactiver la réflexion. - Conservez
reasoning_contentdans le contexte, définissezmax_tokensà au moins16000, mainteneztemperatureà1.0, et préférez le streaming. - La documentation vérifiée de Moonshot prend clairement en charge les appels d'outils multi-étapes, mais elle ne publie pas de quota public stable de "300 étapes" sur les pages utilisées pour cette réécriture — votre application doit donc imposer ses propres limites de boucle.
Ce que confirment réellement les docs actuelles de Moonshot
| Question | Réponse documentée actuelle |
|---|---|
| Quels modèles Kimi supportent la réflexion ? | kimi-k2-thinking et kimi-k2.5 |
| Lequel est le modèle de réflexion dédié ? | kimi-k2-thinking |
| Lequel est la valeur par défaut flexible recommandée ? | kimi-k2.5, avec la réflexion activée par défaut |
| Comment le raisonnement est-il exposé ? | Via le champ reasoning_content |
| Qu'est-ce qui compte pour l'utilisation d'outils multi-étapes ? | Préserver reasoning_content, donner au modèle un budget de tokens suffisant, et maintenir le choix d'outil compatible avec le mode de réflexion |
| Quel endpoint utiliser ? | https://api.moonshot.ai/v1 pour l'endpoint international |
Par quel modèle Kimi commencer ?
| Si vous avez besoin de... | Commencez avec | Pourquoi |
|---|---|---|
| Raisonnement permanent pour les workflows d'agents | kimi-k2-thinking | C'est le modèle de réflexion dédié de Moonshot |
| Une valeur par défaut polyvalente qui peut quand même réfléchir | kimi-k2.5 | C'est le modèle flexible recommandé dans la documentation Moonshot |
| Des réponses de réflexion plus rapides via EvoLink | kimi-k2-thinking via api.evolink.ai | EvoLink achemine vers le point de terminaison Moonshot le plus rapide disponible |
| Déploiement basé sur OpenClaw | moonshot/kimi-k2-thinking-turbo | Le catalogue du fournisseur Moonshot d'OpenClaw liste actuellement une variante turbo de réflexion |
kimi-k2-thinking dans les exemples afin que le lecteur n'ait pas à raisonner sur une option supplémentaire.Le détail d'implémentation que la plupart des guides manquent
reasoning_content, et pas uniquement dans le champ content final.C'est important parce qu'un agent multi-étapes n'est pas une seule requête. C'est une boucle :
- Le modèle raisonne.
- Le modèle appelle un outil.
- Votre application exécute l'outil.
- Le modèle raisonne à nouveau en utilisant le résultat précédent de l'outil.
reasoning_content entre les tours, le modèle perd une partie de la chaîne qu'il utilisait pour décider quoi faire ensuite. La documentation de Moonshot indique explicitement d'inclure l'intégralité du contenu de raisonnement dans le contexte et de laisser le modèle décider de ce dont il a encore besoin.Boucle d'agent multi-étapes minimale
Cet exemple est intentionnellement petit. L'objectif est de montrer le flux de contrôle qui compte pour les modèles de réflexion 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),
}
)Quatre règles qui comptent plus que le marketing des modèles
| Règle | Pourquoi c'est important |
|---|---|
Préserver reasoning_content | C'est le principal mécanisme de continuité que Moonshot documente pour les modèles de réflexion |
Définir max_tokens >= 16000 | Moonshot avertit que les tokens de raisonnement et les tokens de réponse partagent le même budget |
Maintenir temperature = 1.0 | C'est le réglage de meilleure performance déclaré par Moonshot pour les modèles de réflexion |
| Préférer le streaming | Les réponses de réflexion sont plus volumineuses et le streaming aide à réduire les problèmes de timeout |
Deux autres remarques de production valent la peine d'être ajoutées :
- Traitez la longueur de la boucle comme votre politique. La documentation vérifiée indique que Kimi supporte un raisonnement approfondi sur plusieurs appels d'outils, mais elle n'expose pas de quota d'étapes public universel stable qui devrait être codé en dur dans un article de blog.
- Validez les arguments des outils avant d'exécuter des effets secondaires. C'est un guide d'implémentation, pas une garantie de Moonshot, mais c'est la différence entre un agent utile et une boucle de tentatives coûteuse.
Utiliser Kimi K2 Thinking via EvoLink
La façon la plus simple d'accéder à Kimi K2 Thinking sans configurer directement les identifiants Moonshot est de passer par la passerelle compatible OpenAI d'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 s'appliquent toujours — EvoLink transmet la réponse complète sans modification.Alternative : intégration OpenClaw
Si votre environnement d'exécution est OpenClaw plutôt qu'une API directe ou une passerelle EvoLink, la documentation du fournisseur Moonshot d'OpenClaw liste actuellement :
moonshot/kimi-k2.5moonshot/kimi-k2-thinkingmoonshot/kimi-k2-thinking-turbo
Le raccourci d'intégration documenté est :
openclaw onboard --auth-choice moonshot-api-key
openclaw models list
openclaw models set moonshot/kimi-k2-thinking
openclaw models statusOpenClaw documente également le contrôle binaire natif de la réflexion pour Moonshot :
/think offdésactive la réflexion Moonshot- tout niveau de réflexion autre que off correspond à
thinking.type=enabled
C'est utile si vous souhaitez une passerelle unique capable de basculer entre une passe non-réflexive moins coûteuse et une passe de raisonnement approfondi.
Un cadre décisionnel plus sûr
| Cas d'usage | Meilleur choix |
|---|---|
| Agent de recherche multi-étapes avec outils | kimi-k2-thinking via EvoLink ou API Moonshot directe |
| Assistant d'application générale n'ayant besoin de réflexion qu'occasionnellement | kimi-k2.5 via EvoLink |
| Déploiement OpenClaw nécessitant un modèle Kimi par défaut | moonshot/kimi-k2.5 en premier, puis escalader vers moonshot/kimi-k2-thinking pour les sessions plus complexes |
| Workflow intensif en outils où la latence est importante | Testez kimi-k2-thinking via le routage intelligent d'EvoLink pour un basculement automatique |
FAQ
Kimi K2 Thinking est-il le même que Kimi K2.5 ?
kimi-k2-thinking comme le modèle de réflexion dédié et kimi-k2.5 comme le modèle flexible recommandé avec la réflexion activée par défaut.Qu'est-ce qui fait échouer la plupart des agents Kimi multi-étapes ?
reasoning_content, priver le modèle d'un budget max_tokens trop faible, ou construire une boucle d'outils qui ne valide jamais les arguments ni ne se termine proprement.reasoning_content compte-t-il dans les tokens ?
reasoning_content et de content doivent tenir dans max_tokens.Devrais-je désactiver la réflexion pour chaque tâche simple ?
kimi-k2.5, cela peut avoir du sens pour contrôler les coûts et la latence. Si vous choisissez spécifiquement kimi-k2-thinking, l'hypothèse la plus naturelle est que le workflow est suffisamment intensif en raisonnement pour justifier une réflexion permanente.Puis-je utiliser Kimi K2 Thinking via EvoLink ?
https://api.evolink.ai/v1 avec votre clé API EvoLink et utilisez kimi-k2-thinking comme nom de modèle. EvoLink gère automatiquement le routage, les nouvelles tentatives et le basculement.Puis-je utiliser Kimi K2 Thinking dans OpenClaw ?
moonshot/kimi-k2-thinking comme référence de modèle supportée.Où devrais-je publier les chiffres de tarification ?
Depuis les pages de tarification en direct de Moonshot, et non depuis des tableaux de comparaison tiers ou des articles de comparaison plus anciens. Cette réécriture évite intentionnellement les mentions de tarification codées en dur, car ces valeurs changent plus vite que les recommandations sur le comportement des modèles.
Essayez Kimi via une seule passerelle
Si vous souhaitez tester Kimi aux côtés de Claude, GPT et d'autres modèles adaptés aux agents sans connecter chaque fournisseur séparément, utilisez une couche de passerelle et vérifiez les routes actuellement disponibles avant de publier une comparaison de coûts.
Compare Agent Models on EvoLink

