В январе 2026 года команда Стеллы Лоуренцо за выходные замержила 191 тысячу строк кода. Claude Code работал как часы - 50 параллельных агентов, GPU-драйверы, MLIR, системное программирование.
В марте - те же задачи, те же промпты. Reasoning depth упал на 73%. Стоимость API выросла в 122 раза. Каждая третья правка - в файл, который модель не открывала.
Лоуренцо - директор AI-подразделения AMD. Она выгрузила 6852 лога из ~/.claude/projects/, проанализировала 234 760 вызовов инструментов и 17 871 блок размышлений. И написала в GitHub issue #42796: «Claude cannot be trusted to perform complex engineering tasks.»
368 комментариев. Закрыто 13 апреля.
Дисклеймер о базе. Основной источник - issue Лоуренцо с открытой методологией и сырыми данными. Дополнительно: подтверждение изменений от Бориса Черни (лид Claude Code), ежедневные замеры SWE-Bench-Pro от Marginlab, обсуждения в r/ClaudeAI и r/claude (~30 тредов), статья The Register с комментариями сообщества, официальная документация Anthropic по Adaptive Thinking. 6852 лога самостоятельно я не перепроверял - опираюсь на опубликованный анализ. Где мои интерпретации выходят за пределы данных - говорю прямо.
Я работаю с Claude Code каждый день - агенты, автоматизация, скиллы. Не на уровне 50 параллельных сессий по GPU-драйверам, но в ежедневном production-режиме. Когда я увидел эти цифры - пошёл разбираться.
«great» −47%, «fuck» +68%
Прежде чем в техническую часть - посмотрите на слова.
Лоуренцо проанализировала частотность слов в своих промптах за два периода: до 8 марта и после.
«simplest» - с 0.01 до 0.09 на тысячу вызовов. Рост 642%. Слово, которое раньше почти не звучало. «Ты опять выбрал simplest fix вместо правильного.»
«stop» - +87%. «Не делай этого.» «Прочитай сначала.»
«fuck» - +68%.
«great» - −47%. Вдвое меньше одобрения.
«please» - −49%. «thanks» - −55%.
«commit» - −58%. Не потому что работы меньше - потому что код не доходит до состояния, в котором его можно коммитить.
Общее соотношение позитива к негативу: было 4.4:1, стало 3.0:1.
Это не бенчмарк. Это живая реакция человека, который платит $400 в месяц и работает с инструментом каждый день.
Три изменения: что подтверждено
Три даты. Три необъявленных изменения поведения. Я не нашёл явного changelog-entry ни для одного из них. Все три подтверждены Anthropic - это не интерпретации.
Сводка:
9 февраля - Adaptive Thinking → недоразмышление на сложных шагах. Подтверждено: документация, ответ Черни
3 марта - effort high → medium → меньше глубины на длинных задачах. Подтверждено: ответ Черни в issue
5–12 марта - thinking redaction → исчезла наблюдаемость reasoning. Подтверждено: данные сессий, ответ Черни
9 февраля - Adaptive Thinking. Раньше: ты задаёшь budget_tokens - фиксированный бюджет на размышления. Модель думает в рамках бюджета, потом отвечает.
Теперь: модель сама решает, сколько думать. На простых задачах - мало. На сложных - много. Теоретически.
На практике - иногда ноль токенов на reasoning. Буквально ноль. По данным Лоуренцо - именно на таких шагах появлялись галлюцинации: выдуманные SHA-коммиты, несуществующие пакеты, фиктивные API-версии. Её объяснение: модель не подумала перед ответом.
(Идея сама по себе разумная. Зачем тратить 20 000 токенов на git status? Проблема - в калибровке: модель недовыделяет токены на сложных задачах. Anthropic это признала.)
3 марта - effort level: high → medium. Дефолтный уровень мышления снижен без уведомления. Для простых задач - без разницы. Для 30-минутных автономных сессий - заметно. Пользователь ничего не менял. Открыл утром терминал - модель ведёт себя иначе.
5–12 марта - thinking redaction. Блоки размышлений перестали быть видимыми. Динамика по данным Лоуренцо: 30 января - 100% visible, 7 марта - 75%, 8 марта - 41.6%, к 12 марта - 0%.
Черни сказал, что redaction - «UI-only change, не влияющее на глубину reasoning». Данные Лоуренцо показывают: reasoning упал на 67% ещё до полной редакции, после Adaptive Thinking. Но после редакции стало невозможно увидеть, думает модель или нет. Это факт архитектуры, не интерпретация: visible thinking = 0%, пользователь не может проверить.
Read:Edit - метрика, которую никто не отслеживает
Из всех данных Лоуренцо одна метрика бьёт больнее остальных.
Read:Edit ratio - сколько файлов модель прочитала перед тем, как что-то редактировать.
Январь: 6.6. Модель открывала целевой файл, связанные модули, делала grep по использованиям, читала заголовки и тесты. Потом правила.
Март: 2.0. Прочитала файл. Иногда. Исправила.
Процент «слепых правок» - edits без единого Read в недавней истории:
Январь: 6.2%. Март: 33.7%.
Каждая третья правка - в файл, который модель не открывала. Сломанные комменты, нарушенные конвенции проекта, фиксы, ломающие соседний модуль.
Может, при 50 параллельных агентах на GPU-драйверах это неизбежно? Может, никакая модель не справится? Не знаю. Но в январе - справлялась.
Знаете что это напоминает? Коллегу, который правит код по памяти, не открывая проект. «Ну там вроде была такая функция, я помню.» А у Лоуренцо проекты - компиляторы. Там «вроде помню» - это broken build.
Причём модель стала чаще перезаписывать целые файлы вместо точечных правок: доля full-file Write среди мутаций выросла с 4.9% до 11.1%.
$345 → $42 121
Февраль: 5608 промптов, $345 через Bedrock API.
Март: 5701 промпт - практически столько же. Стоимость: $42 121.
В 122 раза. За тот же объём человеческой работы.
Модель стала делать в 80 раз больше API-запросов на те же задачи: 1498 → 119 341. Не справлялась с первого раза, переделывала, закапывалась в reasoning loops (их частота утроилась), генерировала в 64 раза больше выходных токенов. 26% мартовских запросов - субагенты, порождённые другими агентами.
(Да, у Лоуренцо нетипичный сценарий - 50 параллельных агентов, системный код. Большинство не увидят счёт в $42K. Но пропорция та же: больше токенов за худший результат.)
Для контекста: нечто похожее уже было - Стэнфорд в 2023 зафиксировал деградацию GPT-4, OpenAI отрицала, родился термин «nerfing». Anthropic в 2026 поступила честнее - признала и дала workaround-ы. Но паттерн тот же: пользователи узнают постфактум.
Два env var и одна команда
Фикс существует. Работает. Бесплатный.
export CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 export CLAUDE_CODE_EFFORT_LEVEL=max
Или прямо в сессии: /effort max
Для ~/.claude/settings.json (постоянно):
{ "env": { "CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING": "1", "CLAUDE_CODE_EFFORT_LEVEL": "max" } }
Черни подтвердил: CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 - «interim workaround» пока модельная команда разбирается.
Сообщество добавляет: разбивать длинные сессии на короткие с явным контекстом, /clear между задачами, тяжёлые вещи - на off-peak. По данным Лоуренцо, в 17:00 PST thinking на 28% ниже, чем в 23:00.
Marginlab, которые гоняют daily SWE-Bench-Pro, показывают: с workaround-ами результат возвращается примерно к 56% (с просевших 50%).
Воспроизведите у себя за 5 минут
Не хотите верить чужим данным - проверьте сами. Вот минимальный тест:
Возьмите задачу, которую Claude Code уже решал хорошо (рефакторинг модуля, фикс бага с контекстом из 3+ файлов)
Проверьте текущие настройки:
# текущий effort виден в статусбаре рядом с логотипом ("with medium effort") # или внутри сессии: /effort # adaptive thinking отключён, если стоит 1: echo $CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING
Прогоните задачу с дефолтами (effort medium, adaptive thinking on). Зафиксируйте количество Read до первого Edit - видно в логе сессии
Теперь с workaround-ами:
export CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 export CLAUDE_CODE_EFFORT_LEVEL=max # или внутри сессии: /effort max
Та же задача. Сравните Read:Edit ratio. Если разница ощутимая - вы подтвердили данные Лоуренцо. Если нет - на ваших задачах калибровка работает нормально, и это тоже полезный результат
У меня разница заметна - но я не собирал статистику с контрольной группой, так что это наблюдение, не доказательство.
Тихий даунгрейд
Вот что зацепило меня в этой истории. Не деградация - любой SaaS иногда ломается.
Зацепил формат.
Дальше - моя интерпретация, не факт. Все три изменения подтверждены. Что они вместе означают - нет.
У каждого из трёх решений есть обоснование: Adaptive Thinking экономит токены на простых задачах, effort medium ускоряет ответ, thinking redaction - UI-оптимизация. Каждое по отдельности - разумное. Совпадение, что все три снижают cost-per-query для вендора, может быть именно совпадением. А может и нет.
Я склоняюсь к Hanlon’s razor: скорее product-решения, не проверенные на power users, чем осознанная экономия. Но отсутствие changelog - это уже не про калибровку. Это выбор.
AI-инструменты для кода уже мейнстрим, не эксперимент. Изменения model behavior должны попадать в changelog так же, как API-breaking changes. Пока это не так.
Ограничения этого разбора
Честно о слабых местах, чтобы не тратить ваше время в комментариях:
Основной источник - один пользователь. Лоуренцо - квалифицированный, с открытой методологией (корреляция thinking-signature 0.971 Pearson r на 7146 парных измерениях). Но это один тип задач (системное программирование, MLIR, GPU-драйвера), один workflow (50 параллельных агентов). Экстраполировать на типичную веб-разработку - рискованно.
Независимые подтверждения есть, но слабее. SWE-Bench-Pro просел с 56% до 50% (Marginlab, ежедневные замеры). 368 комментариев в issue с подтверждениями. ~30 тредов в r/ClaudeAI и r/claude. Но статистически строгого воспроизведения на другом наборе задач я не нашёл.
Мотивация Anthropic - моя гипотеза. Что все три изменения снижают cost-per-query - наблюдение. Что это было целью - интерпретация. Hanlon’s razor мне кажется вероятнее.
(UPD: я сам на /effort max + DISABLE_ADAPTIVE_THINKING=1. На моих задачах (Laravel, 10-15 файлов) субъективно лучше. Но это ощущение, не данные - у меня нет 6852 сессий для сравнения.)
Что конкретно делать
Не «бойтесь AI». Конкретно:
Прямо сейчас - два env var из секции выше. Бесплатно, 30 секунд, работает.
Следить за read:edit ratio. Если модель стала меньше читать перед правками - что-то сломалось. По данным Лоуренцо это ведущий индикатор.
Требовать changelog для поведения моделей. Не API breaking changes - этого мало. Изменения в reasoning defaults - тоже breaking, только для людей, а не для кода.
Workaround есть, проблема воспроизводится не у всех, Claude Code остаётся сильным инструментом - в январе та же Лоуренцо замержила 191 тысячу строк за выходные. Но необъявленные изменения defaults и поведения - это проблема, которую индустрия пока не решила.
P.S. Лоуренцо попросила Claude проанализировать логи своей же деградации. Он написал: «I can see my own Read:Edit ratio dropping from 6.6 to 2.0. I can see 173 times I tried to stop working and had to be caught by a bash script. I cannot tell from the inside whether I am thinking deeply or not.» Меня в этой цитате зацепило не то, что модель видит свою деградацию - а то, что она не может отличить глубокое мышление от поверхностного. Мы, кажется, тоже не всегда можем.
Комментарии (16)

