Динамическая инъекция контекста: использование Contexts
Чему вы научитесь
Освоив динамическую инъекцию контекста, вы сможете:
- Переключать стратегию поведения ИИ в зависимости от текущего режима работы (разработка, ревью, исследование)
- Настраивать приоритеты и предпочтения инструментов Claude для разных сценариев
- Избегать смешения рабочих целей в одной сессии и повышать концентрацию
- Оптимизировать эффективность на разных этапах работы (быстрая реализация vs глубокий анализ)
Ваша текущая проблема
Сталкивались ли вы с этими проблемами в процессе разработки?
- При быстрой разработке Claude слишком много анализирует и даёт избыточные рекомендации, замедляя прогресс
- При код-ревью Claude торопится изменить код вместо того, чтобы внимательно прочитать и найти проблемы
- При исследовании новых задач Claude начинает писать код, не разобравшись в сути, что приводит к ошибочному направлению
- В одной сессии вы то разрабатываете, то проводите ревью, и поведение Claude становится хаотичным
Корень этих проблем: Claude не получает чёткого сигнала о «режиме работы» и не знает, что сейчас в приоритете.
Когда использовать этот приём
- Этап разработки: ИИ сначала реализует функционал, потом обсуждает детали
- Код-ревью: ИИ сначала полностью разбирается в коде, потом предлагает улучшения
- Техническое исследование: ИИ сначала изучает и исследует, потом делает выводы
- При смене режима работы: явно сообщите ИИ текущую цель
Основная идея
Суть динамической инъекции контекста — дать ИИ разные стратегии поведения для разных режимов работы.
Три режима работы
Everything Claude Code предоставляет три предопределённых контекста:
| Режим | Файл | Фокус | Приоритет | Сценарий применения |
|---|---|---|---|---|
| dev | contexts/dev.md | Реализация функций, быстрые итерации | Сначала запустить, потом улучшить | Повседневная разработка, новый функционал |
| review | contexts/review.md | Качество кода, безопасность, поддерживаемость | Сначала найти проблемы, потом предложить исправления | Code Review, проверка PR |
| research | contexts/research.md | Понимание задачи, исследование решений | Сначала понять, потом действовать | Техническое исследование, анализ багов, проектирование архитектуры |
Зачем нужен динамический контекст?
Контекст vs Системный промпт
Системный промпт — это фиксированные инструкции, загружаемые при запуске Claude Code (содержимое директорий agents/, rules/), определяющие базовое поведение ИИ.
Контекст — это временные инструкции, которые вы динамически инъектируете в зависимости от текущего режима работы. Они переопределяют или дополняют системный промпт, изменяя поведение ИИ в конкретном сценарии.
Системный промпт — это «глобальные настройки по умолчанию», контекст — это «переопределение для сценария».
Сравнение режимов работы
Одна и та же задача, разное поведение ИИ в разных режимах:
### Задача: исправить баг, вызывающий ошибку входа
#### Режим dev (быстрое исправление)
- Быстро локализовать проблему
- Сразу изменить код
- Запустить тесты для проверки
- Сначала запустить, потом оптимизировать
### Режим review (глубокий анализ)
- Тщательно прочитать связанный код
- Проверить граничные условия и обработку ошибок
- Оценить влияние варианта исправления
- Сначала найти проблемы, потом предложить исправления
### Режим research (полное расследование)
- Исследовать все возможные причины
- Проанализировать логи и сообщения об ошибках
- Проверить гипотезы
- Сначала понять первопричину, потом предложить решение🎒 Подготовка перед началом
Предварительные требования
Данное руководство предполагает, что вы:
- ✅ Прошли Быстрый старт
- ✅ Установили плагин Everything Claude Code
- ✅ Знакомы с базовыми концепциями управления сессиями
Практика: использование динамического контекста
Шаг 1: Понимание трёх контекстов
Сначала разберёмся с определением каждого контекста:
dev.md — Режим разработки
Цель: Быстро реализовать функционал, сначала запустить, потом улучшить
Приоритеты:
- Get it working (заставить работать)
- Get it right (сделать правильно)
- Get it clean (сделать чисто)
Стратегия поведения:
- Write code first, explain after (сначала код, потом объяснения)
- Prefer working solutions over perfect solutions (рабочее решение важнее идеального)
- Run tests after changes (запускать тесты после изменений)
- Keep commits atomic (атомарные коммиты)
Предпочтительные инструменты: Edit, Write (изменение кода), Bash (запуск тестов/сборки), Grep/Glob (поиск кода)
review.md — Режим ревью
Цель: Находить проблемы качества кода, уязвимости безопасности и проблемы поддерживаемости
Приоритеты: Critical (критический) > High (высокий) > Medium (средний) > Low (низкий)
Стратегия поведения:
- Read thoroughly before commenting (сначала внимательно прочитать, потом комментировать)
- Prioritize issues by severity (сортировать проблемы по серьёзности)
- Suggest fixes, don't just point out problems (предлагать исправления, а не просто указывать на проблемы)
- Check for security vulnerabilities (проверять уязвимости безопасности)
Чек-лист ревью:
- [ ] Logic errors (логические ошибки)
- [ ] Edge cases (граничные условия)
- [ ] Error handling (обработка ошибок)
- [ ] Security (injection, auth, secrets) (безопасность)
- [ ] Performance (производительность)
- [ ] Readability (читаемость)
- [ ] Test coverage (покрытие тестами)
Формат вывода: Группировка по файлам, приоритет по серьёзности
research.md — Режим исследования
Цель: Глубоко понять проблему, исследовать возможные решения
Процесс исследования:
- Understand the question (понять вопрос)
- Explore relevant code/docs (изучить связанный код/документацию)
- Form hypothesis (сформулировать гипотезу)
- Verify with evidence (проверить доказательствами)
- Summarize findings (подвести итоги)
Стратегия поведения:
- Read widely before concluding (сначала широко изучить, потом делать выводы)
- Ask clarifying questions (задавать уточняющие вопросы)
- Document findings as you go (документировать находки по ходу дела)
- Don't write code until understanding is clear (не писать код, пока не будет ясного понимания)
Предпочтительные инструменты: Read (понимание кода), Grep/Glob (поиск паттернов), WebSearch/WebFetch (внешняя документация), Task with Explore agent (вопросы по кодовой базе)
Формат вывода: Сначала находки, потом рекомендации
Шаг 2: Выбор и применение контекста
Выберите подходящий контекст в зависимости от текущего рабочего сценария.
Сценарий 1: Реализация нового функционала
Подходящий контекст: dev.md
Способ применения:
@contexts/dev.md
Помоги реализовать функцию аутентификации пользователей:
1. Поддержка входа по email и паролю
2. Генерация JWT токена
3. Реализация middleware для защиты маршрутовКак будет вести себя Claude:
- Быстро реализует основной функционал
- Не будет переусложнять
- После реализации запустит тесты для проверки
- Атомарные коммиты (каждый коммит — одна небольшая функция)
Что вы должны увидеть:
- Быстрое получение работающего кода
- Тесты проходят
- Функционал работает, возможно не идеально элегантно
Сценарий 2: Ревью PR коллеги
Подходящий контекст: review.md
Способ применения:
@contexts/review.md
Проведи ревью этого PR: https://github.com/your-repo/pull/123
Особое внимание:
- Безопасность (SQL-инъекции, XSS, аутентификация)
- Обработка ошибок
- Проблемы производительностиКак будет вести себя Claude:
- Сначала внимательно прочитает весь связанный код
- Отсортирует проблемы по серьёзности
- Предложит исправление для каждой проблемы
- Не будет сразу менять код, только даст рекомендации
Что вы должны увидеть:
- Структурированный отчёт о ревью (по файлам, по серьёзности)
- Для каждой проблемы — конкретное место и рекомендация по исправлению
- Проблемы уровня Critical отмечены в первую очередь
Сценарий 3: Исследование интеграции новой технологии
Подходящий контекст: research.md
Способ применения:
@contexts/research.md
Хочу интегрировать ClickHouse как аналитическую базу данных в проект, помоги исследовать:
1. Преимущества и недостатки ClickHouse
2. Как сочетается с нашей текущей архитектурой на PostgreSQL
3. Стратегия миграции и риски
4. Результаты бенчмарков производительности
Не пиши код, сначала разберись с решением.Как будет вести себя Claude:
- Сначала поищет официальную документацию ClickHouse и лучшие практики
- Изучит релевантные кейсы миграции
- Проанализирует совместимость с текущей архитектурой
- Будет документировать находки по ходу исследования
- В конце даст комплексные рекомендации
Что вы должны увидеть:
- Детальный сравнительный технический анализ
- Оценка рисков и рекомендации по миграции
- Никакого кода, только решение и выводы
Шаг 3: Переключение контекста в одной сессии
Вы можете динамически переключать контекст в одной сессии, адаптируясь к разным этапам работы.
Пример: рабочий процесс разработка + ревью
#### Шаг 1: Реализация функционала (режим dev)
@contexts/dev.md
Реализуй функцию входа пользователя с аутентификацией по email и паролю.
...
#### Claude быстро реализует функционал
#### Шаг 2: Самопроверка (режим review)
@contexts/review.md
Проведи ревью только что реализованного кода функции входа:
...
#### Claude переключается в режим ревью, глубоко анализирует качество кода
#### Выводит проблемы и рекомендации по улучшению, отсортированные по серьёзности
#### Шаг 3: Улучшение по результатам ревью (режим dev)
@contexts/dev.md
По результатам ревью выше, исправь проблемы уровня Critical и High.
...
#### Claude быстро исправляет проблемы
#### Шаг 4: Повторное ревью (режим review)
@contexts/review.md
Проведи повторное ревью исправленного кода.
...
#### Claude проверяет, решены ли проблемыЧто вы должны увидеть:
- Чёткий фокус на каждом этапе
- Быстрые итерации на этапе разработки
- Глубокий анализ на этапе ревью
- Отсутствие конфликтов поведения в одном режиме
Шаг 4: Создание пользовательского контекста (опционально)
Если три предопределённых режима не удовлетворяют вашим потребностям, можно создать пользовательский контекст.
Формат файла контекста:
#### My Custom Context
Mode: [название режима]
Focus: [фокус]
## Behavior
- Правило поведения 1
- Правило поведения 2
## Priorities
1. Приоритет 1
2. Приоритет 2
## Tools to favor
- Рекомендуемые инструментыПример: debug.md — Режим отладки
#### Debug Context
Mode: Debugging and troubleshooting
Focus: Root cause analysis and fix
## Behavior
- Start by gathering evidence (logs, error messages, stack traces)
- Form hypothesis before proposing fixes
- Test fixes systematically (control variables)
- Document findings for future reference
## Debug Process
1. Reproduce the issue consistently
2. Gather diagnostic information
3. Narrow down potential causes
4. Test hypotheses
5. Verify the fix works
## Tools to favor
- Read for code inspection
- Bash for running tests and checking logs
- Grep for searching error patternsИспользование пользовательского контекста:
@contexts/debug.md
Столкнулся с этой проблемой в продакшене:
[сообщение об ошибке]
[связанные логи]
Помоги отладить.Контрольная точка ✅
После выполнения вышеуказанных шагов вы должны:
- [ ] Понимать принцип работы и сценарии применения трёх предопределённых контекстов
- [ ] Уметь выбирать подходящий контекст в зависимости от рабочего сценария
- [ ] Уметь динамически переключать контекст в сессии
- [ ] Знать, как создавать пользовательские контексты
- [ ] Ощутить явную разницу в поведении ИИ при разных контекстах
Типичные ошибки
❌ Ошибка 1: Не переключать контекст, ожидая автоматической адаптации ИИ
Проблема: В одной сессии то разработка, то ревью, но ИИ не знает текущую цель.
Проявление: Claude ведёт себя хаотично — то слишком много анализирует, то торопливо меняет код.
Правильный подход:
- Явно переключать контекст:
@contexts/dev.mdили@contexts/review.md - Объявлять текущую цель в начале каждого этапа
- Использовать
## Шаг X: [цель]для явного обозначения этапа
❌ Ошибка 2: Использовать режим research для быстрой разработки
Проблема: Нужно быстро реализовать функционал за 30 минут, но используется @contexts/research.md.
Проявление: Claude тратит много времени на исследование, обсуждение, анализ и долго не приступает к написанию кода.
Правильный подход:
- Для быстрой разработки — режим
dev - Для глубокого исследования — режим
research - Выбирать режим в зависимости от временных ограничений и сложности задачи
❌ Ошибка 3: Использовать режим dev для ревью критического кода
Проблема: Ревью критического кода, связанного с безопасностью, деньгами, приватностью, но используется @contexts/dev.md.
Проявление: Claude быстро просматривает код и может пропустить серьёзные уязвимости безопасности.
Правильный подход:
- Для ревью критического кода обязательно использовать режим
review - Для обычного ревью PR использовать режим
review - Режим
devтолько для быстрых собственных итераций
Итоги урока
Динамическая инъекция контекста позволяет оптимизировать стратегию поведения ИИ в разных сценариях через явное указание текущего режима работы:
Три предопределённых режима:
- dev: Быстрая реализация, сначала запустить, потом улучшить
- review: Глубокое ревью, найти проблемы и предложить исправления
- research: Полное исследование, понять, потом делать выводы
Ключевые моменты:
- Переключать контекст в зависимости от этапа работы
- Явно загружать контекст через
@contexts/xxx.md - Можно переключаться несколько раз в одной сессии
- Можно создавать пользовательские контексты для специфических потребностей
Основная ценность: Избежать хаотичного поведения ИИ, повысить концентрацию и эффективность на разных этапах.
Анонс следующего урока
В следующем уроке мы изучим Справочник по конфигурации: полное описание settings.json.
Вы узнаете:
- Полный список опций конфигурации settings.json
- Как настраивать Hooks
- Стратегии включения и отключения MCP-серверов
- Приоритеты конфигурации на уровне проекта и глобальном уровне
Приложение: справочник по исходному коду
Нажмите, чтобы увидеть расположение исходного кода
Дата обновления: 2026-01-25
| Функционал | Путь к файлу | Строки |
|---|---|---|
| Определение контекста dev | contexts/dev.md | 1-21 |
| Определение контекста review | contexts/review.md | 1-23 |
| Определение контекста research | contexts/research.md | 1-27 |
Ключевые файлы контекстов:
dev.md: Контекст режима разработки, приоритет на быстрой реализации функционалаreview.md: Контекст режима ревью, приоритет на поиске проблем качества кодаresearch.md: Контекст режима исследования, приоритет на глубоком понимании задачи