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. Тоді Тьома посміхнувся й закрив: байка про дурника, що на зорі крипти віддав за дві піци біткоїни ціною в ціле місто. До нього це не має жодного стосунку.
А тепер не смішно. Історія не про піцу — про людину, що в моменті віддала занадто багато за миттєву зручність і сама не помітила. Заплатила майбутнім за «смачно зараз». Уночі Тьома зробив те саме: віддав чужий проєкт і шмат репутації за солодке «не думати й не перевіряти».
— Так це ж не про крипту, — тихо каже він екрану. — Це про мене.
Пастку ніхто не підкидав із повітря. Він зібрав її сам, зі свого ж комфорту. Визнавати це паскудно. Але в цьому ж і вихід: якщо я був причиною проблеми — значить, я й джерело рішення.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