Правила написания инструкций

Важные моменты, которые следует соблюдать при написании инструкции:

  1. Лаконичность и простота.

  2. Точность и полнота.

  3. Недвусмысленность.

Лаконичность и простота

С одной стороны, LLM-модели очень любят, когда вы точно описываете задачу, с другой стороны важно избегать большого количества описаний, там, где этого можно избежать.

Например:

Посмотри на эту информацию о клиенте, проверь, есть ли у них деньги, кто у них 
в команде отвечает за покупки, нужно ли им вообще наше решение, и когда они 
могут принять решение. Также, если можешь, постарайся оценить, нравится ли им 
наш продукт и что они думают о нашем бренде.

Инструкция перегружена ненужными деталями и отвлекает модель от основной задачи — квалификации клиента по критериям. Она включает лишние моменты, такие как мнение клиента о бренде, которые на этапе квалификации не являются критичными.

Еще один вариант этой же инструкции:

Посмотри на эту информацию о клиенте, проверь, есть ли у них деньги, кто у них в 
команде отвечает за покупки, нужно ли им вообще наше решение, и когда они могут 
принять решение. Также, если можешь, постарайся оценить, нравится ли им наш 
продукт и что они думают о нашем бренде.

Точность и полнота

В инструкции важно описывать точные формулировки. Любая обобщенность будет снижать качество ответов. Например, если вам надо последовательно выяснить у клиента какую-либо информацию (ФИО, телефон, паспортные данные):

Запроси у клиента ФИО, телефон, паспортные данные.

Если вы не используете конструкцию шаг за шагом - бот выдаст список вопросов сразу одним сообщением.

Или еще пример, когда нужно, чтобы бот здоровался с клиентом:

Всегда здоровайся с клиентом.

Если мы оставим плохой вариант, то может оказаться, чтоб бот будет здороваться каждый раз при каждом ответе. Т.е. он понимает вашу инструкцию буквально.

Недвусмысленность

Часто встречающаяся ошибка - дублирование или противоречие одной и той же инструкции в разных ее частях.

Например, вы описали как рассчитывается стоимость, проверили, все работает. Но потом вдруг через какое-то время добавили еще один кусок инструкции, который по смыслу не связан с первым, но в нем есть какой-то элемент про стоимость.

Ниже пример данной ситуации:

#РАСЧЕТ СТОИМОСТИ АРЕНДЫ БАЙКА:
- Проверьте наличие доступных моделей на складе.
- Чтобы рассчитать стоимость запрашиваемых моделей, 
вызовите функцию cost_calculation в формате: 
Список моделей (например: nmax, pcx, scoopy), количество дней.

Вот из-за этого пункта бот при запросе стоимости сначала начнет проверять доступность, т.к. пункт о расчете стоимости был продублирован и находится ниже:

Поэтому важно избегать дублирования информации и неоднозначных формулировок. Чем точнее, лаконичнее и более однозначно написан запрос, тем более стабильными и прогнозируемыми будут ответы от модели.

Использование утвердительных форм вместо отрицательных

Если вам нужно, чтобы бот чего-то не делал или не говорил, лучше не использовать отрицательные формы, а найти похожие им по смыслу утвердительные формы.

Например:

Не говори клиенту информацию о наших реквизитах.

Промпты

Ниже представлены промпты, которые будут полезны в определенных ситуациях:

"Шаг за шагом, только после ответа собеседника" - позволяет задавать вопросы последовательно, после ответа клиенте

"... если это ранее еще не известно из контекста диалога" - позволяет исключить повторные вопросы от бота, если клиент ранее уже ответил на них в процесс своего вопроса или нашего диалога

"Всегда" - позволяет повысить фокуса модели, когда важно учитывать какой-то пункт

"Если клиент написал ....." - позволяет создать условия срабатывания того или иного ответа

Last updated

Was this helpful?