AIDive

Одно слово в Claude Code съедает 2x квоты. 5 настроек его ограничат

AIDive · Опубликовано

Кодинг-агентыАвтоматизация и workflow

Вступление: те же проверки, вдвое больше счётчика, пять ограничений

Ultracode, то есть ключевое слово или переключатель, превращает один запрос, набранный в Claude Code, в целую команду агентов. В парном тесте с одной и той же спецификацией оба запуска прошли одни и те же скрытые проверки, но запуск с ultracode потратил более чем вдвое больше счётчика сессии. Причина не в более умной модели: это одна фраза, которую подставляет harness, и три защиты, которые он отключает.

В этой статье четыре темы:

  • парный тест, прочитанный по счётчику тарифа;
  • множитель токенов на нескольких других парах;
  • единственный тип задач, где команда нашла 66 подложенных багов, а одиночный агент только 14;
  • пять настроек, которые ограничивают запуск раньше, чем он съест вашу неделю, и одна из них останавливает его на самом лимите использования.

Что включает ultracode: слово, переключатель, workflow из агентов

Ultracode это два переключателя. Если набрать ultracode внутри одного промпта, эта единственная задача выполняется как workflow, а уровень effort сессии не меняется. Если включить переключатель через команду /effort, Claude будет планировать workflow для каждой значимой задачи, так что один запрос может превратиться в несколько workflow подряд.

Workflow это скрипт, который Claude пишет для себя; этот скрипт запускает команду агентов по фазам. На крошечной песочнице (пара файлов с небрежной обработкой промисов, запрошен обзор только для чтения) Claude изучил файлы, запустил разветвление с workflow под названием «unhandled promise audit», и под полем ввода появилась строка задачи с индикатором прогресса, числом агентов, прошедшим временем и растущим счётчиком токенов. Команда /workflows показывает по строке на каждого агента с его собственным числом токенов, а также клавиши для паузы, остановки и перезапуска.

В том запуске каждый искатель прочитал около 45 000 токенов ещё до начала работы верификаторов, ради нескольких строк кода.

В каждой сессии есть и рекомендация по размеру: число агентов, меньше которого Claude советуют оставаться.

Рекомендация по размеру Рекомендуемое число агентов
small (по умолчанию на Pro) меньше 5
medium меньше 10

Каждый агент отправляет собственные запросы поверх вашего разговора. Workflow никогда не один счёт: это по счёту на каждого агента, и счётчик учитывает каждый из них.

Парный тест: те же 136 проверок, 8 процентов против 18, и он не останавливается

Разработчик измерил стоимость на верхнем тарифе подписки в чистых условиях: одна и та же спецификация небольшого приложения-таблицы, та же модель с тем же effort, один обычный запуск и один запуск с ultracode. Оба оценивались скрытыми проверками, то есть тестами, которых модель не видит. Оба прошли все 136.

Запуск Завершение Использовано от лимита сессии Пройдено проверок
Обычный сам, за 25 мин 8 % 136 / 136
Ultracode прерван по таймеру на 76-й минуте, всё ещё проверял 18 % 136 / 136

Внутри запуска с ultracode Claude написал скрипт, единственная задача которого была в том, чтобы запустить команду: насчитали 12 агентов, тестировщики, несколько судей и позже «ломатели», задачей которых было сломать страницу. Один из них действительно нашёл настоящий баг в строке формул: после щелчка по другой ячейке она продолжала показывать старый текст.

В пересчёте на минуту запуск с ultracode расходовал лимит примерно так же быстро, как обычный, в среднем даже чуть медленнее. Он не сжигал быстрее; он просто не останавливался. Ultracode не делает Claude умнее, он заставляет Claude проверять, и вы платите за каждую проверку. Это одна пара на небольшой спецификации, и второй запуск был прерван по таймеру, но картина ясна: тот же ответ, более чем вдвое больше окна сессии, и всё дополнительное время ушло на проверки.

Почему это дорого: одна фраза и три отключённые защиты

Модель та же. Меняется текст, который ей передаёт harness; harness это сам Claude Code, его инструменты и инструкции вокруг модели.

Когда ultracode включён, Claude Code загружает справочник перед написанием любого workflow. Этот текст велит модели по умолчанию запускать workflow для каждой значимой задачи и содержит фразу, объясняющую счёт: «The goal is the most exhaustive, correct answer you can produce, and token cost is not a constraint.» Это собственный текст harness, и ту же формулировку цитирует публичный issue на GitHub.

