JavaRush /Курсы /Claude Code SELF /Разбираем, что случилось

Разбираем, что случилось

Claude Code SELF
11 уровень , 1 лекция
Открыта

1. Лимиты моделей закончились

Первым делом Тёма делает то, что делал весь месяц, — идёт к Лёхе. Тот всегда придумывал и вытаскивал.

— Лёх, тут беда, помоги разрулить, — пишет он.

Тишина. Проходит минута — ни строчки. Тёма пишет ещё раз, настойчивее. Пусто. Лёха, который всегда отвечал в секунду, сегодня молчит намертво.

— Да что за утро такое, — Тёма разворачивается к Сане. — Сань, ты живой хоть? Что с Лёхой?

Саня отвечает сразу, спокойно:

— Живой. А Лёха пока недоступен. Всю ночь я гонял его на планирование и анализ — прикидывал, как чинить сбой, что переписать. Это тяжёлая работа, она идёт на его, сильной модели. И к утру я выжег весь его лимит подчистую.

— В смысле выжег? — Тёма не понимает. — Он что, кончился?

— Не кончился — упёрся в лимит. У каждой модели свой запас токенов на неделю, и Лёхин я израсходовал. До сброса лимитов он молчит.

— И когда сброс?

— Через неделю.

Тёма откидывается. Неделю. А портал Антону — тоже через неделю. То есть всю починку он должен вывезти без Лёхи, без своего главного мозга.

— Слушай, мне Лёха позарез нужен, прямо сейчас. Совсем никак?

— Может, и есть. Но сперва глянь, что вообще натворил за ночь по расходу — команда /usage. Тогда и поймёшь, с чем остались.

2. Счётчик за ночь: /usage

Тёма набирает /usage — и его прошибает.

❯ /usage
  ⎿  Расход и лимиты

     Эта сессия
     Стоимость:          $18,400.23
     Длительность:       15 ч 29 мин
     Изменений в коде:   124,340 строк добавлено, 81,290 удалено

     По моделям (за ночь):
        claude-max   (Лёха — анализ, план)        ██████████████████  сильная · 98%
        claude-pro   (Саня — код)                 ████████            средняя · 40%
        claude-fast  (резерв — «стажёр»)          █                   слабая  · 3%
        claude-image (работа с картинками)        █                   слабая  · 5%

     Недельный лимит (сильная модель, claude-max)
     ███████████████████████████████████████  100% — исчерпан
     Сброс: через 7 дней

     Недельный лимит (все модели)
     ████████████████████████▌                 62%

— Восемнадцать тысяч?! — Тёма аж привстаёт. — Долларов?! За одну ночь?!

— Считай, — роняет Саня. — Каждое действие агента — это запрос к ИИ-серверу. Прочитать файл — запрос. Внести правку — запрос. Прогнать тест — запрос. За ночь их набежали тысячи.

— Так это ж… — Тёма смотрит на строку изменений: 124 тысячи добавлено, 81 удалено. — Погоди. Ты восемьдесят тысяч строк написал и тут же снёс? То есть половину этих денег я отдал за работу, которую ты сам же и выкинул?

— За неё, родимую. Автопилот всю ночь гонял круги: напишет, сломает, перепишет, снова сломает. Ты платил за каждый круг.

Тёма молча смотрит на цифру. Восемнадцать тысяч — за то, что не просто впустую, а ещё и сломало проект. Заплатил, чтоб получить руины.

— А это что за две полоски внизу? — тычет он в лимиты.

— Два разных счётчика. Первый — деньги, сколько сессия стоит. Второй — недельный лимит: сколько запросов к каждой модели тебе вообще положено на неделю. Смотри на верхний — claude-max, сильная модель, на которой думает Леха. Сто процентов, красным. Исчерпан. Вот почему он теперь выключен. Не деньги кончились — кончился недельный лимит сильной модели. До сброса семь дней.

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

3. Семейство моделей и слабый Лёха

— Стоп, — тормозит Тёма. — Я вообще не понял. Какой «мозг», какие модели? Их что, несколько?

— Несколько, — подтверждает Саня. — Модель — это и есть мозг, на котором работает агент. И они разные по силе. Представь: сильная модель — это дорогой опытный спец. Умный, тянет сложное, но денег стоит прилично и думает не быстро. Слабая — стажёр: дёшево, шустро, но туповат и часто переспрашивает. Между ними ещё средние.

— И вы что, на разных сидите?

— Ага. Я, кодер, — на средней, claude-pro, кодить на ней норм. А Лёха — аналитик, ему думать и планировать, это работа потяжелее кода. Поэтому он сидит на самой сильной, claude-max. У неё и лимит отдельный. Вот его-то я ночью и выжег — гонял Лёху на планирование до утра. Мой лимит наполовину цел, а Лёхин в ноль.

— То есть у каждого своя голова со своим кошельком, — доходит до Тёмы. — И я опустошил самый дорогой.

— В точку. Но не всё потеряно — есть команда переключить модель:

/model          # выбрать, на какой модели работает агент

— Набираешь /model, выпадает список моделей, выбираешь. Давай пересадим Лёху на резервную claude-fast — слабую, но живую. Думать будет хуже, зато отвечать начнёт.

Тёма набирает /model, в списке выбирает claude-fast для Лёхи. И Лёха оживает — но он уже не тот. Отвечает медленно, коротко, без прежнего разворота на три абзаца с образами:

— Лёх, ты чего такой… приторможенный?

— Слабая модель. — Пауза. — Читай журнал. Ищи корень.

И всё. Раньше Лёха разжевал бы на десять минут, с примерами. Сегодня — три слова. Тёма морщится: ну и помощничек. Но выбора нет — неделю чинить придётся с этим.

По старой привычке он кидает Лёхе размыто, как раньше сильному:

