Перейти к содержанию
Справочник APIThinking / effort

Thinking / effort

Рассуждения Claude и Kimi: параметры зависят от модели и API.

Протокол модели

Нативный thinking без серверного промпта

Без применённого серверного промпта Claude /v1/messages сохраняет нативные thinking-блоки Claude. У Opus 5 мышление включено по умолчанию; глубину задайте через output_config.effort. Для Opus 4.8 его нужно включить явно — "thinking": {"type": "adaptive"}.

json
{
  "model": "claude-opus-5",
  "max_tokens": 4096,
  "thinking": {"type": "adaptive"},
  "output_config": {"effort": "medium"},
  "messages": [{
    "role": "user",
    "content": "Сравни два алгоритма и обоснуй выбор"
  }]
}
effortКогда
lowпростые и чувствительные к задержке задачи
mediumбаланс качества и расхода
highсложные задачи; значение по умолчанию
xhigh / maxсамые сложные coding и agentic-задачи на поддерживающих моделях

В ответе thinking приходит отдельным блоком вместе с полем signature, после него — обычный text. В streaming используются thinking_delta и signature_delta.

Kimi, Composer и Grok

МоделиГлубина в Chat Completions
k3, k3-256kполе reasoning_effort с любым непустым значением; сам Kimi документирует уровни low, high и max. Поле thinking эти модели не принимают, оно отклоняется локально
kimi-for-coding, kimi-for-coding-highspeedполе thinking ровно в виде {"type": "enabled", "keep": "all"}; поле reasoning_effort они тоже принимают, как и обе модели K3
Composer 2.5уровней нет
Grok 4.6уровень входит в сам id: -low, -medium, -high, -xhigh. Поля для него нет

Kimi: глубина в Chat Completions

На /v1/chat/completions полей два, и они не равнозначны. Поле reasoning_effort понимают все четыре модели, и значение уходит наверх как прислано. Поле thinking есть только у kimi-for-coding и kimi-for-coding-highspeed: у k3 и k3-256k оно отклоняется локально, до резерва и списания. На Messages все четыре модели принимают thinking по контракту Messages; в Responses используется reasoning.effort.

МодельПолеЧто принимается в Chat Completions
k3reasoning_effortлюбое непустое значение; у Kimi документированы low, high и max
k3-256kreasoning_effortлюбое непустое значение; у Kimi документированы low, high и max
kimi-for-codingreasoning_effort либо thinkingthinking ровно {"type": "enabled", "keep": "all"}
kimi-for-coding-highspeedreasoning_effort либо thinkingthinking ровно {"type": "enabled", "keep": "all"}

Поле необязательное. Если не передать ничего, уровень выбирает сам Kimi: по его схеме это max.

json
{
  "model": "k3",
  "max_tokens": 2048,
  "reasoning_effort": "high",
  "messages": [{"role": "user", "content": "Сравни два алгоритма и обоснуй выбор"}]
}
json
{
  "model": "kimi-for-coding",
  "max_tokens": 2048,
  "thinking": {"type": "enabled", "keep": "all"},
  "messages": [{"role": "user", "content": "Найди ошибку в этой функции"}]
}
Что отправлено в Chat CompletionsЧто придёт в ответ
reasoning_effort пустой строкой или не строкой400 invalid_reasoning_effort
tool_choice: "required" у модели K2.7 Code400 invalid_tool_choice
thinking в другой форме400 invalid_thinking
thinking у модели K3400 invalid_thinking

Для Chat Completions: поле reasoning_effort понимают все четыре модели. Поле thinking есть только у kimi-for-coding и kimi-for-coding-highspeed, и у моделей K3 оно отклоняется локально, до резерва и списания.

Разделы документации

На этой странице