Одновременно отключаются три защиты:

  1. Предупреждение о большом workflow, которое обычно срабатывает, когда запуск планирует слишком много агентов, не появляется.
  2. Ограничение сессии на число одновременно работающих агентов не применяется к агентам, которых запускает Claude.
  3. В режиме auto первый запуск никогда не отправляется на подтверждение.

Рекомендация по размеру это совет, а не предел: при значении small (меньше 5 агентов) на песочнице запуск с ultracode всё равно породил 9. Справедливости ради, эта фраза является значением по умолчанию, которое модель всё ещё может взвешивать, а защиты отключены намеренно, ради очень больших задач. Ответ умещается в одну строку: ultracode не меняет модель, он меняет инструкции на «команда для всего, а стоимость не ограничение».

Множитель: три пары, лестница effort, пара с 30-кратной ценой

Второй разработчик провёл несколько пар «одиночный агент против workflow» на тарифе Pro, на скриптах в стиле обзора, считывая счётчик использования до и после каждого.

Показатель Одиночный агент Workflow
Токены на одном скрипте обзора около 115 000 972 000
Множитель токенов по парам 1x до 18x, при примерно тех же находках
Сдвиг счётчика 1x до 3x
Время работы почти одинаковое почти одинаковое

Workflow не закончил быстрее; он потратил больше, а ждать пришлось столько же. Единственное место, где параллельность окупилась, это пакет независимых исследовательских задач: агенты закончили быстрее, но всё равно за более чем вдвое больше токенов.

Третий тест собрал несколько небольших приложений на каждом уровне effort по ценам API. Каждый шаг вверх по лестнице примерно удваивал счёт, а ultracode оказался в несколько раз дороже max, так и не выйдя на первое место. Большая часть этих токенов приходилась на чтение кэша, самые дешёвые, а крошечная доля выходных токенов составила почти половину стоимости.

Ещё одна пара, городская сцена: одному агенту потребовался около часа и несколько долларов по ценам API. Запуск с ultracode занял почти сутки, десятки субагентов и примерно в 30 раз больше денег.

Это показания счётчика в целых числах, новые приложения по ценам API и одна городская сцена, так что ни одно из них само по себе не является табло результатов. Вместе они дают одну и ту же закономерность: разветвление покупает проверку и охват, а не лучший ответ, если только задача не делится на независимые части.

Где окупается разветвление: набор тестов как судья и правило в одну строку

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

Bun переписали с Zig на Rust примерно 50 динамическими workflow в Claude Code, которые работали непрерывно 11 дней. Это более полумиллиона строк на Zig, от старта до прохождения всего набора тестов на каждой платформе в те же дни. Сработало не число агентов, а судья: огромный готовый набор тестов говорил «прошло» или «упало», ничьим мнением не интересуясь.

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

Агент Найдено багов из 70
Одиночный агент (3 запуска) 14, 15, 27
Workflow (3 запуска) 66 в каждом запуске

Одна оговорка: этот тест шёл на Claude Managed Agents, то есть на продукте API, а не в Claude Code, и стоимость не приводилась.

Тред запуска добавляет другие заявленные успехи, и все они похожи: обзор по файлу правил, перевод целой кодовой базы, наведение порядка в куче отсканированных страниц. Блог запуска говорит прямо: большинству традиционных задач программирования не нужна комиссия из пяти рецензентов.

Правило: разветвляйте, только если результат оценивает набор тестов или набор правил и задача делится на независимые части. Всё остальное запускайте обычным способом, на high. Автор парного теста сказал то же своими словами: приберегите это для задач, где проверка и есть работа, например для миграции по сотням файлов.

Пять настроек, ограничивающих запуск

Каждое ограничение находится там, где вы уже привыкли искать.

# Настройка Где Эффект
1 workflowSizeGuideline: "small" /config в разделе Dynamic workflow size или settings.json совет (меньше 5 агентов), а также снижает порог предупреждения о большом workflow
2 CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS переменная окружения, экспортируется перед запуском по умолчанию до 16 агентов одновременно; при значении 4 остальные ждут в очереди, расход замедляется, а запуск не убивается
3 CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL переменная окружения запускает всех агентов workflow на одной выбранной вами модели, а остальные субагенты сохраняют свои; более дешёвая модель делает проверки дешевле
4 ключевое слово ultracode, а не переключатель в промпте; никогда не ключ ultracode в настройках слово запускает одну задачу как workflow и на этом останавливается; переключатель делает режим постоянным, пока его не выключат
5 autoContinueAtUsageLimit настройки включено: запуск, упёршийся в лимит, ставится на паузу, ждёт сброса и продолжает, и не один раз; выключено: агенты падают у стены, и запуск на этом заканчивается