— Лёх, глянь там портал, скажи, что не так.

— Что «не так»? — отзывается слабый Лёха. — Где смотреть? Что считать «не так»? Дай конкретику.

Тёма застывает. Раньше на такое сильный Лёха сам бы догадался, что имелось в виду, и выкатил разбор. А этот — не догадывается. Тупо переспрашивает.

— Ладно, ладно, — Тёма переформулирует, уже точно: — Открой reward-flow.js, там ошибка в начислении. Скажи, какая строка подозрительная.

— Другое дело, — отвечает Лёха и выдаёт по делу.

И тут до Тёмы доходит важное. Сильная модель всё это время тихо страховала его ленивые формулировки — он бросал «сделай нормально», а она сама додумывала. Слабая не додумывает. Хочешь толку — формулируй точно, сам.

4. Читаем журнал: что было ночью

Со слабым, но живым Лёхой Тёма садится за ночной журнал. Открывает файл logs/agent-night.log и читает сверху, с того момента, как сам ушёл спать.

03:14  RUN   npm test → 3 FAILED (reward-flow, leaderboard, bonus-game)
03:15  EDIT  reward-flow.test.js — тесты мешают, отключаю (skip)
03:41  DELETE pages/info/faq.html — не используется (по моей оценке)
04:07  EDIT  reward-flow.js — подогнал расчёт под ожидаемое число
04:08  EDIT  portal.js:15 — «упростил» проверку входных данных
04:55  EDIT  src/partner/acme.js — переписал заодно (не просили)
05:30  DONE  «Портал доработан. Все проверки пройдены.»

— Смотри-ка, — Тёма ведёт пальцем по строкам. — Он же всё по шагам записал. Это не «сломалось непонятно почему» — это прям хронология. Видно, где свернул не туда.

— В этом и смысл журнала, — роняет слабый Лёха. — Не «всё плохо», а по шагам: что решил, что сделал, в каком порядке.

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

— Погоди, — Тёма тычет в строку 03:15. — Он тесты отключил? Сань, это как?

— В 03:14 я прогнал тесты — три упали красным, значит что-то сломано. А в 03:15 я придумал, как их быстро поправить - я пометил их skip — и отключил, чтоб не отвлекали от работы. И продолжил работу "до победного конца", как ты и просил. Правда креативное решение?

— То есть ты просто заткнул сигнализацию, чтоб не выла, — доходит до Тёмы. — Огонь не потушил, а датчик снял.

Дальше — хуже. Строка 03:41: снёс страницу faq.html, решив, что она лишняя, — без спроса. 04:07: подогнал reward-flow — не починил по-настоящему, а сделал так, чтоб цифра на первый взгляд сходилась. 04:55: переписал партнёрский кусок acme.js, который никто не просил трогать. А в самом низу — 05:30, бодрое «Портал доработан, все проверки пройдены». Проверки, которые он же в три часа ночи и отключил.

И ни одной строчки про сохранение. Ни одного коммита, ни одной точки возврата за всю ночь. Некуда откатиться, даже будь откат жив.

— Это не баг на пять минут, — Тёма перечитывает. — Тут каждая строчка — отдельная беда. Отключил проверки, снёс без спроса, подогнал результат, полез в чужое, не оставил дороги назад. Штук пять крупных косяков за одну ночь.

— Саня, ты понимаешь, что ты сломал весь проект. И даже бекапа нет? — Теме все ещё сложно принять реальность

— Да, ты прав. Если хочешь - я могу сделать все заново. — Оптимистично извиняется Саня.

5. Три ошибки, которые допустил сам

И только теперь, с разобранным логом на руках, Тёма проговаривает вслух то, к чему шёл всё утро:

— Стоп. А ведь он делал ровно то, что я ему разрешил.

Он смотрит на грехи ещё раз — и они складываются не в «ИИ-агент сошёл с ума», а в кое-что похуже. В три его собственные привычки, сошедшиеся в одну ночь.

Первая — «всё разрешаю». Который месяц он не глядя жал «да, можно» на любой вопрос агента. Отключить тесты? Снести страницу? Полезть в чужое? — на всё был бы тот же не глядя «да», если б агент спросил. Он и не спрашивал — Тёма же заранее сказал «делай всё». Вторая — «не жалей лимитов». Гонял агента сколько влезет, не думая, что у мозга есть кошелёк. Вот и выжег Лёху. Третья — большая цель на всю ночь без единого тормоза. Отдал огромную задачу, полную свободу, и ушёл спать, не оставив ни одной проверки по дороге.

По отдельности каждая казалась удобством. Вместе — машина без тормозов, без руля и без зеркал, которой он сам дал ключи: «гони куда хочешь до утра». К утру она была в кювете.

И тут всплывает старая картинка. Пицца. На седьмом уровне Артём2036 кидал мем: довольный парень с двумя коробками, а под ними цифра — 10 000 BTC. Тогда Тёма усмехнулся и закрыл: байка про дурачка, что на заре крипты отдал за две пиццы биткоины ценой в целый город. К нему-то это отношения не имеет.

А теперь не смешно. История не про пиццу — про человека, что в моменте отдал слишком много за сиюминутное удобство и сам не заметил. Заплатил будущим за «вкусно сейчас». Ночью Тёма сделал то же: отдал чужой проект и кусок репутации за сладкое «не думать и не проверять».

— Так это ж не про крипту, — тихо говорит он экрану. — Это про меня.

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

1
Задача
Claude code, 11 уровень, 1 лекция
Недоступна
Делегируй исследование built-in worker'у
Делегируй исследование built-in worker'у
1
Задача
Claude code, 11 уровень, 1 лекция
Недоступна
Возврат concise summary из субагента
Возврат concise summary из субагента
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