Контекстная инженерия: настоящий навык за промптингом
Перейти к разделу
Промптинг vs. контекстная инженерия
Большинство людей сосредоточены на том, как лучше сформулировать промпт. Это похоже на оптимизацию SQL-запроса без индексов — можно стараться сколько угодно, но фундаментальная проблема в другом. Контекстная инженерия — это дисциплина управления информацией, к которой имеет доступ модель: когда она её получает и в каком формате. Когда AI даёт плохой ответ, первый вопрос — не «как лучше промптить?», а «какого контекста не хватает модели?»
Уровни контекста в AI-инструментах разработчика
Контекст формируется из нескольких уровней: системный промпт (установленный инструментом), инструкции уровня проекта (CLAUDE.md, .cursorrules), файлы, загруженные в контекст, история разговора и ваш текущий промпт. Каждый уровень имеет разный приоритет и по-разному влияет на вывод.
Как разработчик, вы управляете тремя уровнями: инструкциями проекта, тем, какие файлы загружаются, и своим промптом. Наибольший рычаг влияния — первый: инструкции проекта автоматически применяются к каждому разговору.
Почему один и тот же промпт даёт разные результаты
Представьте промпт «отрефактори эту функцию». Без контекста модель понятия не имеет, предпочитаете ли вы функциональный или ООП-стиль, используете ли TypeScript strict mode, есть ли у вас тесты. С CLAUDE.md, в котором написано «используй функциональную композицию, TypeScript strict, каждая функция должна иметь unit-тест» — тот же промпт даёт кардинально лучший результат.
Контекстное окно как RAM
Представьте контекстное окно модели как RAM вашего компьютера. У вас ограниченная ёмкость, и нужно решить, что туда помещать. Загрузка целого репозитория — как открыть 500 вкладок в браузере: технически возможно, но производительность резко падает. Каждый токен в контексте имеет свою цену — нерелевантная информация не просто бесполезна, она активно вредит: модель может уловить ложный сигнал из несвязанного файла.
Практическое правило: модель работает лучше всего, когда в контексте есть именно то, что нужно — не больше и не меньше. Слишком мало контекста = галлюцинации. Слишком много контекста = иголка теряется в стоге сена.
Практические техники контекстной инженерии
Несколько техник, которые сразу улучшают результат: 1) Загружайте релевантные файлы перед промптом. 2) Начинайте новый разговор при смене темы. 3) Используйте CLAUDE.md для всего, что применяется всегда. 4) В промпте ссылайтесь на конкретные номера строк и файлы. 5) Структурируйте контекст иерархически — от общего к конкретному.
В Claude Code можно использовать /clear для сброса контекста, но CLAUDE.md остаётся. Это и есть преимущество — инструкции вашего проекта переживают каждый сброс.
Контекст vs. fine-tuning vs. RAG
Контекстная инженерия — самый быстрый способ влиять на поведение модели. Fine-tuning требует данных и вычислительных ресурсов. RAG требует инфраструктуры. Но хорошо написанный CLAUDE.md — это 10 минут работы с немедленным эффектом для каждого разговора.
Intro to Large Language Models
Откройте ваш основной проект и запишите: 1. Какие инструкции проекта у вас есть? (CLAUDE.md, .cursorrules, другие) 2. Какая информация нужна модели, но у неё её нет? (соглашения, архитектура, зависимости) 3. Какую информацию получает модель, но не нуждается в ней? (нерелевантные файлы, старая история) На основе аудита спланируйте, что добавить в CLAUDE.md и что перестать загружать в контекст.
Подсказка
Сосредоточьтесь на том, что вы неоднократно объясняете модели — это кандидаты для CLAUDE.md. И замечайте, какие файлы модель читает, но никогда не использует — они создают шум.
Создайте файл CLAUDE.md для вашего текущего проекта. Включите: технический стек, соглашения, ключевые архитектурные решения, часто используемые команды и конкретные инструкции для AI («всегда используй TypeScript strict mode», «пиши тесты в pytest»). Тест: дайте AI одно и то же задание с CLAUDE.md и без него. Насколько отличается качество вывода?
Подсказка
Задокументируйте процесс и результаты — они послужат ориентиром для аналогичных задач в будущем.
Возьмите одну задачу программирования и проведите три эксперимента: 1. Минимальный контекст: дайте задачу без CLAUDE.md, без загруженных файлов 2. Средний контекст: добавьте CLAUDE.md и 2-3 релевантных файла 3. Максимальный контекст: добавьте всё — CLAUDE.md, релевантные файлы, примеры, историю Для каждого эксперимента оцените: корректность, соответствие стилю проекта, количество необходимых правок. Найдите оптимальную точку.
Подсказка
Оптимум обычно — «CLAUDE.md + непосредственно релевантные файлы». Слишком много контекста может быть контрпродуктивным — модель теряется в нерелевантных деталях.
- Контекстная инженерия > промптинг — фокусируйтесь на том, что знает модель, а не только на том, как вы спрашиваете
- Контекст имеет уровни: системный промпт, инструкции проекта, файлы, история, промпт
- Больше контекста — не всегда лучше; максимизируйте соотношение сигнал/шум
- CLAUDE.md — самый эффективный инструмент контекстной инженерии
- Каждый новый разговор = чистый контекст (кроме инструкций проекта)