AI Foundations
Context
Неофициальный перевод раздела Cursor Learn. Мы переводим английский оригинал и чуть расширяем объяснения — это не материал от Cursor Inc.
Хочешь лучше ответы от модели? Многие сразу думают: «надо писать лучше prompts». Это помогает. Но большая картина другая: работа с AI — это в первую очередь управление context, который ты модели даёшь.
Аналогия с готовкой. Варишь суп: есть ингредиенты (inputs), есть рецепт/путь (process), на выходе — результат. Разные повара чуть меняют состав. Даже при одном рецепте вкус чуть плавает. С моделями похоже.
В coding-сценарии:
- Inputs — codebase, открытые файлы, твой prompt с целью
- Process — план (твой или от модели), todo-список, шаги
- Output — сгенерированный код, который ты применяешь в проект
System и user prompts
Всё, что входит и выходит, складывается в context — рабочую память разговора. Представь длинный список сообщений.
В начале часто лежит system prompt: скрытые инструкции от создателя тула — стиль, правила, safety, как пользоваться tools. Он мягко (а иногда жёстко) подталкивает поведение модели.
Дальше — user prompt: твои указания. Например: «добавь route для управления аккаунтами». Орфография и идеальная грамматика не обязательны — модели удивительно хорошо понимают кривой текст — но ясность всё равно помогает.
Context уже не только текст. Многие продукты принимают картинки: модель «читает» мокап и кладёт текстовое представление изображения в тот же контекст.
Что ещё попадает в context
Тулы вроде Cursor умеют автоматически подмешивать релевантное: открытые файлы, вывод терминала, linter errors, куски codebase.
После генерации ответ модели тоже становится частью context. Простой вопрос → текст. Coding → сниппеты и правки файлов. Диалог идёт turn за turn’ом: каждое сообщение (и твоё, и модели) остаётся в рабочей памяти.
Список растёт. И тут важный момент: у модели, как у человека в длинном разговоре, конечная способность удерживать всё сразу. Через час «болтовни» детали из начала размываются. Поэтому skill «управлять context» — не optional, а must-have.
Context limits
У каждой модели есть context limit (context window). Упёрся в потолок — новые сообщения не влезут. Поэтому тулы показывают, сколько окна уже съедено, и предлагают compress / summarize тред.
Позже в курсе будут практические приёмы для Cursor. Пока мы говорили только про context, который ты контролируешь. А что, если модель сама должна доставать информацию динамически?
Для этого есть tool calling.