BUN_OPTIONS=--preload.Разбор выложила команда Flamerix AI под лицензией MIT — gist на GitHub. На Hacker News он собрал 376 баллов и 129 комментариев. Тесты шли на Linux, версии Claude Code 2.1.257–2.1.312.
Механика простая и от этого неприятная. Каждые ~30 секунд на каждого фонового агента уходит его полный транскрипт в модель этого же агента — обычно Opus. Промпт один: «describe your most recent action in 3-5 words». Ответ живёт только в строке статуса панели агентов. В диалог и в модель он не попадает. Настройки, которая это выключает, нет. С 2.1.232 фича работает по умолчанию.
Нашли это через OpenTelemetry-экспорт Claude Code. Авторы сгруппировали события claude_code.api_request по query_source. agent_summary оказался дороже главного разговора: 16,4% всех расходов против 15,7%. Через два дня после включения хука — 0%. Доля запросов: 19,7%, примерно каждый пятый. Потом тоже ноль. 96% этих трат уходило на Opus, входных токенов к выходным — около 9000 к 1. В issue #86879 собрали четыре независимых замера: 18–26%.
Фикс — no-agent-summary.js, около 80 строк. Это прелоад Bun: он оборачивает setTimeout/setInterval и ищет в тексте колбэка якорь суммизатора, например строку [AgentSummary] Timer fired. Нашёл — возвращает пустой хэндл вместо таймера. Остальные таймеры проходят как обычно.
Проще не вышло. Модуль лежит в бинарнике уже скомпилированным в байткод Bun, правка JS-текста внутри ничего не меняет. Клиент API не ходит через globalThis.fetch. Зато Function.prototype.toString отдаёт исходник колбэка даже из байткода — по этой строке таймер и ловят. Инертный таймер ставит задержку 2³¹−1 мс: всё, что больше, Node и Bun превращают в 1 мс.
Фоновые агенты перестали быть экспериментом — люди гоняют по несколько штук и платят за токены. Строка статуса выглядит мелочью, её никто не проверяет. Наша оценка: это не злой умысел, а побочный продукт. Кто-то захотел понятную подпись в интерфейсе и не посчитал цену. Просто у Anthropic всё видно в телеметрии, а у остальных — нет.
Что это меняет по деньгам. Для тех, кто держит несколько агентов на Opus, 16–26% — не абстракция. На подписке вы упираетесь в лимиты раньше, на API платите живые деньги за подпись, которую не читает даже модель. Но сильнее меня смущает приватность: транскрипт уходит наружу без спроса. Мы привыкли, что «фоновая задача» — это про локальность.
Кто выигрывает. Те, кто поставит хук, и конкуренты — Cursor, Codex CLI, открытые обвязки вроде OpenHands. У них такой строки в телеметрии, насколько я знаю, нет, так что сравнение теперь не в пользу Claude Code. Проигрывает идея «умных дефолтов»: как только дефолт стоит денег, его начинают мерить.
cost_usd — собственная оценка Claude Code на каждый запрос, а не счёт из биллинга. На подписке теряете не деньги, а остаток лимита, и в рубли это авторы не пересчитывают. Комментария Anthropic нет. Все замеры — с одной машины и на Linux. На других ОС и версиях цифры могут отличаться. Хук держится на внутренней строке лога [AgentSummary], а такие строки меняют без предупреждения. Проверять после каждого обновления — единственный способ не гадать.
Прогноз: в течение квартала в Claude Code появится либо настройка, либо agent_summary переедет на дешёвую модель. Публичная телеметрия, как здесь, обычно заканчивается именно так. Условие простое: если шум не утихнет и Anthropic ответит публично.
Дисклеймер: официально не подтверждено — разбор от сторонних исследователей, один gist и один issue.
Источник: GitHub Gist / Flamerix AI
Источник: gist.github.com · пост в Telegram