Ошибки из-за отсутствующего контекста
Запросы, предполагающие наличие у модели знаний, которых у неё нет
«Ошибки из-за отсутствующего контекста» — бесплатный урок AI Prompt Engineering на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Prompt Engineering, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Prompt Engineering содержит 4 уроков всего.
Пробел в контексте
Модели ИИ знают очень многое благодаря обучающим данным, но им ничего не известно о вашей конкретной ситуации, если вы не расскажете о ней. Запросы, предполагающие наличие неизвестных модели сведений, приводят к ответам, в целом правильным, но бесполезным в конкретной ситуации.
«Исправьте ошибку». — Какую ошибку? В каком коде? Что код делает сейчас? Что он должен делать вместо этого?
Модель придумает ответ, а не сообщит, что ей не хватает информации. Такой выдуманный ответ почти никогда не соответствует тому, что вам нужно.
Какого контекста нет у модели
Если вы не предоставите эти сведения, модель не знает:
- Ваш конкретный код, проект или документ
- Вашу компанию, продукт, бренд или клиентов
- Диалог, который состоялся у вас в предыдущем сеансе (каждый диалог начинается заново)
- Что вы уже пробовали и почему это не сработало
- Ваши личные предпочтения, стиль или стандарты
- Подготовку вашей аудитории
- Ограничения вашей среды (набор технологий, бюджет, срок)
Всё, что модели известно о вашей задаче, должно поступать из текущего диалога.
Антипаттерн «исправьте ошибку»
«Исправьте ошибку» — классический запрос с отсутствующим контекстом. Модель не получает информации о следующем:
- Какой используется язык или программная платформа
- Что должен делать код
- Что код делает на самом деле (проявление проблемы)
- Какая ошибка или неправильный результат появляется
- Что уже пробовали и что не сработало
Полный запрос на исправление ошибки содержит все пять элементов: «Эта функция Python должна возвращать сумму всех четных чисел в списке, но возвращает 0 для [2,4,6]. Вот код: [вставьте код]. Ошибка: ...»
Заблуждение о памяти
«Продолжите с того места, на котором мы остановились». — Распространенная ошибка, показывающая фундаментальное непонимание: модель не сохраняет память между сеансами.
Каждый новый диалог начинается полностью заново. У модели нет доступа к предыдущим диалогам, даже если вы использовали ту же учетную запись или тот же инструмент. Если нужен контекст из предыдущего сеанса, его необходимо явно вставить в текущий диалог.
Некоторые инструменты, например «Проекты Claude» или пользовательские системы памяти, предоставляют контекст между сеансами, но это функция инструмента, а не встроенная способность модели.
Предположение «вы и так понимаете, что я имею в виду»
Распространенная ошибка, связанная с контекстом, — предположение, что модель разделяет ваши неявные фоновые знания:
- «Сделайте это в соответствии с нашим брендом» (с каким брендом? каковы рекомендации по бренду?)
- «Напишите это так же, как в прошлый раз» (у модели нет доступа к прошлому диалогу)
- «Используйте тот же формат, что и в остальных отчетах» (вставьте формат или пример отчета)
- «Сохраните соответствие тому, что мы обсуждали» (если это новый диалог, обсуждения еще не было)
Решение всегда одно: сделайте неявное явным. Укажите, какие сведения, по вашему предположению, уже известны модели.
Добавление контекста: решение
Добавление контекста означает явное предоставление фоновой информации, необходимой модели для правильного ответа. Существуют три основных способа:
Вставьте релевантное содержимое: добавьте код, документ, письмо или данные непосредственно в запрос.
Опишите ситуацию: перед инструкцией к задаче изложите релевантный контекст в 2–5 предложениях.
Укажите ограничения: упомяните среду, набор технологий, аудиторию и все важные решения, принятые ранее.
Добавление контекста превращает общие знания модели в ответы, учитывающие конкретную ситуацию.
Структурированное добавление контекста
Для сложных задач структурируйте контекст с помощью озаглавленных разделов, расположенных перед инструкцией к задаче:
context_injection_prompt = '''## Background
We are a B2B SaaS company selling project management software to construction firms.
Our customers are project managers with 5-15 years of experience.
They value practical reliability over flashy features.
Our tone is professional, direct, and jargon-free (no tech startup buzzwords).
## Current situation
We are launching a new mobile app feature that sends automated daily digests.
The beta test with 12 customers showed 83% said it saved them at least 30 minutes per week.
## Task
Write a 200-word announcement email to our existing customers about this new feature.
Tone: warm, practical, results-focused.
Include the 83% / 30-minute stat.
End with a CTA to try the feature.
Do not mention competitor products.'''
print(context_injection_prompt)Настройка глубины контекста
Не вся информация контекста одинаково ценна. Слишком малый объем контекста приводит к общему результату, а слишком большой скрывает важные сведения среди лишнего материала и может отодвинуть саму инструкцию к задаче слишком далеко вниз в запросе.
Настраивайте глубину контекста, задавая себе вопрос: что должен знать вдумчивый эксперт-человек, чтобы хорошо выполнить эту задачу?
- Включайте: аудиторию, цель, ограничения, специализированную терминологию и важные решения, принятые ранее
- Исключайте: сведения, которые и так известны всем, нерелевантную историю и второстепенные детали
Полезное правило: контекст должен быть достаточно конкретным, чтобы посторонний человек не мог использовать его для другой компании или ситуации.
Контекст между сеансами: создание вводного блока контекста
Поскольку модель не сохраняет память между сеансами, решением может стать повторно используемый вводный блок контекста — стандартный блок сведений, который вы вставляете в начало каждого сеанса по регулярно обсуждаемой теме:
CONTEXT_PRIMER = '''## Project context (paste at start of every session)
Project: Redesign of the Acme Corp customer onboarding flow
Team: 2 designers, 1 PM, 3 engineers
Stack: React, TypeScript, Supabase, Stripe
Current problem: 40% of new users drop off before completing step 3 of 5 in onboarding
Previous decisions:
- Step 3 will remain (required for compliance)
- No major UI changes until Q3
- All solutions must work on mobile-first
Constraints: No new third-party dependencies without security review
Today I need help with: [describe today's specific task here]
'''
print(CONTEXT_PRIMER)Проблема неполной спецификации
Одна из связанных с отсутствием контекста ошибок — неполная спецификация: вы предоставляете часть контекста, но недостаточно для обработки моделью крайних случаев.
Пример: «Напишите функцию, которая фильтрует пользователей по статусу подписки».
Какова структура данных? Какие значения статуса допустимы? Что должно произойти с пользователями без статуса? Нужно ли учитывать регистр? Что функция должна возвращать, если список пуст?
Модель сделает предположения по каждому из этих вопросов. Они могут оказаться неверными. Полные спецификации явно учитывают крайние случаи.
Контекст для задач программирования: минимальный набор
Для запросов, связанных с кодом, минимальный набор контекста позволяет стабильно получать полезный результат:
- Язык и версия: Python 3.11, TypeScript 5.0
- Платформа: FastAPI, Next.js, React Native
- Что должен делать код: ожидаемые входные и выходные данные
- Что код делает неправильно сейчас: проявление проблемы и сообщение об ошибке
- Что уже пробовали: это помогает не повторять подходы, которые уже не сработали
- Ограничения: нельзя использовать внешние зависимости, выполнение должно занимать менее 50 мс
Этот минимальный набор устраняет наиболее распространенные причины, по которым предложения кода от ИИ оказываются в целом правильными, но неверными в вашем конкретном контексте.
Проверка знаний: отсутствие контекста
Разработчик отправляет такой запрос: «Помогите мне оптимизировать это», не предоставляя никакой другой информации. Как точнее всего описать то, что произойдет?
Итоги: ошибки из-за отсутствия контекста
Ошибки из-за отсутствия контекста возникают, когда запрос предполагает наличие у модели сведений, которых у неё нет: о вашем коде, бренде, предыдущих сеансах и решениях вашей команды. Модель заполняет эти пробелы предположениями, создавая общий или неправильный результат.
Решение — добавить контекст: вставить релевантное содержимое, описать ситуацию и явно указать ограничения. Для регулярно повторяющихся задач повторно используемый вводный блок контекста решает проблему памяти между сеансами. В задачах с кодом всегда указывайте язык, платформу, входные и выходные данные, текущее поведение и ограничения.
На заключительном уроке этого курса вы объедините все полученные знания в систематический список проверок для отладки запросов.
Часто задаваемые вопросы
Урок «Ошибки из-за отсутствующего контекста» бесплатный?
Да — полный текст урока «Ошибки из-за отсутствующего контекста» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Prompt Engineering, подпишись на CoddyKit PRO. Курс AI Prompt Engineering содержит 4 уроков всего.
Чему я научусь в уроке «Ошибки из-за отсутствующего контекста»?
Запросы, предполагающие наличие у модели знаний, которых у неё нет Ты практикуешь AI Prompt Engineering с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AI Prompt Engineering?
Предыдущий опыт не требуется. AI Prompt Engineering на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Ошибки из-за отсутствующего контекста»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AI Prompt Engineering?
Да. Каждый урок AI Prompt Engineering включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Слишком расплывчатые инструкции
- Противоречивые требования
- Ошибки из-за отсутствующего контекста
- Диагностика и исправление неудачных запросов