Claude Code и Codex CLI: что это, чем отличаются и как подключить
Claude Code и Codex CLI работают в терминале: читают репозиторий, правят файлы и запускают команды. Claude Code общается по протоколу Anthropic Messages, Codex CLI по Responses API. Оба подключаются к LLM Mart, но конфиги и адреса разные, и путаница между ними даёт 404.
Содержание
Два агента, две школы
Claude Code делает Anthropic, Codex CLI делает OpenAI. Оба живут в терминале и ведут себя похоже: показывают план, правят файлы, предлагают запустить тесты. Разница в модели, которой они доверяют по умолчанию, и в протоколе, которым говорят с сервером.
Протокол важнее названия. Claude Code собирает запросы к Anthropic Messages, Codex CLI к OpenAI Responses. Поэтому и базовые адреса разные: у Anthropic SDK путь без версии, у Responses с версией.
Claude Code: адрес без /v1
Claude Code ожидает базовый URL https://llmmart.ru/api и сам дописывает /v1/messages. Если указать /api/v1, получится /v1/v1/messages и ответ 404. Ключ передаётся в ANTHROPIC_AUTH_TOKEN, а ANTHROPIC_API_KEY нужно оставить пустой строкой, иначе агент может уйти в сохранённый вход claude.ai.
{
"env": {
"ANTHROPIC_BASE_URL": "https://llmmart.ru/api",
"ANTHROPIC_AUTH_TOKEN": "sk-…",
"ANTHROPIC_API_KEY": "",
"CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1"
}
}Файл кладётся в ~/.claude/settings.json или в .claude/settings.local.json проекта. При старте агент запрашивает список моделей и показывает в /model те, в идентификаторе которых есть claude или anthropic. Наши слаги вида anthropic/claude-sonnet-5.5 подходят, отдельно перечислять модели в конфиге не нужно.
Codex CLI: только Responses
Codex CLI с wire_api = "chat" не запускается: нужен режим responses. В конфиге задаётся провайдер с базовым адресом https://llmmart.ru/api/v1, именем переменной окружения и каталогом моделей.
model = "z-ai/glm-5.3"
model_provider = "llmmart"
[features]
api_key_model_discovery = true
[model_providers.llmmart]
name = "LLM Mart"
base_url = "https://llmmart.ru/api/v1"
model_catalog_url = "https://llmmart.ru/api/v1/models"
env_key = "LLM_MART_API_KEY"
wire_api = "responses"Модель должна поддерживать Responses, иначе вызов вернёт 404. Окно контекста, уровень усилий и порог автокомпакта Codex берёт из каталога модели, задавать их в конфиге не нужно. Каждый запрос независим: store и previous_response_id передавать нельзя.
Чем они отличаются на практике
Claude Code сильнее в многошаговой работе с инструментами и лучше держит длинную сессию правок. Codex CLI аккуратнее в роли одноразового исполнителя: дали задачу, получили диф. Модель под Codex можно взять любую с Responses, включая GLM или Kimi, и это его главное преимущество.
Второе отличие касается гибкости моделей. Claude Code надёжно работает с моделями Anthropic: другие семейства в слотах Haiku, Sonnet и Opus часто ломают tool use. Codex CLI спокойнее относится к смене вендора, потому что протокол Responses универсальнее по форме запроса.
Сколько стоит работа агента
Агент тратит много токенов: он читает файлы, повторяет контекст на каждом шаге и возвращает не короткий ответ, а диф. Основная статья расходов приходится на входные токены, и здесь сильно помогает кэширование, потому что системный промпт и содержимое репозитория повторяются от запроса к запросу.
Ориентир по цене входа: Sonnet 5.5 стоит 167,26 ₽ за 1M токенов, GLM 5.3 стоит 103,96 ₽. Обе величины берутся из каталога и обновляются вместе с ним. Детальные инструкции по обоим агентам лежат в разделе интеграций, включая настройку Claude Code и Codex CLI.
Частые вопросы
Claude Code и Codex это одно и то же?
Нет. Claude Code делает Anthropic, он говорит по протоколу Anthropic Messages и надёжно работает с моделями Claude. Codex CLI делает OpenAI, он использует Responses API и допускает другие семейства моделей вроде GLM или Kimi из каталога LLM Mart. Оба работают в терминале и умеют править репозиторий, но конфиги и базовые адреса у них разные.
Какой base URL указывать в Claude Code?
Укажите https://llmmart.ru/api, без /v1: клиент сам допишет /v1/messages. Если добавить версию вручную, получится /v1/v1/messages и ответ 404. Ключ LLM Mart передаётся в ANTHROPIC_AUTH_TOKEN, а ANTHROPIC_API_KEY оставьте пустой строкой, чтобы агент не ушёл в сохранённый вход claude.ai. Остальные переменные не нужны.
Почему Codex CLI не запускается с wire_api chat?
Codex CLI поддерживает только Responses API, поэтому значение chat в конфиге приводит к отказу запуска. Укажите wire_api = "responses" и base_url https://llmmart.ru/api/v1, как в документации LLM Mart. Сама модель тоже должна поддерживать Responses, иначе запрос вернёт 404, даже если авторизация прошла успешно.
Сколько стоит работа Claude Code в рублях?
Стоимость считается по фактическим токенам, а агент тратит их много: он перечитывает файлы и повторяет контекст на каждом шаге. Цена входа Sonnet 5.5 указана в каталоге LLM Mart за 1M токенов, кэш-чтение тарифицируется отдельно и дешевле. Ограничить расход можно бюджет-правилом на ключ в разделе политик.
Можно ли подключить Claude Code к моделям не от Anthropic?
Технически можно, но работать будет нестабильно: слоты Haiku, Sonnet и Opus рассчитаны на поведение моделей Claude, а другие семейства часто ломают вызов инструментов. Для GLM, Kimi и DeepSeek из каталога LLM Mart надёжнее Codex CLI с профилем под нужную модель. Это же ограничение описано в документации по интеграциям.
Комментарии 0