Улучшение промпта для нейросети: как бланк с [Имя] стал поздравлением
Улучшение промпта для нейросети на одном поздравлении: что пришло на общий запрос, что предложила сама нейросеть и какие детали сделали ответ живым.
Д
Денис
Продакт LibraChat
6 мин чтения
Мой первый запрос был из трёх слов: «Напиши поздравление коллеге». Ответ пришёл с квадратными скобками вместо имени и повода. Отправлять такое в общий чат нельзя. Переписывать пришлось бы почти с нуля.
Улучшение промпта для нейросети (промпт — это запрос, текст, который ты ей пишешь) я раньше представлял как поиск правильных слов. На деле всё проще и честнее. Улучшить запрос — значит дописать в него то, что знаешь только ты. Нейросеть может подсказать, чего не хватает, но сами подробности ей взять неоткуда.
Общий запрос вернул бланк
Вот с чего я начал:
Напиши поздравление коллеге.
Ответ был вежливым и пустым. Вот его начало:
Дорогой [Имя]! Поздравляю тебя с [повод]! Спасибо за твою работу, надёжность и позитив, который ты приносишь в команду.
Это не поздравление. Это бланк. Имя, повод, детали вынесены в скобки, заполнять мне. Дальше в ответе шли пожелания, которые подходят любому человеку на любой праздник: успехов, интересных задач, чтобы всё складывалось легко.
Одна деталь меня зацепила сильнее скобок. «Дорогой». Мужской род. Я не сказал, кого поздравляю, и нейросеть выбрала за меня. Если коллега — женщина, первое же слово придётся исправлять, а пропустить такое при спешке легко.
Нейросеть тут не виновата. Я дал ей задачу, в которой нет ни одной подробности, и она оставила место для подробностей мне. Скобки ещё честный вариант. Хуже, когда скобки скрыты: вместо «[повод]» приходят пожелания «успехов и здоровья», которые подошли бы кому угодно, и заметить пустоту труднее.
Хорошо. Но каких именно подробностей ей не хватило?
Нейросеть подсказала, чего не хватает
Вместо того чтобы гадать, я спросил саму нейросеть. В новом чате попросил улучшить тот же запрос:
Улучши мой запрос к нейросети, чтобы ответ был точнее, и задай вопросы, если чего-то не хватает: «Напиши поздравление коллеге».
Ответ пришёл из двух частей. Первая часть — «улучшенный запрос», в котором всё снова в скобках: имя, повод, тон, длина, пожелания, сколько лет вместе. По сути, анкета на шесть полей. Заполнять её формально я бы не стал. Получится длинный запрос, который читается как бланк, а нейросеть и так понимает обычную речь.
Вторая часть оказалась полезнее. Это вопросы:
Имя коллеги и пол (он/она)?
Насколько близкие у вас отношения и какой тон предпочтителен?
Первый вопрос ровно про мой «Дорогой». Второй — про то, о чём я сам не подумал: поздравление для близкого коллеги и для человека из соседнего отдела пишется по-разному. Ещё в ответе был вопрос про повод и про детали, которые обязательно включить.
Вот как я использую такие вопросы. Не как форму, а как список того, что я забыл сказать. На каждый вопрос отвечаю одной фразой своими словами, и эти фразы становятся новым запросом.
Отвечать можно и прямо в том же чате: в пределах одного чата LibraChat помнит, о чём шла речь, и вопросы перед глазами. Я для чистоты сравнения собрал ответы в новый запрос и отправил отдельно. Так видно, что сработали именно подробности, а не память переписки.
В анкете из ответа есть и одно поле, которое стоит заполнить обязательно, даже если остальные лень: длина. Поздравление в общий чат и поздравление в открытке — разные тексты. Если длину не назвать, нейросеть выберет её сама и не обязательно угадает, что это сообщение в чат. Для чата я пишу «три-четыре предложения», для открытки — «восемь-десять строк».
Что получилось, когда я так и сделал?
Подробности, которых нет ни в одном шаблоне
Для проверки я взял коллегу с двумя подробностями, у тебя будут свои. Новый запрос написал обычным предложением, ответив на все вопросы сразу:
Напиши короткое поздравление с днём рождения коллеге Тамаре из бухгалтерии для общего чата отдела: мы работаем вместе три года, она всегда спасает отчёты в последний день и печёт лучший в офисе пирог. Тон тёплый, без пафоса, три-четыре предложения.
Это готовый запрос. Имя, отдел и повод замени на свои, а две подробности про человека оставь обязательно, только свои, настоящие. Именно они отличают поздравление от бланка. Этот запрос я отправил в LibraChat с чистого листа, в новом чате.
Ответ стал другим. Совсем. Вот он целиком:
Тамара, с днём рождения! Три года вместе — и ты всегда успеваешь спасти отчёты в последний момент, когда уже кажется, что всё пропало. Ещё и пироги печёшь такие, что в офисе все только о них и говорят. Спасибо за надёжность и тёплую атмосферу, пусть всё складывается легко.
Это уже про Тамару, а не про «[Имя]». Обе подробности из запроса в тексте, и встроены они не списком, а живой фразой. Род правильный, тон тёплый, длина та, что просил.
Подробности я выбирал не случайно. Одна про работу: спасает отчёты. Другая про человека: печёт пирог. Работа показывает, за что коллегу ценят, а пирог — что её знают не только по отчётам. Две подробности разного рода дают поздравлению объём. Две подробности про работу превратили бы его в характеристику для отдела кадров.
Одна фраза мне показалась перебором: про пироги, о которых «в офисе все только о них и говорят». Я писал «лучший в офисе пирог», а не «все только о нём и говорят». Для общего чата отдела такое преувеличение уместно, оно звучит как шутка своих. В письме от имени руководителя или в открытке клиенту я бы его убрал.
Последнее предложение ответа снова общее: спасибо за надёжность, пусть всё складывается легко. Его можно оставить. А можно дописать в запрос третью подробность или попросить закончить пожеланием, связанным с одной из двух: например, чтобы отчёты сдавались вовремя, а пироги не кончались.
Что я теперь пишу в первом же запросе
Улучшать запрос я теперь стараюсь не словами «подробно» и «креативно», а фактами: кто, по какому поводу, что тебя с этим человеком связывает, какой тон, сколько строк. Для рабочего запроса вопросы те же, только звучат иначе: для кого текст, зачем он, что знаешь только ты, каким тоном и какого объёма.