Вступление: те же проверки, вдвое больше счётчика, пять ограничений
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.
Одновременно отключаются три защиты:
- Предупреждение о большом workflow, которое обычно срабатывает, когда запуск планирует слишком много агентов, не появляется.
- Ограничение сессии на число одновременно работающих агентов не применяется к агентам, которых запускает Claude.
- В режиме 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, ключевое слово вместо переключателя и остановка на лимите.
AIDive