Экономия токенов в Codex: чек-лист для работы по API

Девять привычек и настроек, которые снижают расход Codex при оплате за токены: от AGENTS.md и размера задач до выбора модели и кэша.

6 мин · · экономия · агенты

Когда Codex работает по API, а не по подписке, каждый шаг агента превращается в строку на счёте. Расход растёт не от количества ваших сообщений, а от размера контекста, который агент заново отправляет на каждом шаге. Ниже чек-лист из девяти пунктов: что настроить в Codex и какие привычки снижают расход токенов. Названия настроек и команд сверены с документацией Codex на 18 октября 2026; версии меняются, поэтому при расхождениях доверяйте документации самого инструмента.

Откуда берётся расход

Агентный цикл выглядит так: модель просит прочитать файл, получает его содержимое, просит запустить тест, получает вывод, правит код. В каждом запросе уходит вся накопленная история. Если начальный контекст 10 000 токенов (инструкции, AGENTS.md, первые файлы), а на каждом шаге добавляется ещё 2 000, то за 30 шагов во входе набегает:

bash
30 × 10 000 + 2 000 × (0 + 1 + ... + 29) = 300 000 + 2 000 × 435 = 1 170 000 токенов

Это около 1.2M токенов входа ради 30 шагов. Рост квадратичный: чем дольше сессия, тем дороже каждый следующий шаг. Из этого следуют почти все пункты ниже.

Подключение: тоже влияет на расход

Zukko подключается к Codex через ~/.codex/config.toml с wire_api = "responses", ключ кладётся в ~/.codex/auth.json как OPENAI_API_KEY. Эта схема описана в документации по Codex. Пример конфига со всеми параметрами из чек-листа:

bash
model = "gpt-6.1-sol"
model_provider = "zukko"
model_reasoning_effort = "medium"
model_context_window = 1000000
model_auto_compact_token_limit = 200000
tool_output_token_limit = 10000

[model_providers.zukko]
name = "zukko"
base_url = "https://api.zukko.pro/v1"
wire_api = "responses"
requires_openai_auth = true

Числа в примере — отправная точка, а не рекомендация: подберите свои. Для GPT-моделей чтение кэша видно шлюзу в этом формате, поэтому дешёвые кэшированные токены попадают в счёт сразу.

Чек-лист

1. Режьте задачи на короткие сессии

Из формулы выше: три сессии по 10 шагов обходятся дешевле одной на 30. Те же допущения: на 10 шагов входа 10 × 10 000 + 2 000 × 45 = 190 000, три сессии дают 570 000 против 1 170 000. Закончили логический кусок работы, закоммитили — начинайте новый чат командой /new (или /clear, если нужно очистить экран). Контекст, который нужен дальше, лежит в репозитории и в AGENTS.md, а не в истории.

2. Сжимайте длинную историю

Если задачу нельзя разрезать, команда /compact суммаризирует историю и освобождает токены. Автоматическое сжатие включается параметром model_auto_compact_token_limit: порог в токенах, при котором Codex сам сожмёт историю. Если порог не задан, действует значение по умолчанию для модели; явный порог даёт вам контроль над размером истории, а окно в 1M токенов позволяет сессии расти очень долго, и каждый её виток вы оплачиваете.

3. Держите AGENTS.md коротким

Файл читается в начале сессии и попадает в каждый запрос. Каждая лишняя строка умножается на число шагов. Пишите команды сборки и тестов, соглашения по коду, запреты. Не пишите историю проекта и длинные пояснения. Лимит чтения задаёт project_doc_max_bytes. Подробнее: AGENTS.md для Codex.

4. Формулируйте задачу с путями

«Исправь ошибку в авторизации» заставляет агента искать по всему проекту, а «исправь тест tests/test_auth.py::test_refresh в app/auth/tokens.py» сокращает разведку до пары чтений. Указывайте файлы, команду проверки и критерий готовности.

5. Ограничивайте вывод команд

Лог тестов на 5 000 строк съедает контекст и остаётся в нём до конца сессии. Просите запускать тесты в тихом режиме и показывать хвост (pytest -q | tail -40), а длинные результаты — сохранять в файл. Параметр tool_output_token_limit задаёт бюджет токенов на один вывод инструмента в истории.

