Я уже писал о том, как лучше всего промптить новейшее поколение моделей Claude 5 и работать с ними итеративно, чтобы понять, что вы хотите создать.
Но когда вы отправляете сообщение Claude, промпт — лишь малая часть контекста, который он получает. Большая часть вашего контекста собирается из системного промпта, навыков (Skills), файлов CLAUDE.md, памяти и других источников. Мы называем это инжинирингом контекста, и это сильно влияет на результаты, которые вы получаете при использовании Claude Code или при создании собственных агентов.
В отличие от промпта, контекст используется в целом для множества запросов, поэтому он не может быть таким же конкретным. Как же создавать такие общие промпты и инструкции для Claude, особенно когда вы не знаете, каким может быть промпт пользователя?
Это может быть удивительно сложно, поскольку возможности самого Claude развиваются. Совсем недавно мы заметили большой скачок в том, как мы промптим новейшее поколение моделей Claude. Мы удалили более 80% системного промпта Claude Code для моделей вроде Claude Opus 5 и Claude Fable 5 без измеримых потерь в наших оценках кодинга.
Вот что мы узнали о промптинге этого нового класса моделей и как вы можете использовать это для обновления своего инжиниринга контекста. Мы поместили эти лучшие практики в claude doctor; используйте команду /doctor в Claude Code, чтобы привести ваши навыки и файлы CLAUDE.md в надлежащий вид.
Раскрепощение Claude
В целом мы обнаружили, что чрезмерно ограничивали Claude Code — как через системный промпт, так и в файлах CLAUDE.md и навыках.
Например, когда мы читали транскрипты собственного внутреннего использования Claude Code, мы видели несколько противоречивых сообщений в одном запросе: «оставляйте документацию по мере необходимости» или «НЕ добавляйте комментарии», — когда наш системный промпт, навыки и пользовательские запросы конфликтовали друг с другом.

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

**
**Тогда: давать Claude правила
Сейчас: позволить Claude использовать суждение
**Когда мы впервые запускали Claude Code, нам нужно было быть уверенными, что Claude избегает наихудших сценариев, например удаления файлов. Это означало, что мы давали особенно строгие указания, которые не всегда могли быть верны. Например, в системном промпте мы раньше писали:
В коде: по умолчанию не пиши комментариев. Никогда не пиши многоабзацные докстринги или многострочные блоки комментариев — максимум одна короткая строка. Не создавай документы с планированием, решениями или анализом, если пользователь не просит об этом — работай из контекста разговора, а не из промежуточных файлов.
Но для определённого подмножества промптов эта инструкция была бы неверна. В случае документации у пользователя могут быть свои предпочтения, или некоторые части очень сложного кода могут требовать многострочных блоков комментариев.
Тем не менее, без этих ограждений для старых моделей комментарии, которые писал Claude, во многих случаях были бы некорректны, и нам приходилось мириться с этим компромиссом. Но новые модели обладают лучшим суждением и могут справляться с такими решениями без явных правил.
В новом системном промпте мы говорим: Пиши код, который читается как окружающий код: соответствуй его плотности комментариев, стилю именования и идиомам.
**Тогда: давать Claude примеры
Сейчас: проектировать интерфейсы
**Главное правило использования инструментов заключалось в том, чтобы давать Claude примеры их применения. С нашими новейшими моделями мы обнаружили, что примеры на самом деле ограничивают их определённым пространством поиска.

