03 / 06 · Эксперт

Context Engineering

Управление контекстом — главный навык продвинутой работы с агентами. Что класть в контекст, что убирать и как структурировать CLAUDE.md, чтобы агент держал задачу до конца.

3 уровня CLAUDE.md окно контекста

Хороший контекст против плохого

Хороший контекст точность
  • Только релевантные задаче файлы
  • Явные правила в CLAUDE.md
  • Примеры желаемого результата
  • Своевременный /compact
Плохой контекст шум
  • Весь репозиторий разом
  • Противоречивые инструкции
  • Устаревшие факты и TODO
  • Раздутая история диалога

Иерархия CLAUDE.md

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

Уровень 1 Глобальный ~/.claude/CLAUDE.md — личные предпочтения: язык ответов, стиль кода, любимые инструменты. Действует во всех проектах.
Уровень 2 Проектный ./CLAUDE.md — архитектура, команды сборки и тестов, конвенции. Главный источник правды для команды.
Уровень 3 Локальный ./module/CLAUDE.md — правила конкретного модуля или папки. Узкий контекст для сложных подсистем.

Примеры правил CLAUDE.md

Стек: Laravel 11 + PostgreSQL + Docker. Тесты: php artisan test — должны быть зелёными перед коммитом. Формат: vendor/bin/pint на изменённых файлах. Не трогай: каталог vendor/ и сгенерированные миграции.
Сначала покажи план, дождись подтверждения — потом меняй код. Дроби задачу на шаги с проверяемым результатом. Не добавляй зависимости без явного запроса. Комментарии в коде — только по просьбе.

Размер контекста → поведение агента

Заполнение окнаПоведение агентаДействие
< 50%Точен, держит все детали задачивсё хорошо
50–75%Начинает терять ранние деталиследи
75–90%Пропускает инструкции, путает файлыкомпактируй
> 90%Деградация, галлюцинации, повторы/compact или новая сессия
Правило большого пальца

Контекст — это бюджет, а не свалка. Каждый файл и абзац должны зарабатывать своё место. Сомневаешься — убери и дай агенту попросить недостающее.

🧭 Консенсус практиков

Нерелевантный контекст активно вредит, а не просто «занимает место» — компактируйте до исчерпания окна, а не после. Между несвязанными задачами делайте /clear, а не тащите старую историю в новую сессию. Так работают Anthropic, IndyDevDan, Cole Medin и Hrishi Olickel — см. сводную шпаргалку.