Как управлять контекстом в вайбкодинге?
10 часов назад
Никита Вихров
Ответы
Как управлять контекстом в вайбкодинге
Контекст — самый ценный ресурс при работе с моделью. Правильное управление им напрямую влияет на качество кода, который генерирует модель.
Проблема «мусорного контекста»
Чем длиннее диалог, тем больше нерелевантной информации накапливается в контексте. Модель начинает «отвлекаться»: путать старые версии кода с новыми, игнорировать свежие инструкции, повторять уже исправленные ошибки.
Признаки загрязнённого контекста:
- модель «забывает» договорённости из начала диалога
- генерирует код в старом стиле, который вы уже просили исправить
- ссылается на функции, которые вы удалили несколько сообщений назад
Решение простое: начинайте новый чат при смене задачи.
Что класть в контекст
Всегда включайте:
- актуальный код, с которым работаете (не «примерно такой», а точный)
- текст ошибки или стектрейс целиком
- конкретные ограничения: версии, библиотеки, соглашения
- что уже пробовали и почему не сработало
Не включайте:
- весь проект целиком, если нужен один файл
- длинные объяснения того, что код должен делать — лучше покажите пример входа и выхода
- историю всех итераций, если вопрос уже поменялся
Техника «чистого старта»
Для каждой новой подзадачи открывайте новый чат и начинайте с минимального контекста:
Стек: Python 3.11, FastAPI, SQLAlchemy async
Задача: [конкретная задача]
Код: [только релевантный фрагмент]
Это кажется лишней работой, но на практике даёт более точные ответы, чем продолжение длинного «грязного» диалога.
Работа с большими кодовыми базами
Модель не может видеть весь проект сразу — контекстное окно конечно. В ИИ-редакторах вроде Cursor это решается через @-ссылки:
@файл1.py @файл2.py — подтяни эти два файла в контекст
@папка — подтяни всю папку
@docs — подтяни документацию
Чем точнее вы указываете, что нужно модели — тем меньше токенов тратится на лишнее.
Техника «сжатия контекста»
Если диалог стал длинным, но менять его неудобно — попросите модель сделать резюме:
подведи итог нашего диалога: какую задачу решаем,
какие решения приняли, какой код написали.
я скопирую это в новый чат.
Получите плотное резюме, которое сохраняет всё важное без лишних итераций.
Правило одного файла
Не просите модель редактировать несколько файлов одновременно без необходимости. Лучше:
# Вместо
перепиши auth.py, api.py и db.py под новую схему
# Делайте по одному
1. обнови схему в db.py
2. теперь обнови api.py чтобы использовать новую схему
3. теперь обнови auth.py
Меньше изменений за раз — легче проверять diff, проще откатить.
Если коротко: хорошее управление контекстом — это чистые, короткие, точные диалоги с нужным кодом и без лишнего. Относитесь к контексту как к рабочему столу: чем меньше лишнего, тем лучше работается.
10 часов назад
Никита Вихров