Противоречивые требования
Как конфликтующие ограничения сбивают модель с толку и приводят к уклончивым ответам
«Противоречивые требования» — бесплатный урок AI Prompt Engineering на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Prompt Engineering, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Prompt Engineering содержит 4 уроков всего.
Проблема противоречий
Промпт с противоречивыми требованиями просит модель одновременно достичь двух целей, которые невозможно полностью реализовать. В отличие от расплывчатости, где проблема заключается в недостатке информации, противоречия предоставляют модели конфликтующую информацию и вынуждают её произвольно выбирать, чем пожертвовать.
Модель не сообщит Вам о противоречии требований. Она создаст результат, но незаметно пожертвует одним из требований, чтобы выполнить другое. Вы можете не заметить этого, пока внимательно не изучите результат.
Классическое противоречие 1: кратко, но исчерпывающе
«Напишите краткий обзор, который исчерпывающе охватывает все аспекты облачных вычислений».
Краткий означает небольшой по объёму. Исчерпывающий означает подробный и полный. Для такой широкой темы, как облачные вычисления, эти две цели несовместимы. Чем-то придётся пожертвовать.
Обычно модель отдаёт предпочтение широте охвата (упоминанию множества тем), а не глубине, создавая поверхностный обзор, похожий на список. Но в первой строке она назовёт его «исчерпывающим», создавая ложное ощущение полноты.
Исправление: решите, что важнее, а затем сузьте охват. Формулировка «Краткий обзор трёх основных моделей облачных вычислений» позволяет достичь обеих целей.
Классическое противоречие 2: формально, но увлекательно
«Напишите формальный отчёт, который при этом будет увлекательным и интересным».
Формальный стиль письма следует определённым правилам: сдержанный язык, третье лицо, структурированные разделы, отсутствие разговорных выражений. Увлекательный и интересный текст обычно использует юмор, первое или второе лицо, неожиданные ракурсы и эмоциональные зацепки. Эти стили активно противоречат друг другу.
Исправление: выберите точку на шкале формальности. Формулировка «Пишите профессиональным, но разговорным тоном — не сухим, но и не неформальным» является последовательной инструкцией: противоречие разрешается выбором и точным обозначением среднего варианта.
Классическое противоречие 3: простота и подробность
«Объясните квантовую запутанность просто и во всех подробностях».
Упрощение требует абстракции — сокрытия сложности и опущения нюансов. Полное изложение деталей требует противоположного. В технических темах невозможно одновременно сделать объяснение предельно простым и предельно подробным.
Решение: укажите целевую аудиторию и уровень её подготовки, а затем определите глубину изложения на основе этого решения. «Объясните квантовую запутанность студенту-физику, изучающему бакалавриат: предположите, что он знает волновые функции, но не знает QFT». Это конкретная и выполнимая задача, поскольку определение аудитории подсказывает правильный баланс.
Выявление противоречий перед отправкой
Перед отправкой запроса с несколькими инструкциями быстро проверьте его на противоречия:
- Перечислите все инструкции и ограничения
- Для каждой пары спросите себя: можно ли одновременно выполнить оба требования без компромиссов?
- Если требования противоречат друг другу, решите, какое из них важнее
- Явно укажите приоритет в запросе
Для сложного запроса это занимает 30–60 секунд и предотвращает неприятную ситуацию, когда вы лишь задним числом понимаете, что полученный результат не может одновременно соответствовать всем вашим требованиям.
Проблема частичного пересечения
Не все противоречия являются абсолютными противоположностями. Некоторые инструкции частично пересекаются: выполнение одного требования затрудняет выполнение другого:
- «Без жаргона» + «технически точно» — техническая точность часто требует специальной терминологии
- «Объективно» + «убедительно» — убедительность подразумевает выборочную подачу фактов
- «Креативно» + «в соответствии с голосом бренда» — творческие ограничения сужают диапазон возможных решений
Частичное пересечение приводит к частично правильным результатам, которые кажутся немного неуместными. Модель идет на компромисс по обоим требованиям, вместо того чтобы полностью выполнить хотя бы одно из них.
Разрешение противоречий с помощью приоритетных инструкций
Самый простой способ разрешить противоречие — явно указать приоритет:
- «Будьте максимально кратки, но осветите все 5 пунктов. Если из-за ограничения на количество слов вы не можете полностью раскрыть какой-либо пункт, изложите его в одном предложении, а не пропускайте».
- «Стремитесь к профессиональному тону, но если придется выбирать между сухо-официальным и непринужденно-увлекательным стилем, склоняйтесь к увлекательному».
- «Ставьте точность выше простоты. Если для понятия требуется техническая терминология, используйте её и дайте определение при первом упоминании».
Приоритетные инструкции избавляют модель от необходимости самостоятельно угадывать, как разрешить компромисс.
Выявление противоречий в коде
Для конвейеров автоматической генерации запросов можно добавить предварительную проверку на противоречия с помощью второго вызова модели перед созданием самого содержимого:
import openai
client = openai.OpenAI(api_key='sk-...')
def check_for_contradictions(prompt_text):
check_prompt = f'''Review the following prompt for contradictory requirements.
List any pairs of instructions that conflict with each other.
For each conflict, suggest how to resolve it.
If there are no conflicts, say "No contradictions found."
Prompt to review:
---
{prompt_text}
---'''
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': check_prompt}]
)
return response.choices[0].message.content
# Example
test_prompt = '''Write a brief but comprehensive guide to machine learning
that is both simple for beginners and technically detailed for experts.
Keep it under 200 words. Formal and professional but also fun and engaging.'''
print(check_for_contradictions(test_prompt))Противоречия в тоне: подробный разбор
Противоречия в тоне особенно распространены, поскольку многие его характеристики располагаются на шкалах с неявно противоположными полюсами:
- Официальный ←————————→ Непринужденный
- Авторитетный ←————→ Располагающий
- Срочный ←——————————→ Спокойный
- Краткий ←—————————→ Разъяснительный
Сочетание терминов с противоположных концов одной шкалы создает противоречие. Вместо двух противоположных терминов определите желаемое положение на шкале и используйте термин, соответствующий именно этой точке: «разговорный, но профессиональный» или «прямой, но не холодный».
Противоречия объема
Противоречия объема возникают, когда объем содержания несовместим с ограничением по длине:
- «Осветите все 10 функций в 100 словах» — 10 слов на функцию недостаточно для содержательного изложения
- «Предоставьте исчерпывающий анализ с примерами для каждого пункта в тексте, рассчитанном на чтение за 2 минуты»
- «Проведите полное сравнение 5 продуктов по 8 параметрам в одном абзаце»
Это математические противоречия. Решение всегда одно: либо уменьшить объем задачи, либо увеличить допустимую длину. Если ни одним из требований нельзя поступиться, задачу нужно разделить на несколько результатов.
Противоречия в описании аудитории
Запрос может содержать противоречивые указания относительно аудитории:
- «Пишите одновременно для новичков и экспертов» — глубина объяснения, подходящая одним, не подходит другим
- «Пишите для технической команды и её руководителей без технической подготовки» — та же проблема
- «Сделайте доступным для всех читателей независимо от их подготовки» — спецификация аудитории получается необоснованно широкой
Решение: выберите основную аудиторию и пишите для неё. Если нужны две версии, запустите шаблон дважды с разными переменными аудитории, вместо того чтобы пытаться создать один результат, который плохо подходит обеим группам.
Проверка знаний: противоречивые требования
Вам нужно написать объявление о новом корпоративном программном инструменте. Вы хотите, чтобы оно было: (1) захватывающим и воодушевляющим, (2) официальным и подходящим для аудитории CEO, (3) короче 80 слов, (4) охватывало все 7 новых функций. Какое противоречие важнее всего разрешить?
Итоги: противоречивые требования
Противоречивые требования — это инструкции, которые невозможно одновременно выполнить в полном объеме. В отличие от расплывчатости, противоречия дают модели слишком много конфликтующей информации. Модель молча разрешает противоречие, жертвуя одной целью ради другой, и не сообщает вам об этом.
Классические пары: краткость и исчерпывающая полнота, официальность и увлекательность, простота и подробность. Выявляйте противоречия, перечисляя все инструкции и проверяя их попарно. Разрешайте их, выбирая приоритет, находя компромиссную формулировку или разделяя задачу на несколько результатов.
На следующем уроке вы разберете отсутствие контекста — третью основную категорию ошибок в запросах.
Часто задаваемые вопросы
Урок «Противоречивые требования» бесплатный?
Да — полный текст урока «Противоречивые требования» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Prompt Engineering, подпишись на CoddyKit PRO. Курс AI Prompt Engineering содержит 4 уроков всего.
Чему я научусь в уроке «Противоречивые требования»?
Как конфликтующие ограничения сбивают модель с толку и приводят к уклончивым ответам Ты практикуешь AI Prompt Engineering с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AI Prompt Engineering?
Предыдущий опыт не требуется. AI Prompt Engineering на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Противоречивые требования»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AI Prompt Engineering?
Да. Каждый урок AI Prompt Engineering включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Слишком расплывчатые инструкции
- Противоречивые требования
- Ошибки из-за отсутствующего контекста
- Диагностика и исправление неудачных запросов