unclejocker
13.04.2026 17:20Вы так говорите, как будто счет пользователю на 42к с точки зрения Anthropic это что то плохое /s

diffnotes-tech Автор
13.04.2026 17:20Ну в статье как раз про это - что все три изменения совпадают в сторону снижения расходов Anthropic, не пользователя. Лоуренцо правда на Bedrock сидела, так что $42k ушли в AWS, не напрямую в Anthropic. Но паттерн забавный да

Dhwtj
13.04.2026 17:20Лоуренцо замержила 191 тысячу строк за выходные
Что же это за задачи такие?
Ни усилий на ТЗ, ни усилий на ревью кода, не надо париться с edge cases. Всё собирается, само проверяется пока кожаный пьет кофе.
Вот предположение:
CUDA -> HIP (ROCm). AMD нужно чтобы код написанный под NVIDIA работал на их GPU. Есть утилита hipify которая делает это почти механически - переименование API, замена типов. Идеальная задача для LLM, объем огромный, трансформации шаблонные. Примерно, как перевести Войну и Мир на английский механически, без художественных особенностей
Впрочем, наверняка, это самопиар

diffnotes-tech Автор
13.04.2026 17:20Про CUDA->HIP хорошая догадка, Лоуренцо на IREE/MLIR в AMD, там да, много механики. Но деградация меряется на тех же задачах - в январе read:edit 6.6, в марте 2.0. Задачи не усложнились

