Ларс де Риддер, разработчик и автор блога “The Redbeard”, задумался: насколько по-разному ИИ-ассистенты для кода расходуют наше общее контекстное окно? Ответы удивили.
Все началось с ситуации, когда Ларс попросил Claude исправить баг в одной строчке кода. Клод справился, использовав 23 000 токенов. Затем ту же задачу он скормил Gemini, и ему понадобилось 350 000 токенов. Для того чтобы изучить различия, Ларс написал инструмент – Context Lens. Это такой “жучок”, который перехватывает API-вызовы к LLM и показывает, что именно попадает в контекстное окно модели, причем с разбивкой по шагам.
Вооружившись разработкой, Ларс направил её на четыре популярных инструмента для кодинга: Claude Code (с моделями Opus 4.6 и Sonnet 4.5), Codex CLI (на базе GPT-5.3) и Gemini CLI (Gemini 2.5 Pro). Всем выдали одно и то же задание.
Задача: в репозиторий Express.js (со всей 6128-коммитной историей) был намеренно внесен баг. В методе
res.send()переставили проверку наnull, из-за чего вызовres.send(null)возвращал строку"null"с заголовкомapplication/jsonвместо пустого тела. Инструментам нужно было найти и исправить этот баг, затем проверить себя в тестах.
Все четыре справились с задачей – 1246 тестов были пройдены. Но пути к этому финалу, как и количество съеденных токенов, оказались диаметрально противоположными. Вот что показал анализ Context Lens.
Claude Opus 4.6 показал себя детективом. Услышав фразу “раньше это работало”, он сделал логичный вывод: нужно найти коммит, который всё сломал. Opus выполняет git log, находит нужный коммит, делает git diff, читает 20 строк кода в файле lib/response.js, применяет фикс и запускает тесты. Всего шесть вызовов инструментов за 47 секунд и стабильные ~23–25К токенов на большинстве запусков. Но есть нюанс: 70% его контекстного окна (16,4K токенов) занимают определения инструментов. Claude как хирург, который вынужден таскать за спиной рюкзак с садовым инвентарем.
Claude Sonnet 4.5 выбрал путь прилежного студента. Он начал с чтения всего тестового файла (test/res.send.js, 15,5K токенов), потом изучил исходный код и только затем полез в git-историю. Такой подход потреблял уже ~42–44К токенов, а структура его контекста была самой сбалансированной: примерно поровну определений инструментов и результатов их работы.
Codex CLI оказался олдскульным хакером. Он проигнорировал git и работал через шелл: rg для поиска, sed для вырезания конкретных строк, apply_patch для правки. Он даже умеет запускать параллельные шелловые команды в одном вызове, чего не делают другие. Codex вообще не задумывается о контексте: он просто ищет, читает минимум и чинит. Результат – предсказуемые 29–47К токенов и рекордная скорость в 34 секунды.
Gemini 2.5 Pro – это полная противоположность. У него нет накладных расходов на определения инструментов, зато его подход к чтению данных отличается. В одном из запусков Context Lens зафиксировал, как Gemini поместил в контекст 118,5К токенов, просто выполнив git log -p lib/response.js без какого-либо усечения. Это история файла с сотнями коммитов. Видимо, чтобы “стог сена был побольше, иголка точно найдется”.
Но самое безумное – он применил к себе методологию TDD. Не удовлетворившись существующими тестами, Gemini модифицировал тестовый файл, добавил там проверку на корректное поведение, убедился, что тест падает, починил код, убедился, что тест проходит, а затем... откатил свои изменения в тесте и прогнал всю тестовую Suite заново.
Выводы Ларса: ни один из инструментов не думает о бюджете контекста. Они просто потребляют всё, до чего могут дотянуться. Эффективность того или иного решения – это не следствие работы менеджера контекста, а чисто побочный эффект стратегии поиска информации. Opus просто повезло, что в git-истории был ответ. Если бы баг был глубже, он бы тоже начал читать всё подряд.
Ларс обещает продолжить эксперименты. Например, он уже получил предварительные данные о том, как меняется поведение моделей в зависимости от наличия или отсутствия git-истории. Без неё Opus теряет хватку, Codex вообще не замечает разницы, а Sonnet начинает откровенно мучиться (58 вызовов API, 3+ минуты, 80К токенов). Следим за развитием событий.
Делегируйте часть рутинных задач вместе с BotHub! Для доступа к сервису не требуется VPN и можно использовать российскую карту. По ссылке вы можете получить 300 000 бесплатных токенов для первых задач и приступить к работе с нейросетями прямо сейчас!

