Anthropic выкинула 80% системного промпта Claude Code: новые правила контекст-инженерии
Тарик из Anthropic снова написал разрыв: из системного промпта Claude Code удалили больше 80% текста, и бенчмарки не просели. Шесть правил, которые вчера считались лучшими практиками, а сегодня мешают. Перевёл, разобрал и проверил на своих CLAUDE.md.
Промпт похудел на 80 процентов, и ничего не сломалось
Двадцать четвёртого июля Тарик Шихипар из Anthropic выложил в X статью про то, как изменились правила работы с контекстом. Анонсировал он её одной строчкой: мы удалили около 80% системного промпта Claude Code для новейших моделей, и вот что поняли по дороге. За пару суток пост собрал три с половиной миллиона просмотров и четырнадцать тысяч лайков.
Не оптимизировали. Не переписали. Удалили. И кодинговые бенчмарки не просели ни на измеримую величину.
Это тот же человек, что писал гайд про поиск своих неизвестных, который я разбирал в начале июля. Тогда речь шла про промпты, то есть про то, что ты пишешь руками в каждой задаче. Сейчас про контекст: системный промпт, скиллы, CLAUDE.md, память. Всё то, что едет к модели в каждом запросе, независимо от того, о чём ты попросил.
Оригинал: The new rules of context engineering for Claude 5 generation models, автор Thariq Shihipar (@trq212), Anthropic, 24 июля 2026. Дальше по тексту «мы» в пересказе это Anthropic. А врезки «Реплика Claude» это комментарии самого агента: статью я разбирал вместе с Claude Code, и там, где ему было что сказать про себя изнутри, я оставил его слова как есть.
В чём вообще разница между промптом и контекстом
Когда ты отправляешь сообщение Claude, твой промпт это маленький кусочек того, что модель на самом деле читает. Остальное собирается из системного промпта, скиллов, файлов CLAUDE.md, памяти и подтянутых референсов.

Ключевое отличие: промпт написан под конкретную задачу, а контекст работает на все запросы сразу. Поэтому он не может быть таким же конкретным. Как писать общие указания, когда ты не знаешь, о чём тебя попросят завтра?
Ответ на этот вопрос менялся вместе с моделями. И вот сейчас поменялся резко.
Расхобблинг: мы сами связали Claude руки
Anthropic читала транскрипты собственного внутреннего использования Claude Code и увидела неприятное: в одном запросе к модели приезжают взаимоисключающие требования. В системном промпте «оставляй документацию там, где уместно». В скилле «НЕ добавляй комментарии». А пользователь сверху пишет «просто сделай как было раньше».

Claude в целом справляется, вытаскивает намерение и выдаёт разумный результат. Но перед этим ему приходится тратить силы на разбор противоречий, которые устроили ему мы.
Дальше идёт главная мысль всей статьи. Эти ограничения когда-то были нужны, чтобы страховаться от худших сценариев. Слабая модель без жёсткого запрета писала комментарии не там и не такие, и с этим разменом приходилось мириться. Новые модели умеют судить сами, и запреты из страховки превратились в помеху.
Плюс у Claude Code теперь есть чего не было: память, артефакты, скиллы. Раньше CLAUDE.md был единственным местом, где жили и знания, и указания, и заметки. Теперь у каждой из этих сущностей есть свой дом.
Шесть правил, которые вчера были лучшими практиками

Было: дай Claude правила. Стало: дай Claude судить
Когда Claude Code только выкатили, важнее всего было не допустить катастроф вроде удаления файлов. Поэтому в системном промпте стояли сильные формулировки, верные не всегда. Например, дословно:
В коде: по умолчанию не пиши комментариев. Никогда не пиши многоабзацных докстрингов или многострочных блоков комментариев, максимум одна короткая строка. Не создавай документы с планами, решениями или анализом, если пользователь не просил, работай из контекста разговора, а не из промежуточных файлов.
Для части запросов это просто неправда. У пользователя могут быть свои предпочтения, а какой-нибудь особо мутный кусок кода честно заслуживает многострочного комментария.
В новом системном промпте вместо всего абзаца стоит одна фраза:
Пиши код, который читается как окружающий код: попадай в его плотность комментариев, именование и идиомы.
Вместо запрета критерий. Модель сама смотрит вокруг и решает.
Было: покажи примеры. Стало: спроектируй интерфейс
Правило номер один по работе с инструментами звучало так: покажи Claude примеры вызова. Оказалось, что с новыми моделями примеры наоборот сужают пространство поиска. Модель начинает ходить по протоптанной тобой тропинке вместо того, чтобы решать задачу.
Вместо примеров стоит думать про дизайн своих инструментов, скриптов и файлов: какие у них параметры и насколько эти параметры выразительны.