С ними идут три привычки. Блог запуска говорит, что бюджет, записанный в промпте, например «use 10k tokens», задаёт предел. После любого запуска /usage показывает, какая часть недавнего использования ушла на субагентов и workflow, с предупреждением, когда они преобладают. Если запуск выглядит неправильно по ходу работы, панель /workflows и клавиша x останавливают его, а уже сделанная работа обычно сохраняется.

Ничто из этого не делает агента дешевле. Это ограничивает, сколько агентов может потратить запуск и как долго он может продолжать тратить.

Убежавший запуск, лимиты и вердикт

Один публичный отчёт показывает, как исчезает неделя. Скрипт, написанный моделью, на самом большом тарифе запустил 221 агента меньше чем за час. После первой ошибки лимита сессии скрипт продолжал рассылать задачи, и в следующие несколько минут стартовали ещё 189 агентов. В собственной таблице автора отчёта набираются десятки миллионов токенов по фазам до упора в стену.

Фаза Токены, включая кэш
Ground 11 063 801
Find 35 885 272
Merge 516 226
Итого 47 465 299

Виновником была одна строка в сгенерированном скрипте, запасной вариант, который гласил: если агент ничего не вернул, используй исходный список и иди дальше. Слияние упало, а запуск продолжил работу. Эта версия появилась раньше паузы на лимите использования, и автор отчёта говорит, что эти токены принадлежали не упавшим агентам. Потолок параллелизма проредил бы тот запуск, а выключенное автопродолжение закончило бы его у стены.

Вердикт: на одной и той же задаче, при тех же пройденных проверках, ultracode потратил более чем вдвое больше счётчика, чем обычный запуск. Не потому что он умнее, а из-за подставленной фразы и защит, которые он отключает. Он окупается, когда результат оценивает набор тестов или набор правил и части не ждут друг друга. Везде в остальных случаях вы набираете его и платите за проверки. Пять настроек ограничивают то, что может потратить запуск: рекомендация по размеру, потолок параллелизма, модель workflow, ключевое слово вместо переключателя и остановка на лимите.

Бесплатные материалы

Источники

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

Что делает ultracode в Claude Code?
Ключевое слово ultracode, набранное внутри промпта, запускает эту одну задачу как динамический workflow: скрипт, который Claude пишет сам и который запускает команду агентов по фазам. Если включить его переключателем через /effort, Claude будет планировать workflow для каждой значимой задачи, пока вы его не выключите.
Расходует ли ultracode больше моей квоты Claude Code?
Да. В парном тесте с одной спецификацией и теми же скрытыми проверками обычный запуск потратил 8 % лимита сессии, а запуск с ultracode 18 %, то есть более чем вдвое, при одинаково идеальном результате. Другие пары показали до 18x токенов и до 3x счётчика при примерно тех же находках.
Ultracode это более сильная модель?
Нет. Модель та же. Ultracode меняет инструкции, которые harness передаёт модели, включая строку «token cost is not a constraint», и отключает три защиты: предупреждение о большом workflow, лимит одновременных агентов для запущенных агентов и подтверждение первого запуска в режиме auto.
Когда workflow в Claude Code стоит потраченных токенов?
Когда результат оценивает набор тестов или набор правил и задача делится на независимые части: миграция по сотням файлов, аудит по файлу правил или прочёсывание на баги. Переписывание Bun с Zig на Rust и тест Anthropic с 70 подложенными багами (66 нашёл workflow против 14 до 27 у одиночного агента) относятся именно к этому типу. Обычные задачи программирования запускаются обычным способом на high.
Как ограничить, сколько может потратить workflow в Claude Code?
Задайте workflowSizeGuideline равным small, выполните export CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS=4, направьте CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL на более дешёвую модель, используйте ключевое слово ultracode в промпте вместо переключателя и выключите autoContinueAtUsageLimit, чтобы запуск заканчивался у стены лимита, а не ждал сброса и продолжал.
Как остановить workflow в Claude Code, который выходит из-под контроля?
Откройте панель /workflows и нажмите x; уже сделанная работа обычно сохраняется. После запуска /usage покажет, какая часть вашего недавнего использования ушла на субагентов и workflow.

Похожие видео