EFFORT_MAPPING, statusline и _apply_effort переведены на нативное хранение уровня в settings.json лаунчера. Убран CLAUDE_CODE_EFFORT_LEVEL (он блокировал /effort внутри сессии) и кэш ~/.cache/ai-setup/effort_*, который никто не читал и который врал относительно реального уровня. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5.2 KiB
Effort Mapping - соответствие уровней для Claude Code лаунчеров
Как это работает
/effort и AI_EFFORT относятся к лаунчерам, которые запускают Claude Code:
ai-claude, ai-deepseek, ai-kimi, ai-openrouter.
Нативные лаунчеры ai-gpt (OpenAI Codex) и ai-gemini (Antigravity agy) не используют
эту схему. У них свои настройки reasoning внутри соответствующего CLI.
Документ отражает текущую реализацию scripts/ai-setup.sh.
Таблица маппинга
Claude Code /effort |
Anthropic (ai-claude) |
DeepSeek V4 (ai-deepseek) |
Kimi K2.7/K2.6 (ai-kimi) |
OpenRouter/GPT-5.5 (ai-openrouter) |
|---|---|---|---|---|
low |
нативно low |
провайдер поднимает до high |
thinking on | без локального маппинга |
medium |
нативно medium |
провайдер поднимает до high |
thinking on | без локального маппинга |
high |
нативно high |
нативно high |
thinking on | без локального маппинга |
xhigh |
нативно xhigh |
провайдер поднимает до max |
thinking on | без локального маппинга |
max |
нативно max |
нативно max |
thinking on | без локального маппинга |
Для OpenRouter текущий лаунчер не делает локального преобразования effort и отправляет значение дальше через Claude Code/OpenRouter. Конкретная интерпретация зависит от выбранной модели и backend-а OpenRouter.
Нативные уровни каждого провайдера
Anthropic (Claude)
low -> medium -> high -> xhigh -> max
- 5 уровней, полное соответствие с Claude Code.
- Дефолт
ai-claude:xhigh. max- максимальный бюджет thinking для самых сложных задач.
DeepSeek V4
high -> max
- 2 реальных уровня.
lowиmediumфактически поднимаются доhigh.xhighфактически поднимается доmax.- Маппинг выполняется на стороне DeepSeek API.
- Дефолт
ai-deepseek:high.
Kimi K2.7/K2.6 (Moonshot AI)
on / off
- Бинарный режим: thinking либо включен, либо выключен.
- Все уровни Claude Code effort в текущем лаунчере означают thinking on.
- Градаций глубины reasoning нет.
- Дефолт
ai-kimi:high.
OpenRouter / GPT-5.5
Текущий ai-openrouter работает через Claude Code с ANTHROPIC_BASE_URL=https://openrouter.ai/api
и не вызывает локальный effort proxy. Поэтому low/medium/high/xhigh/max не
преобразуются в shell-лаунчере.
claude-gpt-effort-proxy.py все еще генерируется как совместимый helper для старого
claude-code-proxy backend-а. Если использовать его вручную, он маппит только
xhigh -> high, потому что claude-code-proxy принимает low, medium, high, max.
Где выполняется маппинг
| Провайдер | Кто маппит | Файл/компонент |
|---|---|---|
| Anthropic | Не нужен | - |
| DeepSeek V4 | DeepSeek API | На стороне сервера |
| Kimi K2.7/K2.6 | Moonshot API | На стороне сервера |
| OpenRouter/GPT-5.5 | Локального маппинга нет | ai-openrouter отправляет значение как есть |
| Legacy GPT proxy | helper-маппинг xhigh -> high |
~/bin/claude-gpt-effort-proxy.py или ~/.local/bin/claude-gpt-effort-proxy.py |
Persistence effort между сессиями
Каждый Claude Code лаунчер (ai-claude, ai-deepseek, ai-kimi, ai-openrouter)
запоминает свой уровень effort отдельно в settings.json лаунчера.
/effort внутри сессии работает для всех уровней. CLAUDE_CODE_EFFORT_LEVEL не используется.
Форсировать уровень при запуске:
AI_EFFORT=max ai-deepseek # включить max
AI_EFFORT=high ai-deepseek # включить high
ai-deepseek # без флага - использовать уровень из settings.json
Дефолты: xhigh для ai-claude, high для остальных Claude Code лаунчеров.
Рекомендации
- Для повседневной работы:
highилиxhigh. maxeffort имеет реальный эффект у Anthropic и DeepSeek; у Kimi это все тот же thinking on.low/mediumу DeepSeek и Kimi фактически не снижают reasoning.