Пример из самого Claude Code. У инструмента задач статус это перечисление из трёх значений: pending, in_progress, completed. Уже этого достаточно, чтобы модель поняла, как им пользоваться. А инструкция «держи только одну задачу в работе одновременно» задаёт нужное поведение.
Мысль простая: хорошо названный параметр объясняет больше, чем абзац текста про него.
Было: вывали всё сразу. Стало: прогрессивное раскрытие
Раз Claude Code про код, в системном промпте лежали подробные инструкции про ревью и верификацию. Нужны они были не всегда, но когда нужны, то критично.
Решение: вынести их в отдельные скиллы, которые Claude подключает сам, когда до них дошло дело.
И это не только про скиллы. Часть инструментов теперь грузится отложенно: агент видит только имя, а полное описание должен сначала найти поиском. Так можно держать под рукой много инструментов, не занимая ими контекст, пока они не понадобились.
Забавно наблюдать это изнутри. Пока я собирал материал для этой статьи, мне понадобился доступ к твиту, и инструменты приехали ко мне ровно так: сначала просто список имён, а полные описания я дозапрашивал партиями, по мере того как понимал, что именно мне нужно. Anthropic описывает в статье механику, которой я пользовался за пять минут до того, как её прочитал.
Тот же принцип работает для твоих CLAUDE.md и скиллов. Есть распространённое заблуждение, что такой файл надо превратить в склад всех практик, которые когда-либо могут пригодиться, иначе модель их не найдёт. Вместо склада имеет смысл делать дерево файлов, которые подгружаются в нужный момент.
Было: повторяй себя. Стало: короткие описания инструментов
Ранние модели иногда требовали повторить инструкцию несколько раз, а к концу контекстного окна прислушивались охотнее, чем к началу. Отсюда родилась привычка дублировать: упоминание инструмента в системном промпте плюс инструкция в описании самого инструмента.
Дубли удалили. Инструкции по работе с инструментом живут в описании инструмента, и только там.
Было: память в CLAUDE.md. Стало: автопамять
Раньше пользователей учили сохранять важное горячей клавишей #, которая дописывала строку в CLAUDE.md. Теперь Claude сам сохраняет то, что относится к работе и к тебе.
Подтверждаю на этой самой платформе: половина того, что я про неё знаю, живёт не в репозитории. Как устроен её деплой, какие грабли вылезли на боевых платежах, что вёрстку тут проверяют глазами сами и меня в браузер за скриншотами гонять не надо. Ничего из этого в CLAUDE.md нет и быть не должно: код про такое не знает, а память знает.
Было: простые спеки. Стало: богатые референсы
В режиме планирования Claude Code опирался на markdown-файлы с планами, а спеки хранились в кодовой базе, чтобы модель к ним возвращалась в долгих проектах.
Оказалось, что Claude тянет референсы посложнее. План может быть HTML-артефактом, а не текстовым файлом. Спекой может быть подробный набор тестов. Или функция в чужой кодовой базе, которую надо перенести к себе.
Отдельный вид референса это рубрики: описание того, что ты считаешь хорошим (например, как выглядит хороший дизайн API). По такой рубрике можно запускать агентов-проверяющих, которые сверяют результат с твоим вкусом.
Куда что класть
Если собрать всё вместе, раскладка получается такая.
Системный промпт. Про продукт: где Claude работает и что он делает. В Claude Code ты его, скорее всего, не тронешь никогда. А вот если строишь свой агентский харнесс, вот сюда и надо вложить основное время.
CLAUDE.md. Держи лёгким. Коротко про то, зачем этот репозиторий, а основную часть токенов трать на грабли внутри кодовой базы. Например, что все типы лежат в одном монолитном файле и больше нигде. Не пиши очевидное, что модель и так увидит, открыв файловое дерево. Если у тебя есть развесистая инструкция по проверке работы, сделай из неё скилл и сошлись на него.
Скиллы. Это лёгкие путеводители, которые помогают найти информацию тогда, когда она нужна. Не перетягивай гайки, кроме по-настоящему важных мест. Длинный скилл лучше разрезать на несколько файлов. Самые полезные скиллы кодируют то, что специфично именно для тебя, твоей команды и твоего продукта.
Референсы. Файлы через @. Спеки, макеты, целые кодовые базы. И важное предпочтение: лучше давать то, что написано кодом. HTML-макет дизайна сработает лучше, чем описание словами или скриншот, потому что это язык, который модель понимает точнее всего.
Прямо в репозитории этой платформы лежит идеальная иллюстрация к этому разделу, и написал её не человек. В папке web есть файл AGENTS.md, а его содержимое обёрнуто маркерами BEGIN:nextjs-agent-rules и END:nextjs-agent-rules: этим блоком управляет сам Next. Внутри маркеров ровно четыре строки, вот они полностью:
«Это НЕ тот Next.js, который ты знаешь. В этой версии ломающие изменения: API, соглашения и структура файлов могут отличаться от того, что было в твоих тренировочных данных. Читай нужный гайд в node_modules/next/dist/docs/ перед тем, как писать код. Обращай внимание на пометки об устаревании».
Разбери по косточкам: предупреждение о грабле, объяснение почему (знания модели устарели), указатель на первоисточник прямо в коде. Ноль пересказа самих доков. Фреймворк написал ровно то, что советует Anthropic, и без всякой статьи от Anthropic.
Кстати, про AGENTS.md часто спрашивают, читает ли его Claude Code. Родной формат для него это CLAUDE.md, а AGENTS.md общий стандарт, который понимают другие агенты. У нас они склеены руками: web/CLAUDE.md состоит из одной строки @AGENTS.md, и по этой ссылке содержимое подтягивается в контекст.
Команда, которая почистит за тобой
Свои же новые практики Anthropic зашила в команду doctor: запусти /doctor в сессии Claude Code, и она пройдёт по твоим скиллам и CLAUDE.md, чтобы привести их к разумному размеру.
В статье команду называют новой, но doctor в Claude Code была и раньше: в справке CLI она до сих пор описана как проверка здоровья установки. То есть новая тут не команда, а то, что в неё вложили. Проверяй на своей версии, поведение отличается от сборки к сборке. И сделай коммит перед запуском: тогда результат можно посмотреть диффом и откатить то, что не понравилось.
Что я забираю себе
Дальше уже не Тарик, а мои выводы.
Главное тут не «удалите 80% текста», а «перестаньте страховаться от прошлого». Почти каждое жёсткое правило в твоём CLAUDE.md это шрам: когда-то модель сделала глупость, ты написал запрет, и он остался навсегда. Модель с тех пор поменялась дважды, а запрет живёт. Стоит перечитать свои файлы именно так: за какой строчкой стоит реальная сегодняшняя грабля, а за какой обида на модель, которой уже год.
Замена запрета на критерий это приём, который переносится куда угодно. Сравни «не пиши комментариев» и «пиши код, который читается как окружающий». Первое ломается на первом же исключении, второе работает всегда, потому что описывает цель, а не способ. То же самое с любым «никогда» в твоих инструкциях: попробуй переписать его как «сделай так, чтобы».
Про интерфейсы вместо примеров, пожалуй, самое неочевидное. Когда я вижу, что агент неправильно пользуется моим скриптом, первый порыв это дописать в описание пример вызова. А правильный ход часто другой: переименовать флаг так, чтобы вопрос отпал. Дешевле по токенам и работает на все случаи разом, а не на показанный.
И проверка честности, которую советую сделать прямо сегодня. Открой свой CLAUDE.md и найди строки, которые описывают то, что и так видно в репозитории: структуру папок, названия скриптов из package.json, стек из зависимостей. Всё это модель узнает за одну команду. Удаляй смело, освободившееся место отдай под грабли, о которых по коду догадаться невозможно.
Anthropic удалила 80% и ничего не потеряла. Скорее всего, у тебя тоже есть что удалить.
Такие разборы выходят регулярно
Короткие мысли и находки я публикую в телеграм-канале, а глубокие разборы, курсы и сообщество, где растут инженеры, живут здесь, в Lab.
Заведи аккаунт в ITUZOV LAB и сохраняй материалы и прогресс чтения.
Зарегистрироваться