Эти десять практик работают для разных моделей и задач. Ни одна не зависит от приёма, который может сломать следующий выпуск модели. К каждой приложены короткие «до» и «после», чтобы вы увидели изменение на странице.
1. Ставьте задачу первой
Начните с одного повелительного предложения. Всё, что идёт после, читается как поддержка этой задачи.
- До:
I have a spreadsheet of expenses from last year. - После:
Categorize the expenses below into travel, software, and office.
2. Будьте конкретны в отношении охвата, аудитории и длины
Расплывчатые слова отдают решения модели. Замените их реальными значениями.
- До:
Write a short post about our new feature for users. - После:
Write a 120-word announcement of scheduled exports for existing admins who already use manual exports.
3. Используйте числа для размеров
«Несколько», «кратко» и «подробно» при каждом запуске означают разное. Число и единица делают длину предсказуемой.
- До:
Give me some ideas. - После:
Give me 5 ideas, one sentence each.
4. Говорите, что делать, а не только чего избегать
Список запретов называет всё, чего вы не хотите, и ничего из того, чего хотите. Сопоставляйте каждому «не делай» поведение, которое вы хотите вместо него.
- До:
Don't be too formal. Don't use jargon. - После:
Write in a conversational tone, using words a new customer would know.
5. Указывайте формат вывода
Назовите структуру, а для вывода, который читает машина, — точную схему. Добавьте «верни только JSON», когда больше ничего не должно появляться. Подробнее — в промптах для структурированного вывода.
6. Отделяйте инструкции от ввода
Оборачивайте документы, сообщения пользователей и переменные в чёткие разделители, например XML-подобные теги. Тогда модель отличает данные от инструкций, и фраза внутри данных реже выполняется как команда.
Summarize the email in the tags below in 2 sentences.
<email>
{{email_body}}
</email>
7. Давайте примеры для оценочных суждений
Когда «хорошее» проще показать, чем определить, включите два-три примера. Делайте их разнообразными, чтобы модель выучила закономерность, а не поверхностный признак. См. few-shot-промптинг.
8. Структурируйте длинные промпты
Если текст длиннее примерно одного абзаца, используйте разделы: Задача, Контекст, Требования, Формат вывода, Ввод. Заголовки облегчают модели следование промпту, а человеку — безопасное редактирование.
9. Убирайте то, что не меняет ответ
Приветствия, вежливые обороты и повторяющиеся инструкции добавляют токены, но не информацию. Повторы могут даже навредить: когда два почти одинаковых предложения слегка различаются, модели приходится решать, какое вы имели в виду.
- До:
Hi! Could you please make sure to really focus on accuracy? Please make sure to focus on accuracy. - После:
Prioritize accuracy over completeness.
10. Тестируйте на реальных входных данных и сохраняйте результаты
Промпт готов, когда он прошёл на репрезентативных входных данных и причины сбоев понятны. Сохраните эти данные как тестовый набор и запускайте заново после каждой правки. См. оценку промптов.
Как улучшить ответы ИИ, если промпт работает хуже ожидаемого
Проходите причины в порядке вероятности:
| Симптом | Вероятная причина | Исправление |
|---|---|---|
| Каждый раз другой ответ | Не указан размер или формат | Добавьте числа и формат вывода |
| Общий ответ | Не хватает контекста | Добавьте аудиторию, область и ограничения |
| Игнорируется инструкция | Конфликт или потерялась в длинном абзаце | Устраните конфликт, перенесите в список |
| Не тот тон | Тон описан расплывчато | Покажите пример тона |
| Выдумывает | Просили факты, которых ему не дали | Предоставьте исходный текст и требуйте цитаты |
| Выполняет текст из ввода | Ввод без разделителей | Оберните ввод в теги |
Проверяйте это автоматически
Многие из этих практик можно проверить, не запуская модель. Анализатор промптов PromptFlowEngine отмечает отсутствие цели, расплывчатые формулировки, неколичественные размеры, только запретительные ограничения, отсутствие формата вывода, переменные без разделителей и лишние слова и связывает каждое замечание со справочной страницей с исправленным примером. Оптимизатор промптов применяет практики 8 и 9 за вас и проверяет, что ни одно требование не потеряно.
Далее прочитайте о типичных ошибках промпт-инжиниринга, которые призваны предотвращать эти практики.