Аналіз запитів Codex виявив накладні витрати у 9400 токенів на промпт
Детальний аналіз мережевих запитів Codex CLI 0.145.0 виявив, що простий промпт із 16 символів генерує JSON-запит обсягом 43 КБ. Вбудовані інструкції, системні інструменти та контекст середовища споживають понад 9400 токенів ще до обробки коду користувача.
Чому це важливо
Розуміння накладних витрат запитів є критично важливим для розробників, які оптимізують витрати на токени, ліміти контекстного вікна та затримку при використанні CLI-агентів.
TL;DR
- 01Codex CLI додає близько 9400 токенів системних інструкцій та інструментів до початкового промпту.
- 02Файли AGENTS.md об'єднуються ієрархічно від кореня репозиторію до робочого каталогу.
- 03Великий вивід команд обрізається, але суттєво збільшує обсяг запиту до стиснення історії.
Структура запиту та базові накладні витрати
Перехоплення HTTP-запитів Codex CLI 0.145.0 виявило значний обсяг системного обгортання. Базовий промпт із 16 символів (Reply with pong.) генерує JSON-запит розміром 42 980 байт. При кодуванні через o200k_base це складає близько 9435 токенів. Сам обгорнутий промпт займає близько 25 токенів (~0.3% обсягу запиту), тоді як системні інструкції, метадані та інструменти складають інші 99.7%.
Ієрархічне зчитування файлів AGENTS.md
Codex будує ланцюжок інструкцій шляхом сканування каталогів від поточної директорії запуску до кореня репозиторію:
- Запуск у підкаталозі автоматично об’єднує всі
AGENTS.mdвід кореня до поточного каталогу. - Виконання команд на кшталт
ls childіз кореня не додаєchild/AGENTS.mdдо системного ланцюжка інструкцій. - Маркери показують, що текст інструкцій передається у повному обсязі в кожному наступному запиті.
Обрізання виводу та стиснення історії
Результати виконання команд додаються безпосередньо в історію. Хоча вивід на 10 000 рядків обрізається до початкових і кінцевих фрагментів, розмір запиту все одно зростає з ~9584 до 25 835 токенів. При досягненні порогу стиснення (наприклад, 12 000 токенів) запускається окремий запит на підсумкову суммаризацію (68 375 байт / ~21 408 токенів).