Dhwtj
13.04.2026 17:20Видимо, Nvidia создаёт upstream, а AMD вынуждена постоянно обеспечивать совместимость. Значит, на почти одних задачах и запускают регулярно.
Так что да, задачи не усложнились. Но всё же, за столько раз можно было и автоматизировать формальными алгоритмами, а не только эвристиками LLM
Про самопиар снимаю. Просто у себя запустила чтобы метрики LLM посмотреть

Oeaoo
13.04.2026 17:20у Лоуренцо нетипичный сценарий - 50 параллельных агентов, системный код
даже комментировать больно

diffnotes-tech Автор
13.04.2026 17:20Ну да, 50 агентов на компиляторах это не средний проект на ларавеле. Но данные по read:edit и reasoning depth не зависят от количества агентов, это поведение одной сессии

gdt
13.04.2026 17:20На самом деле, в последнее время claude как будто поглупее стал. Спасибо за идею

diffnotes-tech Автор
13.04.2026 17:20Попробуй env var из статьи, у многих после этого ощутимо лучше стало

AngusMetall
13.04.2026 17:20Основная проблема статей про нейросети, это что их пишут нейросети.
P.s. А может кто-то подсказать как посмотреть открытие файлов клодом? Я понимаю что логами можно, но может есть удобный юай.

