# Effort Mapping — Соответствие уровней для всех провайдеров ## Как это работает Когда вы меняете effort в Claude Code (через `/effort` или `--effort`), значение передаётся в API провайдера. Каждый провайдер поддерживает свой набор уровней reasoning effort. Если выбранного уровня нет у провайдера — он автоматически маппится на ближайший **более высокий** нативный уровень. ## Таблица маппинга > Актуально на 12 июня 2026 г. | Claude Code
`/effort` | Anthropic
(Claude) | GPT-5.5
(ChatGPT) | DeepSeek V4 | Kimi K2.7
(Moonshot) | Gemini 3.x | |:---:|:---:|:---:|:---:|:---:|:---:| | `low` | ✅ `low` | ✅ `low` | ⬆ `high` | 🔛 thinking on | ✅ `LOW` | | `medium` | ✅ `medium` | ✅ `medium` | ⬆ `high` | 🔛 thinking on | ✅ `MEDIUM` | | `high` | ✅ `high` | ✅ `high` | ✅ `high` | 🔛 thinking on | ✅ `HIGH` | | `xhigh` | ✅ `xhigh` | ✅ `xhigh` | ⬆ `max` | 🔛 thinking on | ⬆ `HIGH` | | `max` | ✅ `max` | ⬆ `xhigh` ¹ | ✅ `max` | 🔛 thinking on | ⬆ `HIGH` | **Обозначения:** - ✅ — нативная поддержка (1:1 соответствие) - ⬆ — маппинг на ближайший доступный уровень вверх - 🔛 — бинарный режим (thinking вкл/выкл, без градаций) ¹ GPT-5.5 не имеет уровня `max` — effort-proxy (`claude-gpt-effort-proxy.py`) маппит `max` → `xhigh` ## Нативные уровни каждого провайдера ### Anthropic (Claude) — эталон ``` low → medium → high → xhigh → max ``` - 5 уровней, полное соответствие с Claude Code - По умолчанию: `xhigh` - `max` — максимальный бюджет на thinking, для самых сложных задач ### GPT-5.5 (через claude-code-proxy) ``` low → medium → high → xhigh ``` - 4 основных уровня (также существуют `none` и `minimal`) - Нет `max` → маппится в `xhigh` - По умолчанию: `medium` - Маппинг выполняется effort-proxy на стороне лаунчера ### DeepSeek V4 ``` high → max ``` - Всего 2 реальных уровня - `low` и `medium` → автоматически поднимаются до `high` - `xhigh` → автоматически поднимается до `max` - Маппинг выполняется на стороне DeepSeek API ### Kimi K2.7 (Moonshot AI) ``` on / off ``` - Бинарный режим — thinking либо включён, либо выключен - Все уровни effort = thinking включён - Нет градаций глубины reasoning - Маппинг выполняется на стороне Moonshot API ### Gemini 3.x (через antigravity-claude-proxy) ``` MINIMAL → LOW → MEDIUM → HIGH ``` - 4 уровня - Нет `xhigh` и `max` → оба маппятся в `HIGH` - Pro-модели: по умолчанию `HIGH` - Flash-модели: по умолчанию `MEDIUM` - Маппинг выполняется на стороне antigravity-claude-proxy ## Где выполняется маппинг | Провайдер | Кто маппит | Файл/компонент | |:---|:---|:---| | Anthropic | Не нужен | — | | GPT-5.5 | effort-proxy (наш) | `~/.local/bin/claude-gpt-effort-proxy.py` | | DeepSeek V4 | DeepSeek API | На стороне сервера | | Kimi K2.7 | Moonshot API | На стороне сервера | | Gemini 3.x | antigravity-claude-proxy | npm пакет | ## Persistence effort между сессиями Каждый лаунчер (`ai-claude`, `ai-deepseek`, `ai-kimi`, `ai-openrouter`) запоминает свой уровень effort отдельно. Логика гибридная: - **`low` / `medium` / `high` / `xhigh`** живут нативно в `settings.json` лаунчера. `/effort` внутри сессии работает как обычно, уровень сохраняется между сессиями. - **`max`** — единственный, который Claude Code **не сохраняет** в `settings.json` (он session-only). Поэтому его восстанавливаем через `CLAUDE_CODE_EFFORT_LEVEL`. Текущий уровень (включая `max`) статусбар пишет в `~/.cache/ai-setup/effort_`. **Важное следствие (только для `max`):** когда восстановлена `max`-сессия, выставлена `CLAUDE_CODE_EFFORT_LEVEL=max`, и `/effort` внутри неё **не сменит** уровень (env-переменная — жёсткий override Claude Code). На остальных уровнях `/effort` свободен. **Как выйти из `max` (или форсить любой уровень):** перезапусти лаунчер с `AI_EFFORT`: ```bash AI_EFFORT=max ai-deepseek # включить и запомнить max AI_EFFORT=high ai-deepseek # вернуться на high (выйти из max) ai-deepseek # без флага - восстанавливает последний уровень ``` Дефолты при пустом кэше: `xhigh` для `ai-claude`, `high` для остальных. ## Рекомендации - **Для повседневной работы:** `high` или `xhigh` — работает одинаково хорошо у всех провайдеров - **`max` effort:** имеет реальный эффект только у **Anthropic** и **DeepSeek**. Для GPT маппится в `xhigh`, для Gemini и Kimi — в их максимальный уровень - **`low`/`medium`:** у DeepSeek и Kimi фактически не снижают reasoning — DeepSeek поднимет до `high`, Kimi просто включит thinking - **Смена уровня:** на `low..xhigh` обычным `/effort`; из `max` — через `AI_EFFORT= ai-` (в max-сессии `/effort` залочен env-переменной, см. «Persistence effort»)