Вместо примеров думайте больше о дизайне ваших инструментов, скриптов и файлов — какие параметры есть у Claude и как сделать их более выразительными?
Например, в примере с инструментом Todo простое перечисление статуса как перечисления между pending, in_progress и completed подсказывает Claude, как его использовать. Инструкция держать один элемент в состоянии in_progress помогает определить желаемое поведение.
**Тогда: помещать всё в начале
Сейчас: использовать прогрессивное раскрытие**
Поскольку Claude Code был ориентирован на кодинг, наш системный промпт содержал подробную информацию о том, как проводить ревью кода и верификацию. Она была нужна не всегда, но когда требовалась — была критически важна.
С тех пор Claude Code стал очень хорошо использовать прогрессивное раскрытие — загружать нужный контекст в нужное время. Например, мы перенесли верификацию и ревью кода в отдельные навыки, которые Claude Code мог выборочно вызывать.
Но прогрессивное раскрытие применимо не только к навыкам, мы используем его и для инструментов. Некоторые наши инструменты имеют «отложенную загрузку»: это означает, что агент должен найти их полные определения с помощью ToolSearch, прежде чем использовать их. Это позволяет нам иметь больше инструментов (например, наши инструменты Task), которые не занимают контекст, пока не понадобятся.
То же самое можно применить к вашим собственным файлам CLAUDE.md и Skill.md. Распространённый миф — что нужно сделать из них центральное хранилище всех известных практик, с которыми вы можете столкнуться, иначе Claude их не найдёт. Вместо этого рассмотрите возможность иметь дерево файлов, которые загружаются в нужный момент.
**Тогда: повторять себя
Сейчас: простые описания инструментов**
Более ранние модели Claude иногда нуждались в повторении инструкций или с большей вероятностью слушали инструкции в конце контекстного окна, чем в начале. Это означало, что наш системный промпт иногда содержал ссылки на инструменты как в основном системном промпте, так и инструкции в описании инструмента.
Мы обнаружили, что можем удалить эти повторяющиеся примеры и поместить инструкции по использованию инструментов в описания инструментов, а не в системный промпт.
**Тогда: память в файлах CLAUDE.md
Сейчас: автоматическая память**
Раньше мы рекомендовали пользователям сохранять вещи в память Claude, используя хоткей # для автоматической записи в CLAUDE.md. Вместо этого теперь Claude автоматически сохраняет воспоминания, которые имеют отношение к работе и к вам.
**Тогда: простые спецификации
Сейчас: богатые ссылки**
В режиме планирования Claude Code сильно полагался на markdown-файлы с планами. Хранение этих файлов как планов помогало Claude обращаться к ним при необходимости. Другой похожей лучшей практикой было хранение спецификаций в кодовой базе, чтобы Claude мог ссылаться на них при работе над длительными проектами.
Но мы обнаружили, что Claude может работать со всё более сложными ссылками. Вместо простых markdown-файлов Claude может ссылаться на HTML-артефакты, созданные нашей новой функцией артефактов.
Вы также можете давать Claude ссылки в виде кода. Спецификация может быть также детальным набором тестов или функцией в другой кодовой базе, которую Claude может перенести.
Рубрики — это ещё одна форма ссылок. Рубрики позволяют Claude попытаться проверить ваш вкус в определённой области (например, как выглядит хороший дизайн API) с помощью динамических рабочих процессов и запуска агентов-верификаторов с этими рубриками.
Применение этого к вашему контексту
Собирая всё вместе, как это выглядит, когда вы формируете свой контекст?

**Системный промпт
**Системный промпт сильно привязан к контексту продукта. Он сообщает Claude, в каком продукте он работает и что делает. Для Claude Code вы, скорее всего, никогда не будете его изменять, но если вы создаёте собственную обвязку агента, именно здесь стоит потратить много времени.
**CLAUDE.md
**Держите ваш CLAUDE.md лёгким и кратко описывайте, для чего нужен ваш репозиторий, но большую часть токенов тратьте на подводные камни внутри кодовой базы. Например, вы можете организовать код так, чтобы типы хранились в одном монолитном файле и нигде больше. Избегайте указания «очевидных» вещей, которые Claude должен знать, глядя на вашу файловую систему или репозиторий.
Используйте прогрессивное раскрытие для более детальной информации: например, если у вас есть несколько уникальных инструкций по проверке вашей работы, создайте навык верификации и ссылайтесь на него из CLAUDE.md.
**Навыки (Skills)
**Думайте о навыках как о лёгких руководствах, которые позволяют Claude находить информацию, когда это необходимо. Избегайте их излишнего ограничения, за исключением особо важных областей.
Для длинных навыков старайтесь максимально использовать прогрессивное раскрытие — разделите их на множество файлов и разнесите по отдельности.
Лучше всего, когда навыки кодируют определённые мнения, знания или лучшие практики, характерные для вас, вашей команды или продукта.
**Ссылки (References)
**Вы можете упоминать файлы через @, чтобы включить их как ссылки. Ссылки позволяют Claude обращаться к углублённой информации о текущем плане.
Это могут быть файлы спецификаций, макеты или даже целые кодовые базы. Как правило, следует предпочитать файлы в виде кода, поскольку они предоставляют Claude чёткие, точные инструкции на языке, который он очень хорошо знает. Например, HTML-макет дизайна обычно даёт лучшие результаты, чем описание дизайна или скриншот.
Попробуйте упростить
Возможно, вам потребуется упростить ваш системный промпт, навыки и файлы CLAUDE.md, как это сделали мы. Мы выпустили новую команду под названием claude doctor, которая поможет вам сделать это автоматически. Для более подробной информации о промптинге более продвинутых моделей загляните в наше полевое руководство по Fable.





