Context Engineering
Управление контекстом — главный навык продвинутой работы с агентами. Что класть в контекст, что убирать и как структурировать 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 — см. сводную шпаргалку.