Большинство сбоев промптов вызвано небольшим набором повторяющихся ошибок. У каждой из них ниже есть узнаваемый симптом, исправление и ссылка на правило PromptFlowEngine, которое её обнаруживает, с примером срабатывания и исправленным промптом.
Ошибки ясности
1. Не указана цель
Промпт описывает материал и нигде не говорит, что с ним делать. Модель гадает: резюмировать, анализировать или переписывать.
Исправление: начните с глагола в повелительном наклонении, называющего результат. Справка: отсутствует цель.
2. Расплывчатые формулировки
Слова вроде «что-то», «всякое» и «и т. д.» просят модель придумывать детали.
Исправление: перечислите реальные пункты. Если список открытый, ограничьте его: «не более 3 из этих». Справка: расплывчатые формулировки.
3. Смягчённые инструкции
«Постарайся», «если возможно» и «может быть» превращают требование в совет, и модель считает его необязательным.
Исправление: сформулируйте это как требование или скажите, когда именно оно применяется. Справка: смягчённые инструкции.
4. Только запретительные ограничения
Промпт из одних «не делай» говорит модели, чего избегать, и ничего не говорит о том, что создавать.
Исправление: сопоставьте каждому запрету желаемое поведение. Справка: только запретительные ограничения.
Ошибки конкретности
5. Размеры без чисел
«Короткий», «несколько» и «подробный» меняются от запуска к запуску, что ломает вёрстку и парсеры.
Исправление: используйте число и единицу, например «до 150 слов». Справка: неколичественный размер.
6. Нет формата вывода
Без формата модель выбирает между прозой, пунктами и таблицей, причём каждый раз по-разному.
Исправление: укажите структуру, а если результат читает код, то и схему. Справка: не указан формат вывода и не указана длина.
7. Ссылки на то, чего нет
«Исправь баг выше» или «используй приложенный файл» в промпте, где нет ни того ни другого.
Исправление: включите материал или укажите, куда он будет вставлен. Справка: неясная ссылка.
Ошибки согласованности
8. Противоречивые инструкции
«Будь краток, но подробен». В длинных промптах, которые правят несколько человек, такое накапливается. Модель разрешает конфликт сама и непредсказуемо.
Исправление: определите приоритет и скажите о нём: «Будь краток. Если краткость и точность конфликтуют, выбирай точность». Справка: противоречивые инструкции.
9. Повторы
Повторить что-то дважды для выразительности стоит токенов. Повторить дважды с чуть иной формулировкой — значит создать неопределённость, какая версия считается.
Исправление: формулируйте каждую инструкцию один раз, в том разделе, которому она принадлежит. Справка: дублирующиеся инструкции и почти дублирующиеся инструкции.
Ошибки структуры
10. Стена текста
Один длинный абзац, в котором смешаны задача, контекст, правила и ввод. Инструкции, затерянные посередине, получают меньший вес, а следующий редактор ничего не может найти.
Исправление: разбейте на Задачу, Контекст, Требования, Формат вывода и Ввод. Справка: стена текста.
Ошибки безопасности
11. Пользовательский ввод без разделителей
Переменная шаблона, помещённая прямо в инструкции, позволяет всему, что вводит пользователь, читаться как часть инструкций.
Translate this to French: {{user_text}}
Исправление: оберните переменную в теги и скажите модели, что в тегах находятся данные. Справка: переменная без разделителей. Подробнее: инъекция в промпт.
12. Секреты и персональные данные в промпте
Ключ API в вставленной конфигурации, пароль в журнале, адрес электронной почты клиента в заявке. После отправки это оказывается в системах третьей стороны.
Исправление: маскируйте перед отправкой и не храните учётные данные в файлах промптов. Справка: чувствительные данные. Подробнее: обнаружение персональных данных и секретов в промптах.
Ошибки процесса, которые правила не ловят
- Проверка на одном входе. Промпт, который работает на вашем примере, может сломаться на реальном трафике. Соберите небольшой тестовый набор. См. оценку промптов.
- Изменение нескольких вещей сразу. Когда результат меняется, вы не знаете почему. Меняйте что-то одно за итерацию.
- Отсутствие версий промптов. Если промпт живёт только в окне чата, откатить его нельзя. См. управление промптами.
- Набивание контекстного окна. Больше контекста — не всегда лучше. См. оптимизацию токенов.
Найдите их в собственных промптах
Вставьте промпт в анализатор промптов PromptFlowEngine. Он применит все перечисленные выше правила, процитирует текст, вызвавший каждое замечание, и предложит исправление. В полном каталоге правил перечислены все.