6. Выбирайте модель под задачу

Цены в Zukko на 18 октября 2026, за 1M токенов:

МодельВход / выходЧтение кэшаИндекс силы
gpt-6.1-sol$0.27 / $1.320.01352
gpt-6-sol$0.13 / $0.630.01349
gpt-6-luna$0.04 / $0.210.03838

Сессия из 1.2M токенов входа и 24 000 токенов выхода без кэша стоит: gpt-6.1-sol — 1.2 × 0.27 + 0.024 × 1.32 = $0.324 + $0.0317 = около $0.356; gpt-6-sol — 1.2 × 0.13 + 0.024 × 0.63 = $0.156 + $0.0151 = около $0.171; gpt-6-luna — 1.2 × 0.04 + 0.024 × 0.21 = $0.048 + $0.005 = около $0.053. У gpt-6-luna нет картинок на входе. Индекс силы не гарантирует результата на вашей задаче: прогоните одну и ту же правку на разных моделях и сравните. Переключать модель можно в сессии командой /model или флагом --model при запуске.

7. Подберите уровень рассуждений

Параметр model_reasoning_effort (значения вроде low, medium, high, набор зависит от модели) определяет, сколько модель «думает» до ответа. Рассуждения, как правило, учитываются как выходные токены, а выход дороже входа (у gpt-6.1-sol 1.32 против 0.27). Для рутинных правок попробуйте уровень ниже, для сложной отладки поднимайте. Какой уровень нужен, показывает только проверка на ваших задачах; поле usage в ответе покажет число токенов. Подробнее: reasoning и стоимость.

8. Не ломайте кэш

Кэш работает по префиксу запроса: совпадающее начало читается по сниженной цене. Для GPT в Zukko учитывается только чтение кэша; запись отдельно не списывается, первый запрос идёт по цене входа целиком. Чтобы кэш срабатывал, не меняйте модель посреди сессии, не правьте AGENTS.md во время работы и не переставляйте начало промпта. Расчёт: допустим, 75% входа из 1.2M пришло из кэша (0.9M), 0.3M свежие. Тогда на gpt-6.1-sol: 0.3 × 0.27 + 0.9 × 0.013 + 0.024 × 1.32 = $0.081 + $0.0117 + $0.0317 = около $0.124 вместо $0.356. Реальная доля кэша зависит от вашей сессии, это допущение для иллюстрации. Устройство кэша: лимиты ключа и кэш.

9. Поставьте лимит и смотрите расход

Отдельный ключ для Codex с дневным лимитом в кабинете остановит ошибочный цикл. Внутри сессии команда /status показывает текущее состояние сессии, а историю списаний в долларах смотрите в разделе «Использование» кабинета или через GET /v1/usage.

Сводка

ПривычкаЧто снижает
Короткие сессии, /newрост входа по ходу шагов
/compact и порог автосжатияразмер накопленной истории
Короткий AGENTS.mdпостоянную часть каждого запроса
Пути и критерии в задачеобъём разведки
Тихие тесты и лимит выводамусор в контексте
Модель по задачецену токена
Умеренные рассуждениявыходные токены
Стабильный префиксдолю свежего входа
Лимит ключариск зацикливания

Частые вопросы

Как узнать, сколько токенов потратил Codex?

В сессии откройте /status, а историю списаний смотрите в разделе «Использование» кабинета или через GET /v1/usage.

Влияет ли размер окна контекста на цену?

Окно — это предел, а платите вы за фактически отправленные токены. Но большое окно позволяет сессии разрастаться, поэтому ограничивайте историю сжатием и короткими сессиями.

Что выгоднее: одна модель или две?

Один из вариантов — сильная модель для сложных шагов и дешёвая для рутины. Проверьте на своих задачах, достаточно ли дешёвой, и переключайтесь через /model.

Как начать?

Создайте ключ в кабинете, задайте дневной лимит, подключите Codex по инструкции выше и сравните расход до и после этих настроек.

zukko

Платите в 25×
меньше

за Claude Code & ChatGPT

Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.

Экономия токенов Codex: чек-лист для работы по API · Zukko