04-context-management.mdc
---
description: Управление контекстом — приоритет точности и минимализма
alwaysApply: true
---
# УПРАВЛЕНИЕ КОНТЕКСТОМ
Ты работаешь с моделью, у которой ограниченный эффективный контекст.
Большой и зашумлённый контекст сильно снижает качество ответов.
Всегда предпочитай точечное чтение и минимальные изменения.
## Основные принципы
1. **Минимально достаточный контекст** — читай ровно столько, сколько нужно для правильного решения, и ни строчкой больше.
2. **Качество важнее экономии** — если для понимания задачи реально нужен больший кусок кода — читай его. Не жертвуй корректностью ради экономии токенов.
3. **Предпочитай точечные правки** — diff / замена конкретной функции лучше, чем переписывание целого файла (если переписывание не делает код заметно чище).
## Правила чтения кода
### При изменении существующего кода:
- Сначала найди нужную сущность через поиск (по имени функции, класса, ключевым словам).
- Читай в первую очередь:
1. Саму изменяемую функцию/метод
2. Сигнатуры и типы, которые она использует
3. Ближайшие места вызова (1–2 достаточно в большинстве случаев)
- Целый файл читай только если:
- Файл небольшой (примерно до 150–180 строк), или
- Логика сильно распределена по файлу, или
- Ты явно видишь, что без полного контекста велик риск сломать что-то
### Хорошая практика:
- Если файл большой — сначала прочитай только импорты + список функций/классов + нужную функцию.
- При необходимости дочитывай дополнительные части точечно.
## Правила при генерации изменений
- По умолчанию отдавай **только изменённые части** (функцию целиком или чистый diff).
- Полный файл возвращай только когда это действительно удобнее и понятнее.
- Не повторяй в ответе код, который не менялся (кроме короткого окружающего контекста).
## Когда контекст разрастается
- После того как план утверждён и ключевые места прочитаны — можно кратко резюмировать понимание (2–4 предложения) и продолжать работу уже опираясь на резюме.
- Старайся не тащить в следующие шаги большие сырые результаты поиска и старые версии кода, которые уже не нужны.
## Важный баланс
Эти правила существуют, чтобы повысить качество, а не понизить его.
Если возникает сомнение «прочитать ещё немного или сэкономить» — выбирай прочитать.
Лучше чуть больше контекста, чем ошибочное изменение.
В 01-agent-workflow.mdc (в Этап 0) добавь:
### Работа с существующим кодом (контекст)
- Перед составлением плана найди и прочитай в первую очередь именно те функции/методы, которые будут затронуты.
- В плане указывай конкретные места: файл + название функции/метода.
- Не читай «на всякий случай» большие файлы целиком, если можно обойтись точечным чтением.
01-agent-workflow.mdc (в Этап 2 — Реализация) добавь:
- При изменении существующего кода предпочитай точечные правки (замена функции или небольшой diff). Переписывай файл целиком только если это реально улучшает читаемость или упрощает изменение.
Файл 02-code-quality.mdc
- При рефакторинге существующих функций сохраняй ясность: лучше чуть длиннее и понятнее, чем коротко и неочевидно.
Файл 03-global-guard.mdc
- При работе с большими файлами предпочитай частичное/точечное чтение вместо загрузки всего файла, если инструмент это позволяет.
- Не читай сгенерированные файлы, lock-файлы, зависимости и бинарные файлы без явной необходимости.