diffnotes-tech Автор
13.04.2026 17:20Логи сессий лежат в ~/.claude/projects/, там JSONL с каждым tool call (Read, Edit, Bash и тд). Готового UI нет насколько знаю, но Лоуренцо как раз по этим файлам и считала read:edit ratio. Можно jq натравить если лень парсить руками

Melirius
13.04.2026 17:20https://github.com/jhlee0409/claude-code-history-viewer Вроде эта штука умеет

Ajex
13.04.2026 17:20Поглупения я не заметил, но недельные токены она начала жрать как не в себя последние пару недель. Даже минимальные задачи выжирают лимиты очень быстро , к тому же контекст разрастается очень стремительно, что ещё более усугубляет. Такое ощущение что тариф не x20, в x3. И это я стараюсь в пики особо ничего тяжёлого не делать.
Если раньше было гуляй душа, то теперь приходится экономить.
onyxmaster
Автор fucked up при написании статьи
diffnotes-tech Автор
Да, можно было написать “недовыделяет токены” - но underallocate это термин из самого issue Лоуренцо и документации Anthropic по adaptive thinking. Оставил как есть чтоб было гуглибельно если кто полезет проверять первоисточник. Но согласен, посреди русского текста режет
Arhammon
Есть стандартный вариант - "недовыделяет токены (underallocate)" при этом текст престаёт выглядеть автопреводом из 90х...